1. 21 Nov, 2013 11 commits
    • rniwa@webkit.org's avatar
      Fix Range.insertNode when the inserted node is in the same container as the Range · ac3262b8
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=123957
      
      Reviewed by Antti Koivisto.
      
      Source/WebCore:
      
      Inspired by https://chromium.googlesource.com/chromium/blink/+/fb6ca1f488703e8d4f20ce6449cc8ea210be6edb
      
      When a node from the same container is inserted, we can't simply adjust m_end with the offset.
      Compute m_start and m_end from the inserted nodes instead.
      
      Also, don't adjust m_start and m_end to nodes outside of the document if the inserted nodes had been
      removed by mutation events.
      
      Test: fast/dom/Range/range-insertNode-same-container.html
      
      * dom/Range.cpp:
      (WebCore::Range::insertNode):
      
      LayoutTests:
      
      Merge https://chromium.googlesource.com/chromium/blink/+/fb6ca1f488703e8d4f20ce6449cc8ea210be6edb
      
      Used better labels between divs, and added more evalAndLog and shouldBe so that
      the expected result is self-explanatory.
      
      * fast/dom/Range/range-insertNode-same-container-expected.txt: Added.
      * fast/dom/Range/range-insertNode-same-container.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac3262b8
    • rniwa@webkit.org's avatar
      nextBoundary and previousBoundary are very slow when there is a password field · 5aad18fd
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=123973
      
      Reviewed by Antti Koivisto.
      
      Source/WebCore:
      
      Merge https://chromium.googlesource.com/chromium/blink/+/57366eec5e3edea54062d4e74c0e047f8681dbad
      
      When iterating through DOM nodes nextBoundary and previousBoundary convert the contents of nodes using
      text security to a sequence of 'x' characters. The SimplifiedBackwardsTextIterator and TextIterator
      may iterate past node boundaries. Before this patch, the transformation was done looking at the starting
      node rather than the current node. In some situations, this replaced all boundaries with 'x' and caused
      the text iterator to continue iterating and transforming until the extent of the document.
      
      Test: editing/deleting/password-delete-performance.html
      
      * editing/TextIterator.h:
      (WebCore::SimplifiedBackwardsTextIterator::node):
      * editing/VisibleUnits.cpp:
      (WebCore::previousBoundary):
      (WebCore::nextBoundary):
      
      LayoutTests:
      
      * editing/deleting/password-delete-performance-expected.txt: Added.
      * editing/deleting/password-delete-performance.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5aad18fd
    • rniwa@webkit.org's avatar
      HTML parser should not associate elements inside templates with forms · 46a188fe
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=117779
      
      Reviewed by Antti Koivisto.
      
      Source/WebCore:
      
      Merge https://chromium.googlesource.com/chromium/blink/+/45aadf7ee7ee010327eb692066cf013315ef3ed7
      
      When parsing <form><template><input>, the previous behavior was to associate the <input> with the <form>,
      even though they're not in the same tree (or even the same document).
      
      This patch changes that by checking, prior to creating a form control element, whether the element to be
      created lives in a document with a browsing context.
      
      We don't update m_form as needed to faithfully match the HTML5 specification's form element pointer
      http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#form-element-pointer
      and its algorithm for creating and inserting nodes:
      http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#creating-and-inserting-nodes
      
      While this leaves isindex's reference to form element pointer stale:
      http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#isindex
      The HTML5 specification matches the behaviors of Chrome and Firefox so we leave it as is.
      
      Test: fast/dom/HTMLTemplateElement/no-form-association.html
      
      * html/parser/HTMLConstructionSite.cpp:
      (WebCore::HTMLConstructionSite::createHTMLElement):
      
      LayoutTests:
      
      * fast/dom/HTMLTemplateElement/no-form-association-expected.txt: Added.
      * fast/dom/HTMLTemplateElement/no-form-association.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46a188fe
    • rniwa@webkit.org's avatar
      PerfTestRunner._generate_results_dict shouldn't depend on test objects · 75d2557f
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124623
      
      Removed the dependency on test objects from results JSON generation.
      This allows single test.run to return metrics for multiple tests
      
      Reviewed by Antti Koivisto.
      
      * Scripts/webkitpy/performance_tests/perftest.py:
      (PerfTestMetric.__init__): Takes the test path and test name.
      (PerfTestMetric.path): Added.
      (PerfTestMetric.test_file_name): Added.
      (PerfTest.run): Accumulate PerfTestMetric objects instead of raw values.
      (PerfTest._ensure_metrics): Instantiate PerfTestMetric with the test path and test name.
      The path is going to have the names of subtests at the end once we support them.
      
      * Scripts/webkitpy/performance_tests/perftest_unittest.py:
      (TestPerfTestMetric.test_init_set_missing_unit): Specify the test path and test name.
      (TestPerfTestMetric.test_init_set_time_metric): Ditto.
      (TestPerfTestMetric.test_has_values): Ditto.
      (TestPerfTestMetric.test_append): Ditto.
      
      * Scripts/webkitpy/performance_tests/perftestsrunner.py:
      (_generate_results_dict): Only use metrics.
      (_run_tests_set): Accumulate metrics as supposed to (test, metrics) pairs.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      75d2557f
    • rego@igalia.com's avatar
      REGRESSION(r159599): webkitdirs.pm spits out warnings at lines 851 and 852 · 926aa30f
      rego@igalia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124697
      
      Reviewed by Ryosuke Niwa.
      
      * Scripts/webkitdirs.pm:
      (checkForArgumentAndRemoveFromARGVGettingValue): Fix check of array size
      before trying to access to the first element.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      926aa30f
    • carlosgc@webkit.org's avatar
      [GTK] Cannot scroll in option menu when it larger than the screen · c032a115
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124671
      
      Reviewed by Martin Robinson.
      
      The problem is that the popup menu is not resized to fit in the
      screen, so it doesn't scroll and some of the items are offscreen
      so they can't be selected either. GTK+ automatically resizes the
      popup menus to fit in the work area, but only when the menu is
      already positioned.
      
      * platform/gtk/GtkPopupMenu.cpp:
      (WebCore::GtkPopupMenu::popUp): Schedule a resize of the popup
      menu right after showing it once it has a position.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c032a115
    • carlosgc@webkit.org's avatar
      [GTK] Mark all deprecated symbols in GObject DOM bindings · 50d007c9
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124406
      
      Reviewed by Gustavo Noronha Silva.
      
      Source/WebCore:
      
      Move deprecated API from WebKitDOMCustom to a new file
      WebKitDOMDeprecated leaving in WebKitDOMCustom only the
      non-deprecated API that is not autogenerated. Also added the
      deprecation decorations and tags in the documentation.
      
      * bindings/gobject/GNUmakefile.am:
      * bindings/gobject/WebKitDOMCustom.cpp:
      * bindings/gobject/WebKitDOMCustom.h:
      * bindings/gobject/WebKitDOMCustom.symbols:
      * bindings/gobject/WebKitDOMDeprecated.cpp: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp.
      (webkit_dom_blob_webkit_slice):
      (webkit_dom_html_element_get_id):
      (webkit_dom_html_element_set_id):
      (webkit_dom_html_element_get_class_name):
      (webkit_dom_html_element_set_class_name):
      (webkit_dom_html_element_get_class_list):
      (webkit_dom_html_form_element_dispatch_form_change):
      (webkit_dom_html_form_element_dispatch_form_input):
      (webkit_dom_webkit_named_flow_get_overflow):
      (webkit_dom_element_get_webkit_region_overflow):
      (webkit_dom_webkit_named_flow_get_content_nodes):
      (webkit_dom_webkit_named_flow_get_regions_by_content_node):
      (webkit_dom_bar_info_get_property):
      (webkit_dom_bar_info_class_init):
      (webkit_dom_bar_info_init):
      (webkit_dom_bar_info_get_visible):
      (webkit_dom_console_get_memory):
      (webkit_dom_css_style_declaration_get_property_css_value):
      (webkit_dom_document_get_webkit_hidden):
      (webkit_dom_document_get_webkit_visibility_state):
      (webkit_dom_html_document_open):
      (webkit_dom_html_element_set_item_id):
      (webkit_dom_html_element_get_item_id):
      (webkit_dom_html_element_get_item_ref):
      (webkit_dom_html_element_get_item_prop):
      (webkit_dom_html_element_set_item_scope):
      (webkit_dom_html_element_get_item_scope):
      (webkit_dom_html_element_get_item_type):
      (webkit_dom_html_style_element_set_scoped):
      (webkit_dom_html_style_element_get_scoped):
      (webkit_dom_html_properties_collection_get_property):
      (webkit_dom_html_properties_collection_class_init):
      (webkit_dom_html_properties_collection_init):
      (webkit_dom_html_properties_collection_item):
      (webkit_dom_html_properties_collection_named_item):
      (webkit_dom_html_properties_collection_get_length):
      (webkit_dom_html_properties_collection_get_names):
      (webkit_dom_node_get_attributes):
      (webkit_dom_node_has_attributes):
      (webkit_dom_memory_info_get_property):
      (webkit_dom_memory_info_class_init):
      (webkit_dom_memory_info_init):
      (webkit_dom_memory_info_get_total_js_heap_size):
      (webkit_dom_memory_info_get_used_js_heap_size):
      (webkit_dom_memory_info_get_js_heap_size_limit):
      (webkit_dom_micro_data_item_value_class_init):
      (webkit_dom_micro_data_item_value_init):
      (webkit_dom_performance_get_memory):
      (webkit_dom_property_node_list_get_property):
      (webkit_dom_property_node_list_class_init):
      (webkit_dom_property_node_list_init):
      (webkit_dom_property_node_list_item):
      (webkit_dom_property_node_list_get_length):
      (webkit_dom_html_media_element_get_start_time):
      (webkit_dom_html_media_element_get_initial_time):
      (webkit_dom_html_head_element_get_profile):
      (webkit_dom_html_head_element_set_profile):
      (webkit_dom_processing_instruction_get_data):
      (webkit_dom_processing_instruction_set_data):
      * bindings/gobject/WebKitDOMDeprecated.h: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.h.
      * bindings/gobject/WebKitDOMDeprecated.symbols: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols.
      * bindings/scripts/CodeGeneratorGObject.pm:
      (GenerateFunction): Do not include deprecation guards in the cpp file.
      * bindings/scripts/gobject-generate-headers.pl: Do not create
      fordward declarations for non-existent classes like Custom and
      Deprecated.
      * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
      (webkit_dom_test_event_target_dispatch_event):
      
      Tools:
      
      * Scripts/webkitpy/style/checker.py: Add special case for
      WebKitDOMDeprecated.
      * gtk/generate-gtkdoc:
      (get_webkit2_options): Use the prefix of the methods as namespace,
      since this is what gtkdoc expects to sort the index.
      (get_webkit1_options): Ditto.
      (get_webkitdom_options): Ditto.
      * gtk/generate-webkitdom-doc-files:
      (WebKitDOMDocGenerator): Add a global list of deleted objects.
      (WebKitDOMDocGenerator.write_deleted_classes): New method to write
      the documentation for classes that are deprecated because they
      have been removed.
      (WebKitDOMDocGeneratorDocs.write_deleted_classes): Add sections
      for deleted classes too.
      (WebKitDOMDocGeneratorSections.__init__): Build a list of
      deprecated symbols using the given symbols file.
      (WebKitDOMDocGeneratorSections._deleted_class): Returns the
      deleted class corresponding to the given function.
      (WebKitDOMDocGeneratorSections._deprecated_symbols): Builds a
      dictionary of deprecated symbols for every class.
      (WebKitDOMDocGeneratorSections.write_section): Add also the
      deprecated symbols in every section.
      (WebKitDOMDocGeneratorSections.write_deleted_classes): Add
      sections for deleted classes too.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      50d007c9
    • jae.park@company100.net's avatar
      [CoordinatedGraphics] Use std::unique_ptrs rather than OwnPtrs · 6c1133d4
      jae.park@company100.net authored
      https://bugs.webkit.org/show_bug.cgi?id=124692
      
      Reviewed by Noam Rosenthal.
      
      No new tests, covered by existing ones.
      
      * platform/graphics/TiledBackingStore.cpp:
      (WebCore::TiledBackingStore::TiledBackingStore):
      * platform/graphics/TiledBackingStore.h:
      * platform/graphics/TiledBackingStoreBackend.h:
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
      (WebCore::CoordinatedGraphicsLayer::createBackingStore):
      * platform/graphics/texmap/coordinated/CoordinatedTile.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c1133d4
    • commit-queue@webkit.org's avatar
      check-webkit-style should support C++11 rvalue references. · 7e710c2c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=123406
      
      Patch by László Langó <lango@inf.u-szeged.hu> on 2013-11-20
      Reviewed by Brent Fulgham.
      
      * Scripts/webkitpy/style/checkers/cpp.py:
      (check_style):
      * Scripts/webkitpy/style/checkers/cpp_unittest.py:
      (Cpp11StyleTest):
      (Cpp11StyleTest.test_rvaule_reference_at_end_of_line):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e710c2c
    • beidson@apple.com's avatar
      Add more infrastructure for ServerConnection communication between Web and Database processes · 09bfc131
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124693
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore:
      
      * WebCore.exp.in:
      
      Source/WebKit2:
      
      * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
      (WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
      (WebKit::DatabaseToWebProcessConnection::removeDatabaseProcessIDBConnection): Added for WebProcess to be able
        to invalidate the DatabaseProcess side of a server connection.
      * DatabaseProcess/DatabaseToWebProcessConnection.h:
      * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
      
      * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
      (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
      (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess): Added for future cleanup.
      (WebKit::DatabaseProcessIDBConnection::establishConnection):
      (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Callback to the WebProcess, even if
        it is just dummy data for now.
      * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
      (WebKit::DatabaseProcessIDBConnection::create):
      
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
      (WebKit::WebIDBServerConnection::create): Register the new object with the WebToDatabaseProcessConnection.
      (WebKit::WebIDBServerConnection::~WebIDBServerConnection): Remove from the WebToDatabaseProcessConnection.
      (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
      (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): Callback from the DatabaseProcess,
        a no-op for now.
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: Copied from Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.messages.in.
      
      * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
      (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
      (WebKit::WebToDatabaseProcessConnection::didClose):
      (WebKit::WebToDatabaseProcessConnection::registerWebIDBServerConnection): Hold a collection of all
        server connections for messaging.
      (WebKit::WebToDatabaseProcessConnection::removeWebIDBServerConnection): Remove a connection from the collection,
        and also message the DatabaseProcess that it’s gone away.
      * WebProcess/Databases/WebToDatabaseProcessConnection.h:
      
      Project files, etc etc:
      * DerivedSources.make:
      * Scripts/webkit2/messages.py:
      (struct_or_class):
      * WebKit2.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      09bfc131
    • rniwa@webkit.org's avatar
      Hoist <template> to head when found between </head> and <body> for consistency with <script> · b21553c0
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=123949
      
      Reviewed by Antti Koivisto.
      
      Source/WebCore:
      
      Merge https://chromium.googlesource.com/chromium/blink/+/835fb468fd211054a920fb7612a6dc5043662495
      
      Move template elements between head and body elements into the head to be consistent with script elements.
      The HTML5 specification was changed in http://html5.org/tools/web-apps-tracker?from=8217&to=8218.
      
      Inline comments below are cited from https://www.w3.org/Bugs/Public/show_bug.cgi?id=23002
      and https://codereview.chromium.org/25900003 for clarity.
      
      * html/parser/HTMLTreeBuilder.cpp:
      (WebCore::HTMLTreeBuilder::processStartTag): Add the template element to the list of elements to be hoisted into
      the head element.
      (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
      
      Replace the assertion that isParsingFragment is true when item->node() == m_tree.openElements()->rootNode() since,
      with this change, we can now invoke resetInsertionMode when parsing a normal document (not fragment) and there is
      only the html element on the stack of open elements.
      
      For the second change, consider: <head></head><template>
      
      This example breaks in the old HTML parser because the template element is handled by "after head" state which
      pushes the head element back on, processes the template element for "in head", then pops the head element off.
      EOF is reached, which processes a fake close tag for the template element, which pops the template element off
      and resets the insertion mode appropriately
      
      The problem here is that "reset the insertion mode" is going to inspect the bottom-most element on the stack which
      is now the html element and it will set the mode to "before head". Nothing good happens after this.
      
      We fix this problem by having the reset algorithm check if the head element pointer is set, and if so, go to after
      head instead of before head.
      
      LayoutTests:
      
      Merge https://chromium.googlesource.com/chromium/blink/+/835fb468fd211054a920fb7612a6dc5043662495
      and added two more test cases discussed in https://www.w3.org/Bugs/Public/show_bug.cgi?id=23002.
      
      * html5lib/resources/template.dat:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b21553c0
  2. 20 Nov, 2013 29 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
    • andersca@apple.com's avatar
      Enable PageLoadTest assertions again · 29331219
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124681
      
      Reviewed by Tim Horton.
      
      Source/WebKit2:
      
      Remove an overzealous assertion and re-enable assertions in PageLoadState again.
      
      * UIProcess/PageLoadState.cpp:
      (WebKit::PageLoadState::didCommitLoad):
      Remove assertion - it's fine for a page to have a null URL.
      
      (WebKit::PageLoadState::didFinishLoad):
      Ditto.
      
      (WebKit::PageLoadState::didFailLoad):
      Update the state.
      
      Tools:
      
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      Actually install all-content-in-one-iframe.html, noticed while debugging this assertion.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      29331219
    • bjonesbe@adobe.com's avatar
      [css shapes] Parse new circle shape syntax · 625770e7
      bjonesbe@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124618
      
      Reviewed by Antti Koivisto.
      
      Source/WebCore:
      
      Implement parsing of the new cicle shape syntax. The implementation of
      the old syntax has been move aside as deprecated, and will be removed
      once the new syntax is stable.
      
      Updated existing parsing tests to cover this.
      
      * css/BasicShapeFunctions.cpp:
      (WebCore::valueForCenterCoordinate): Create a CSSPrimitiveValue from a
          BasicShapeCenterCoordinate.
      (WebCore::valueForBasicShape): Convert new basic shape and rename old
          one.
      (WebCore::convertToCenterCoordinate): Create a
          BasicShapeCenterCoordinate from a CSSPrimitiveValue.
      (WebCore::basicShapeForValue): Convert new shape value and rename old
          one.
      * css/CSSBasicShapes.cpp:
      (WebCore::buildCircleString): Build a new circle string.
      (WebCore::CSSBasicShapeCircle::cssText): Serialize the new circle
          shape.
      (WebCore::CSSBasicShapeCircle::equals): Compare new circle shapes.
      (WebCore::CSSBasicShapeCircle::serializeResolvingVariables):
      * css/CSSBasicShapes.h:
      (WebCore::CSSBasicShapeCircle::CSSBasicShapeCircle): Add class for new
          circle shape.
      (WebCore::CSSDeprecatedBasicShapeCircle::create): Renamed to move out
          of the way of the new circle implementation.
      (WebCore::CSSDeprecatedBasicShapeCircle::centerX): Ditto.
      (WebCore::CSSDeprecatedBasicShapeCircle::centerY): Ditto.
      (WebCore::CSSDeprecatedBasicShapeCircle::radius): Ditto.
      (WebCore::CSSDeprecatedBasicShapeCircle::setCenterX): Ditto.
      (WebCore::CSSDeprecatedBasicShapeCircle::setCenterY): Ditto.
      (WebCore::CSSDeprecatedBasicShapeCircle::setRadius): Ditto.
      (WebCore::CSSDeprecatedBasicShapeCircle::CSSDeprecatedBasicShapeCircle): Ditto.
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseShapeRadius): Parse the radius for the new
          circle syntax. Will also be used by the new ellipse syntax.
      (WebCore::CSSParser::parseBasicShapeCircle): Parse the new circle
          syntax.
      (WebCore::CSSParser::parseDeprecatedBasicShapeCircle): Rename to make
          way for the new implementation.
      (WebCore::isDeprecatedBasicShape): Check if we have a new circle or an
          old circle.
      (WebCore::CSSParser::parseBasicShape): Update to parse the new circle
          syntax.
      * css/CSSParser.h:
      * css/CSSValueKeywords.in: Add support for the new circle keywords.
      * rendering/shapes/Shape.cpp:
      (WebCore::Shape::createShape):
      * rendering/style/BasicShapes.cpp: Deprecate old circle and add stub
          for layout code.
      (WebCore::DeprecatedBasicShapeCircle::path): Rename to make way for
          the new implementation.
      (WebCore::DeprecatedBasicShapeCircle::blend): Rename to make way for
          the new implementation.
      (WebCore::BasicShapeCircle::path): Create path for new circle shape.
      (WebCore::BasicShapeCircle::blend): Interpolate the new circle shape.
      * rendering/style/BasicShapes.h:
      (WebCore::BasicShapeCenterCoordinate::BasicShapeCenterCoordinate):
          Represent an x or y coordinate for the center of a new circle,
          since it can be either a keyword along with an offset that cannot
          be resolved until layout time or an ordinary Length. This will
          also be used by the new ellipse implementation.
      (WebCore::BasicShapeCenterCoordinate::keyword):
      (WebCore::BasicShapeCenterCoordinate::length):
      (WebCore::BasicShapeCenterCoordinate::blend): Interpolate.
      (WebCore::BasicShapeRadius::BasicShapeRadius): Represent the radius of
          a new circle shape since it can either be a straightforward Length or
          a keyword that cannot be resolved until layout time.
      (WebCore::BasicShapeRadius::value):
      (WebCore::BasicShapeRadius::type):
      (WebCore::BasicShapeRadius::blend): Interpolate.
      (WebCore::BasicShapeCircle::centerX):
      (WebCore::BasicShapeCircle::centerY):
      (WebCore::BasicShapeCircle::radius):
      (WebCore::BasicShapeCircle::setCenterX):
      (WebCore::BasicShapeCircle::setCenterY):
      (WebCore::BasicShapeCircle::setRadius):
      (WebCore::BasicShapeCircle::BasicShapeCircle): New circle class.
      (WebCore::DeprecatedBasicShapeCircle::create): Rename to make room for
          new circle implementation.
      (WebCore::DeprecatedBasicShapeCircle::DeprecatedBasicShapeCircle): Ditto.
      
      LayoutTests:
      
      Test that the new circle shape syntax is properly parsed.
      
      * fast/shapes/parsing/parsing-shape-inside-expected.txt:
      * fast/shapes/parsing/parsing-shape-outside-expected.txt:
      * fast/shapes/parsing/parsing-test-utils.js:
      * fast/masking/parsing-clip-path-shape-expected.txt:
      * fast/masking/parsing-clip-path-shape.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      625770e7
    • andersca@apple.com's avatar
      PageLoadState should keep track of unreachable URLs · 14909b91
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124677
      
      Reviewed by Dan Bernstein.
      
      * UIProcess/PageLoadState.cpp:
      (WebKit::PageLoadState::reset):
      (WebKit::PageLoadState::didStartProvisionalLoad):
      (WebKit::PageLoadState::didFailProvisionalLoad):
      (WebKit::PageLoadState::setUnreachableURL):
      * UIProcess/PageLoadState.h:
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::loadAlternateHTMLString):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159584 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      14909b91
    • hmuller@adobe.com's avatar
      [CSS Shapes] Add BoxShape and FloatRoundingRect classes · d815da18
      hmuller@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124368
      
      Reviewed by Dean Jackson.
      
      Added the BoxShape class. It's now used to represent shape-outside box
      values: [margin/border/padding/content]-box. BoxShape depends on a new
      FloatRoundedRect class, which is a float analog of the existing (int)
      RoundedRect class. The FloatRoundedRect class contains the same basic
      methods and accessors as BorderRect and adds a set of four methods,
      for example topLeftCorner(), that return a FloatRect that represents the
      bounds of one elliptical corner. I also added a method, xInterceptsAtY()
      that returns two X coordinates of the intersection between a horizontal
      line and the rounded rectangle.
      
      No new tests, this is just an internal refactoring.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * platform/graphics/FloatRoundedRect.cpp: Added.
      (WebCore::FloatRoundedRect::FloatRoundedRect):
      (WebCore::FloatRoundedRect::Radii::isZero):
      (WebCore::FloatRoundedRect::Radii::scale):
      (WebCore::FloatRoundedRect::Radii::expand):
      (WebCore::cornerRectIntercept):
      (WebCore::FloatRoundedRect::xInterceptsAtY):
      * platform/graphics/FloatRoundedRect.h: Added.
      (WebCore::FloatRoundedRect::Radii::Radii):
      (WebCore::FloatRoundedRect::Radii::setTopLeft):
      (WebCore::FloatRoundedRect::Radii::setTopRight):
      (WebCore::FloatRoundedRect::Radii::setBottomLeft):
      (WebCore::FloatRoundedRect::Radii::setBottomRight):
      (WebCore::FloatRoundedRect::Radii::topLeft):
      (WebCore::FloatRoundedRect::Radii::topRight):
      (WebCore::FloatRoundedRect::Radii::bottomLeft):
      (WebCore::FloatRoundedRect::Radii::bottomRight):
      (WebCore::FloatRoundedRect::Radii::expand):
      (WebCore::FloatRoundedRect::Radii::shrink):
      (WebCore::FloatRoundedRect::rect):
      (WebCore::FloatRoundedRect::radii):
      (WebCore::FloatRoundedRect::isRounded):
      (WebCore::FloatRoundedRect::isEmpty):
      (WebCore::FloatRoundedRect::setRect):
      (WebCore::FloatRoundedRect::setRadii):
      (WebCore::FloatRoundedRect::move):
      (WebCore::FloatRoundedRect::inflate):
      (WebCore::FloatRoundedRect::expandRadii):
      (WebCore::FloatRoundedRect::shrinkRadii):
      (WebCore::FloatRoundedRect::topLeftCorner):
      (WebCore::FloatRoundedRect::topRightCorner):
      (WebCore::FloatRoundedRect::bottomLeftCorner):
      (WebCore::FloatRoundedRect::bottomRightCorner):
      (WebCore::operator==):
      * rendering/shapes/BoxShape.cpp: Added.
      (WebCore::BoxShape::BoxShape):
      (WebCore::BoxShape::getExcludedIntervals):
      (WebCore::BoxShape::getIncludedIntervals):
      (WebCore::BoxShape::firstIncludedIntervalLogicalTop):
      * rendering/shapes/BoxShape.h: Added.
      * rendering/shapes/Shape.cpp:
      (WebCore::createBoxShape):
      (WebCore::Shape::createShape):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159583 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d815da18
    • timothy_horton@apple.com's avatar
      Remote Layer Tree: 100% repro crasher on the IPC thread when creating lots of layers · 83c770bb
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124643
      
      Reviewed by Anders Carlsson.
      
      * Platform/CoreIPC/mac/ConnectionMac.cpp:
      (CoreIPC::Connection::sendOutgoingMessage):
      Dynamically allocate storage for the message if needed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159582 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83c770bb
    • timothy_horton@apple.com's avatar
      machMessageSize uses sizeof(mach_msg_ool_ports_descriptor_t) for out-of-line *memory* · 71a38466
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124644
      
      Reviewed by Anders Carlsson.
      
      * Platform/CoreIPC/mac/ConnectionMac.cpp:
      (CoreIPC::machMessageSize):
      mach_msg_ool_descriptor_t is the correct type, given that
      out-of-line memory descriptors use the mach_msg_ool_descriptor_t
      member of the mach_msg_descriptor_t union.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71a38466
    • dino@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=124637 · 1ad6d420
      dino@apple.com authored
      Unreviewed. Adding HTMLTemplateElement to global constructor
      test, but this time for more platforms. I'm not sure if
      GTK and EFL need this too.
      
      * platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
      * platform/mac/js/dom/global-constructors-attributes-expected.txt:
      * platform/win/js/dom/global-constructors-attributes-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ad6d420
    • antti@apple.com's avatar
      Simple line layout should support floats · 01a04124
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124666
      
      Reviewed by Dave Hyatt.
      
      Source/WebCore: 
      
      Tests: fast/text/simple-lines-float-compare.html
             fast/text/simple-lines-float.html
      
      * rendering/line/LineWidth.h:
      (WebCore::LineWidth::logicalLeftOffset):
              
          Expose the left offset so we don't need to recompute it.
      
      * rendering/SimpleLineLayout.cpp:
      (WebCore::SimpleLineLayout::canUseFor):
      (WebCore::SimpleLineLayout::computeLineLeft):
              
          Include the left offset from floats.
      
      (WebCore::SimpleLineLayout::createTextRuns):
              
          Keep the flow height updated during the loop as LineWidth reads the current position from there.
      
      * rendering/SimpleLineLayoutResolver.h:
      (WebCore::SimpleLineLayout::RunResolver::Run::rect):
      (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
      (WebCore::SimpleLineLayout::RunResolver::RunResolver):
      (WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
              
          We now bake the border and the padding to the line left offset. No need to add it during resolve.
      
      LayoutTests: 
      
      * fast/text/simple-lines-float-compare-expected.html: Added.
      * fast/text/simple-lines-float-compare.html: Added.
      * fast/text/simple-lines-float-expected.html: Added.
      * fast/text/simple-lines-float.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159579 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01a04124
    • ap@apple.com's avatar
      Use std::function callbacks in CryptoAlgorithm instead of JS promises · c1767f0a
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124673
      
      Reviewed by Anders Carlsson.
      
      To implement key wrapping/unwrapping, we'll need to chain existing operations.
      It's much easier to do with C++ callbacks than with functions fulfilling JS
      promises directly.
      
      Also, this will decouple CryptoAlgorithm from JS, which is nice.
      
      SubtleCrypto IDL says that all functions return Promise<any>, but in reality,
      there is very little polymorphism, the only function whose return type depends
      on algorithm is generateKey (it can create a Key or a KeyPair).
      
      * bindings/js/JSDOMPromise.cpp:
      (WebCore::PromiseWrapper::PromiseWrapper):
      (WebCore::PromiseWrapper::operator=):
      * bindings/js/JSDOMPromise.h:
      Made it copyable, as each crypto function wraps the promise in success and failure
      functional objects now.
      
      * bindings/js/JSSubtleCryptoCustom.cpp:
      (WebCore::JSSubtleCrypto::encrypt):
      (WebCore::JSSubtleCrypto::decrypt):
      (WebCore::JSSubtleCrypto::sign):
      (WebCore::JSSubtleCrypto::verify):
      (WebCore::JSSubtleCrypto::digest):
      (WebCore::JSSubtleCrypto::generateKey):
      (WebCore::JSSubtleCrypto::importKey):
      (WebCore::JSSubtleCrypto::exportKey):
      * crypto/CryptoAlgorithm.cpp:
      (WebCore::CryptoAlgorithm::encrypt):
      (WebCore::CryptoAlgorithm::decrypt):
      (WebCore::CryptoAlgorithm::sign):
      (WebCore::CryptoAlgorithm::verify):
      (WebCore::CryptoAlgorithm::digest):
      (WebCore::CryptoAlgorithm::generateKey):
      (WebCore::CryptoAlgorithm::deriveKey):
      (WebCore::CryptoAlgorithm::deriveBits):
      (WebCore::CryptoAlgorithm::importKey):
      * crypto/CryptoAlgorithm.h:
      * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
      (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
      (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
      * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
      (WebCore::CryptoAlgorithmAES_CBC::generateKey):
      (WebCore::CryptoAlgorithmAES_CBC::importKey):
      * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
      * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
      (WebCore::CryptoAlgorithmHMAC::generateKey):
      (WebCore::CryptoAlgorithmHMAC::importKey):
      * crypto/algorithms/CryptoAlgorithmHMAC.h:
      * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
      (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
      (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
      * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
      * crypto/algorithms/CryptoAlgorithmSHA1.cpp:
      (WebCore::CryptoAlgorithmSHA1::digest):
      * crypto/algorithms/CryptoAlgorithmSHA1.h:
      * crypto/algorithms/CryptoAlgorithmSHA224.cpp:
      (WebCore::CryptoAlgorithmSHA224::digest):
      * crypto/algorithms/CryptoAlgorithmSHA224.h:
      * crypto/algorithms/CryptoAlgorithmSHA256.cpp:
      (WebCore::CryptoAlgorithmSHA256::digest):
      * crypto/algorithms/CryptoAlgorithmSHA256.h:
      * crypto/algorithms/CryptoAlgorithmSHA384.cpp:
      (WebCore::CryptoAlgorithmSHA384::digest):
      * crypto/algorithms/CryptoAlgorithmSHA384.h:
      * crypto/algorithms/CryptoAlgorithmSHA512.cpp:
      (WebCore::CryptoAlgorithmSHA512::digest):
      * crypto/algorithms/CryptoAlgorithmSHA512.h:
      * crypto/keys/CryptoKeyRSA.h:
      * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
      (WebCore::transformAES_CBC):
      (WebCore::CryptoAlgorithmAES_CBC::encrypt):
      (WebCore::CryptoAlgorithmAES_CBC::decrypt):
      * crypto/mac/CryptoAlgorithmHMACMac.cpp:
      (WebCore::CryptoAlgorithmHMAC::sign):
      (WebCore::CryptoAlgorithmHMAC::verify):
      * crypto/mac/CryptoKeyRSAMac.cpp:
      (WebCore::CryptoKeyRSA::generatePair):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1767f0a