1. 20 Dec, 2013 1 commit
    • antti@apple.com's avatar
      Create render tree lazily · 4942ea58
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120685
      
      Source/WebCore: 
      
      Reviewed by Andreas Kling.
      
      We currently recompute style and construct renderer for each DOM node immediately after they are added to 
      the tree. This is often inefficient as the style may change immediately afterwards and the work needs to be
      redone. 
              
      With this patch we always compute style and construct render tree lazily, either on style recalc timer or
      synchronously when they are needed. It also removes the 'attached' bit. If document has render tree then
      all nodes are conceptually "attached" even if this happens lazily.
              
      The patch slightly changes behavior of implicit CSS transitions. A synchronous style change during parsing
      may not trigger the animation anymore as laziness means we don't see anything changing. This matches Firefox
      and Chrome in our test cases.
              
      * WebCore.exp.in:
      * bindings/js/JSNodeCustom.cpp:
      (WebCore::JSNode::insertBefore):
      (WebCore::JSNode::replaceChild):
      (WebCore::JSNode::appendChild):
              
          All attaching is now lazy, remove AttachLazily.
      
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::ComputedStyleExtractor::propertyValue):
              
          SVG renderers with !isValid() have empty display property value for some reason. Keep the behavior.
      
      * dom/ContainerNode.cpp:
      (WebCore::ContainerNode::insertBefore):
      (WebCore::ContainerNode::parserInsertBefore):
      (WebCore::ContainerNode::replaceChild):
      (WebCore::ContainerNode::appendChild):
      (WebCore::ContainerNode::parserAppendChild):
      (WebCore::ContainerNode::updateTreeAfterInsertion):
      * dom/ContainerNode.h:
      * dom/Document.cpp:
      (WebCore::Document::~Document):
      (WebCore::Document::updateStyleIfNeeded):
      (WebCore::Document::createRenderTree):
      (WebCore::Document::destroyRenderTree):
              
          Remove attach bit maintenance.
      
      (WebCore::Document::webkitDidExitFullScreenForElement):
              
          Do lazy render tree reconstruction after returning from full screen. That is the only reliable way
          to get the render tree back to decent shape.
      
      * dom/Element.cpp:
      (WebCore::Element::isFocusable):
              
          Remove pointless !renderer()->needsLayout() assert.
      
      (WebCore::Element::addShadowRoot):
      (WebCore::Element::childShouldCreateRenderer):
      (WebCore::Element::resetComputedStyle):
              
          Take care to reset computed style in all descendants. attachRenderTree no longer does this.
      
      * dom/Element.h:
      * dom/Node.cpp:
      (WebCore::Node::insertBefore):
      (WebCore::Node::replaceChild):
      (WebCore::Node::appendChild):
      (WebCore::Node::setNeedsStyleRecalc):
              
          Propagate ReconstructRenderTree.
      
      (WebCore::Node::attached):
              
          Emulate the behavior of old attached bit for now so existing code calling this mostly stays working.
      
      * dom/Node.h:
              
          Add new ReconstructRenderTree value for StyleChangeType.
      
      * dom/Range.cpp:
      (WebCore::Range::isPointInRange):
      (WebCore::Range::comparePoint):
      (WebCore::Range::compareNode):
      (WebCore::Range::intersectsNode):
      * editing/AppendNodeCommand.cpp:
      (WebCore::AppendNodeCommand::doApply):
      * editing/CompositeEditCommand.cpp:
      (WebCore::CompositeEditCommand::canRebalance):
      * editing/InsertNodeBeforeCommand.cpp:
      (WebCore::InsertNodeBeforeCommand::doApply):
      * html/HTMLDetailsElement.cpp:
      (WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
      * html/HTMLDocument.cpp:
      (WebCore::HTMLDocument::activeElement):
      * html/HTMLElement.cpp:
      (WebCore::HTMLElement::setInnerText):
              
          TextControlInnerTextElement always preserves newline even if it doesn't have style yet.
      
      (WebCore::HTMLElement::supportsFocus):
      * html/HTMLEmbedElement.cpp:
      (WebCore::HTMLEmbedElement::parseAttribute):
      * html/HTMLFormControlElement.cpp:
      (WebCore::shouldAutofocus):
              
          Don't autofocus until we have renderer.
      
      * html/HTMLFormControlElementWithState.cpp:
      (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
      * html/HTMLFrameElementBase.cpp:
      (WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions):
      * html/HTMLInputElement.cpp:
      (WebCore::HTMLInputElement::updateType):
              
          Lazy render tree construction.
      
      (WebCore::HTMLInputElement::parseAttribute):
      (WebCore::HTMLInputElement::defaultEventHandler):
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::parseAttribute):
      * html/HTMLObjectElement.cpp:
      (WebCore::HTMLObjectElement::parseAttribute):
      * html/HTMLSummaryElement.cpp:
      (WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):
      * html/parser/HTMLConstructionSite.cpp:
      (WebCore::executeTask):
              
          Don't attach renderer after construction.
      
      * html/parser/HTMLTreeBuilder.cpp:
      (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
      * html/shadow/ContentDistributor.cpp:
      (WebCore::ContentDistributor::invalidateDistribution):
      * html/shadow/InsertionPoint.cpp:
      (WebCore::InsertionPoint::willAttachRenderers):
      (WebCore::InsertionPoint::willDetachRenderers):
      * html/shadow/MediaControlElements.cpp:
      (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
      * html/shadow/MediaControls.cpp:
      (WebCore::MediaControls::createTextTrackDisplay):
      * html/shadow/MediaControlsApple.cpp:
      (WebCore::MediaControlsApple::createControls):
      * html/track/TextTrackCue.cpp:
      (WebCore::TextTrackCue::getDisplayTree):
      * loader/PlaceholderDocument.cpp:
      (WebCore::PlaceholderDocument::createRenderTree):
      * loader/cache/CachedResourceLoader.cpp:
      (WebCore::CachedResourceLoader::preload):
      * style/StyleResolveTree.cpp:
      (WebCore::Style::attachTextRenderer):
      (WebCore::Style::detachTextRenderer):
              
          Remove attached bit maintenance.
      
      (WebCore::Style::attachChildren):
      (WebCore::Style::attachShadowRoot):
      (WebCore::Style::attachRenderTree):
      (WebCore::Style::detachShadowRoot):
      (WebCore::Style::detachRenderTree):
      (WebCore::Style::resolveLocal):
      * svg/SVGTests.cpp:
      (WebCore::SVGTests::handleAttributeChange):
              
          Make lazy.
      
      * testing/Internals.cpp:
      (WebCore::Internals::attached):
      (WebCore::Internals::elementRenderTreeAsText):
      (WebCore::Internals::markerAt):
      (WebCore::Internals::nodesFromRect):
      
      LayoutTests: 
      
      Reviewed by Andreas Kling.
              
      Most of these are non-visible render tree dump changes (they become simpler).
      
      * editing/selection/click-on-head-margin-expected.txt:
      * fast/css-generated-content/before-content-continuation-chain-expected.txt:
      * fast/css/transition-color-unspecified.html:
      * fast/dom/adopt-node-crash-2-expected.txt:
      * fast/dom/modify-node-and-while-in-the-callback-too-crash-expected.txt:
      * fast/forms/radio/radio_checked_dynamic-expected.txt:
      * fast/frames/lots-of-iframes-expected.txt:
      * fast/frames/sandboxed-iframe-autofocus-denied-expected.txt:
      * fast/table/table-row-style-not-updated-with-after-content-expected.txt:
      * fullscreen/full-screen-render-inline-expected.txt:
      * fullscreen/parent-flow-inline-with-block-child-expected.txt:
      * platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt:
      * platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.txt:
      * platform/mac/fast/dynamic/011-expected.txt:
      * platform/mac/fast/forms/formmove3-expected.txt:
      * platform/mac/fast/forms/preserveFormDuringResidualStyle-expected.txt:
      * platform/mac/fast/invalid/001-expected.txt:
      * platform/mac/fast/invalid/003-expected.txt:
      * platform/mac/fast/invalid/004-expected.txt:
      * platform/mac/fast/invalid/007-expected.txt:
      * platform/mac/fast/invalid/019-expected.txt:
      * platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
      * platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
      * platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
      * platform/mac/fast/ruby/ruby-base-merge-block-children-crash-expected.txt:
      * platform/mac/tables/mozilla/bugs/bug113235-1-expected.txt:
      * platform/mac/tables/mozilla/bugs/bug647-expected.txt:
      * platform/mac/tables/mozilla/other/wa_table_tr_align-expected.txt:
      * plugins/plugin-remove-readystatechange-expected.txt:
      * svg/custom/system-language-crash-expected.txt:
      * transitions/equivalent-background-image-no-transition.html:
      * transitions/repeated-firing-background-color.html:
      * transitions/transition-duration-cleared-in-transitionend-crash.html:
      
          Adopt a few transition test cases to new behavior.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4942ea58
  2. 19 Dec, 2013 1 commit
  3. 16 Dec, 2013 1 commit
    • eric.carlson@apple.com's avatar
      Fix QuickTime plug-in replacement scripting bugs · 6ad4acd0
      eric.carlson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125717
      
      Reviewed by Sam Weinig.
      
      Source/WebCore:
      
      No new tests, existing test updated.
      
      * Modules/plugins/QuickTimePluginReplacement.js:
      (Replacement): Change '' to "" to avoid "Empty character constant" warning when creating
          Derived Sources.
      (Replacement.prototype.createVideoElement): Handle qtsrc attribute. Remember base url.
      (Replacement.prototype.setURL): Resolve urls relative to base.
      
      LayoutTests:
      
      * plugins/quicktime-plugin-replacement-expected.txt:
      * plugins/quicktime-plugin-replacement.html: Update to test 'qtsrc' attribute, and to check
          that relative urls are resolved correctly.
      * plugins/resources/yellow.mov: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ad4acd0
  4. 27 Nov, 2013 1 commit
    • eric.carlson@apple.com's avatar
      Allow the QuickTime plug-in to be replaced by script in an isolated word · 6bfffe02
      eric.carlson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124900
      
      Reviewed by Dean Jackson.
      
      Source/WebCore: 
      
      Test: plugins/quicktime-plugin-replacement.html
      
      * CMakeLists.txt: Add new Modules path.
      * DerivedSources.make: Add new files.
      * GNUmakefile.am: Add new Modules path.
      * GNUmakefile.list.am: Add new header.
      * WebCore.vcxproj/WebCore.vcxproj: Add new header.
      * WebCore.vcxproj/WebCoreCommon.props: Add new Modules path.
      * WebCore.xcodeproj/project.pbxproj: Add new files.
      
      * Modules/plugins: Added.
      * Modules/plugins/PluginReplacement.h: Added. Defines the interface for a plug-in replacement.
      
      Create a replacement for the QuickTime plug-in.
      * Modules/plugins/QuickTimePluginReplacement.cpp: Added.
      * Modules/plugins/QuickTimePluginReplacement.css: Added.
      * Modules/plugins/QuickTimePluginReplacement.h: Added.
      * Modules/plugins/QuickTimePluginReplacement.idl: Added.
      * Modules/plugins/QuickTimePluginReplacement.js: Added.
      
      Allow plug-in replacement to be enabled at runtime.
      * bindings/generic/RuntimeEnabledFeatures.h:
      (WebCore::RuntimeEnabledFeatures::setPluginReplacementEnabled):
      (WebCore::RuntimeEnabledFeatures::pluginReplacementEnabled):
      
      * bindings/js/JSDOMBinding.h:
      (WebCore::toJS): Add toJS(... const String& ...).
      
      * bindings/js/JSPluginElementFunctions.cpp:
      (WebCore::pluginScriptObject): Give a plug-in replacement a first shot at defining the
          script interface.
      
      * html/HTMLEmbedElement.cpp:
      (WebCore::HTMLEmbedElement::updateWidget): Call base class requestObject.
      
      * html/HTMLMediaElement.cpp:
      (HTMLMediaElement::fileSize): New, passthrough to media engine.
      * html/HTMLMediaElement.h:
      
      * html/HTMLObjectElement.cpp:
      (WebCore::HTMLObjectElement::updateWidget): Call base class requestObject.
      
      Moved some logic that was previously used only for creating a plug-in snapshot to the base
      class so it can be shared by a plug-in replacement.
      * html/HTMLPlugInElement.cpp:
      (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize timer used to swap renderers.
      (WebCore::HTMLPlugInElement::createRenderer): Allow plug-in replacement to create the renderer.
      (WebCore::HTMLPlugInElement::swapRendererTimerFired): Create a shadow root.
      (WebCore::HTMLPlugInElement::setDisplayState): Set the new state, prime the swap renderer 
          timer if necessary.
      (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Tell the plug-in replacement to
          install itself in the new shadow DOM.
      (WebCore::registeredPluginReplacements): Return vector of all registered plug-in replacements.
      (WebCore::registerPluginReplacement): Add a plug-in replacement.
      (WebCore::pluginReplacementForType): Find a plug-in replacement for a MIME type.
      (WebCore::HTMLPlugInElement::requestObject): If there is a plug-in replacement for the MIME type,
          create it and set the display state.
      (WebCore::HTMLPlugInElement::scriptObjectForPluginReplacement): Return the script object for 
          the current plug-in replacement, if any.
      * html/HTMLPlugInElement.h:
      
      Move some plug-in snapshot code into the base class.
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): No need to initialize timer.
      (WebCore::HTMLPlugInImageElement::setDisplayState): Call base class.
      (WebCore::HTMLPlugInImageElement::createRenderer): Ditto.
      (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Ditto.
      (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Remove unnecessary class name.
      (WebCore::HTMLPlugInImageElement::requestObject): New.
      * html/HTMLPlugInImageElement.h:
      
      * html/HTMLVideoElement.h: Make createRenderer public so the QuickTime plug-in replacement can
          call it.
      
      * platform/graphics/MediaPlayer.cpp:
      (WebCore::MediaPlayer::fileSize): New.
      * platform/graphics/MediaPlayer.h:
      * platform/graphics/MediaPlayerPrivate.h:
      
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
      (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): totalBytes returns an unsigned long long.
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
      (WebCore::MediaPlayerPrivateAVFoundation::fileSize):
      
      * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
      (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes): Return an unsigned long long.
      * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
      
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
      (WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Ditto.
      
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::Backup::Backup): Backup the plug-in replacement runtime setting.
      (WebCore::InternalSettings::Backup::restoreTo): Restore it.
      (WebCore::InternalSettings::setPluginReplacementEnabled): Set it.
      * testing/InternalSettings.h:
      * testing/InternalSettings.idl:
      
      LayoutTests: 
      
      * platform/efl/TestExpectations: Skip the new test.
      * platform/gtk/TestExpectations: Ditto.
      * platform/wincairo/TestExpectations: Ditto.
      * plugins/quicktime-plugin-replacement.html: Added.
      * plugins/quicktime-plugin-replacement-expected.txt: Added.
      * plugins/resources/orange.mov: Replace movie compressed with ancient (and deprecated) 
          animated gif codec with one compressed with H.264 codec.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6bfffe02
  5. 10 Nov, 2013 1 commit
    • akling@apple.com's avatar
      RenderIFrame should display its name correctly in DRT output. · 27c741cd
      akling@apple.com authored
      <https://webkit.org/b/124117>
      
      Source/WebCore:
      
      Nuke an age-old FIXME about making RenderIFrame show its true name
      in DRT output. No more "RenderPartObject {IFRAME}"!
      
      Reviewed by Anders Carlsson.
      
      LayoutTests:
      
      Rebaseline results now that RenderIFrame correctly dumps its name
      as "RenderIFrame".
      
      Reviewed by Anders Carlsson.
      
      * compositing/iframes/composited-iframe-scroll-expected.txt:
      * compositing/iframes/iframe-content-flipping-expected.txt:
      * compositing/iframes/nested-iframe-scrolling-expected.txt:
      * fast/css/replaced-element-implicit-size-expected.txt:
      * fast/css/resize-corner-tracking-expected.txt:
      * fast/dom/attr_dead_doc-expected.txt:
      * fast/frames/content-opacity-1-expected.txt:
      * fast/frames/content-opacity-2-expected.txt:
      * fast/frames/iframe-scaling-with-scroll-expected.txt:
      * fast/frames/iframe-text-contents-expected.txt:
      * fast/frames/paint-iframe-background-expected.txt:
      * fast/repaint/4774354-expected.txt:
      * fast/repaint/iframe-scroll-repaint-expected.txt:
      * fast/repaint/repaint-during-scroll-with-zoom-expected.txt:
      * fast/replaced/percent-height-in-anonymous-block-expected.txt:
      * http/tests/misc/acid3-expected.txt:
      * media/media-document-audio-repaint-expected.txt:
      * platform/efl/compositing/iframes/composited-iframe-alignment-expected.txt:
      * platform/efl/compositing/iframes/iframe-copy-on-scroll-expected.txt:
      * platform/efl/compositing/iframes/iframe-in-composited-layer-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-004-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-005-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-007-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-011-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-012-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-014-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-018-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-019-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-021-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-025-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-026-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-028-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-032-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-033-expected.txt:
      * platform/efl/css2.1/20110323/absolute-replaced-height-035-expected.txt:
      * platform/efl/css2.1/20110323/block-replaced-height-004-expected.txt:
      * platform/efl/css2.1/20110323/block-replaced-height-005-expected.txt:
      * platform/efl/css2.1/20110323/block-replaced-height-007-expected.txt:
      * platform/efl/css2.1/20110323/float-replaced-height-004-expected.txt:
      * platform/efl/css2.1/20110323/float-replaced-height-005-expected.txt:
      * platform/efl/css2.1/20110323/float-replaced-height-007-expected.txt:
      * platform/efl/css2.1/20110323/inline-block-replaced-height-004-expected.txt:
      * platform/efl/css2.1/20110323/inline-block-replaced-height-005-expected.txt:
      * platform/efl/css2.1/20110323/inline-block-replaced-height-007-expected.txt:
      * platform/efl/css2.1/20110323/inline-replaced-height-004-expected.txt:
      * platform/efl/css2.1/20110323/inline-replaced-height-005-expected.txt:
      * platform/efl/css2.1/20110323/inline-replaced-height-007-expected.txt:
      * platform/efl/editing/pasteboard/4631972-expected.txt:
      * platform/efl/editing/selection/4776665-expected.txt:
      * platform/efl/editing/selection/4960137-expected.txt:
      * platform/efl/editing/selection/4975120-expected.txt:
      * platform/efl/editing/selection/drag-in-iframe-expected.txt:
      * platform/efl/editing/selection/drag-to-contenteditable-iframe-expected.txt:
      * platform/efl/editing/selection/iframe-expected.txt:
      * platform/efl/editing/selection/select-all-iframe-expected.txt:
      * platform/efl/fast/block/basic/013-expected.txt:
      * platform/efl/fast/block/positioning/window-height-change-expected.txt:
      * platform/efl/fast/css/line-height-overflow-expected.txt:
      * platform/efl/fast/css3-text/css3-text-decoration/text-decoration-line-scaled-expected.txt:
      * platform/efl/fast/dom/Window/open-existing-pop-up-blocking-expected.txt:
      * platform/efl/fast/flexbox/016-expected.txt:
      * platform/efl/fast/forms/basic-textareas-expected.txt:
      * platform/efl/fast/forms/tabbing-input-iframe-expected.txt:
      * platform/efl/fast/forms/targeted-frame-submission-expected.txt:
      * platform/efl/fast/frames/001-expected.txt:
      * platform/efl/fast/frames/flattening/iframe-flattening-fixed-height-expected.txt:
      * platform/efl/fast/frames/flattening/iframe-flattening-fixed-width-and-height-expected.txt:
      * platform/efl/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-expected.txt:
      * platform/efl/fast/frames/flattening/iframe-flattening-fixed-width-expected.txt:
      * platform/efl/fast/frames/flattening/iframe-flattening-nested-expected.txt:
      * platform/efl/fast/frames/flattening/iframe-flattening-offscreen-expected.txt:
      * platform/efl/fast/frames/flattening/iframe-flattening-out-of-view-and-scroll-expected.txt:
      * platform/efl/fast/frames/flattening/iframe-flattening-out-of-view-expected.txt:
      * platform/efl/fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout-expected.txt:
      * platform/efl/fast/frames/flattening/iframe-flattening-simple-expected.txt:
      * platform/efl/fast/frames/frameElement-iframe-expected.txt:
      * platform/efl/fast/frames/iframe-option-crash-expected.txt:
      * platform/efl/fast/frames/iframe-scrolling-attribute-expected.txt:
      * platform/efl/fast/frames/iframe-with-frameborder-expected.txt:
      * platform/efl/fast/frames/onlyCommentInIFrame-expected.txt:
      * platform/efl/fast/frames/take-focus-from-iframe-expected.txt:
      * platform/efl/fast/frames/viewsource-attribute-expected.txt:
      * platform/efl/fast/frames/viewsource-on-image-file-expected.txt:
      * platform/efl/fast/images/favicon-as-image-expected.txt:
      * platform/efl/fast/overflow/scrollRevealButton-expected.txt:
      * platform/efl/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
      * platform/efl/fast/repaint/line-flow-with-floats-1-expected.txt:
      * platform/efl/fast/repaint/line-flow-with-floats-10-expected.txt:
      * platform/efl/fast/repaint/line-flow-with-floats-2-expected.txt:
      * platform/efl/fast/repaint/line-flow-with-floats-3-expected.txt:
      * platform/efl/fast/repaint/line-flow-with-floats-4-expected.txt:
      * platform/efl/fast/repaint/line-flow-with-floats-5-expected.txt:
      * platform/efl/fast/repaint/line-flow-with-floats-6-expected.txt:
      * platform/efl/fast/repaint/line-flow-with-floats-7-expected.txt:
      * platform/efl/fast/repaint/line-flow-with-floats-8-expected.txt:
      * platform/efl/fast/repaint/line-flow-with-floats-9-expected.txt:
      * platform/efl/fast/repaint/text-selection-rect-in-overflow-2-expected.txt:
      * platform/efl/fast/replaced/007-expected.txt:
      * platform/efl/fast/replaced/border-radius-clip-expected.txt:
      * platform/efl/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt:
      * platform/efl/fast/replaced/replaced-breaking-expected.txt:
      * platform/efl/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt:
      * platform/efl/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt:
      * platform/efl/fast/table/quote-text-around-iframe-expected.txt:
      * platform/efl/fast/text/selection-hard-linebreak-expected.txt:
      * platform/efl/http/tests/loading/simple-subframe-expected.txt:
      * platform/efl/http/tests/local/file-url-sent-as-referer-expected.txt:
      * platform/efl/http/tests/misc/acid3-expected.txt:
      * platform/efl/http/tests/misc/favicon-as-image-expected.txt:
      * platform/efl/http/tests/misc/frame-access-during-load-expected.txt:
      * platform/efl/http/tests/misc/iframe404-expected.txt:
      * platform/efl/http/tests/misc/location-replace-crossdomain-expected.txt:
      * platform/efl/http/tests/multipart/invalid-image-data-standalone-expected.txt:
      * platform/efl/media/media-document-audio-repaint-expected.txt:
      * platform/efl/svg/hixie/rendering-model/003-expected.txt:
      * platform/efl/svg/in-html/by-reference-expected.txt:
      * platform/efl/tables/mozilla/bugs/bug131020-expected.txt:
      * platform/efl/tables/mozilla/bugs/bug38916-expected.txt:
      * platform/efl/tables/mozilla/bugs/bug4527-expected.txt:
      * platform/gtk-wk1/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt:
      * platform/gtk-wk1/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-004-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-005-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-007-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-011-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-012-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-014-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-018-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-019-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-021-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-025-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-026-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-028-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-032-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-033-expected.txt:
      * platform/gtk/css2.1/20110323/absolute-replaced-height-035-expected.txt:
      * platform/gtk/css2.1/20110323/block-replaced-height-004-expected.txt:
      * platform/gtk/css2.1/20110323/block-replaced-height-005-expected.txt:
      * platform/gtk/css2.1/20110323/block-replaced-height-007-expected.txt:
      * platform/gtk/css2.1/20110323/float-replaced-height-004-expected.txt:
      * platform/gtk/css2.1/20110323/float-replaced-height-005-expected.txt:
      * platform/gtk/css2.1/20110323/float-replaced-height-007-expected.txt:
      * platform/gtk/css2.1/20110323/inline-block-replaced-height-004-expected.txt:
      * platform/gtk/css2.1/20110323/inline-block-replaced-height-005-expected.txt:
      * platform/gtk/css2.1/20110323/inline-block-replaced-height-007-expected.txt:
      * platform/gtk/css2.1/20110323/inline-replaced-height-004-expected.txt:
      * platform/gtk/css2.1/20110323/inline-replaced-height-005-expected.txt:
      * platform/gtk/css2.1/20110323/inline-replaced-height-007-expected.txt:
      * platform/gtk/editing/execCommand/find-after-replace-expected.txt:
      * platform/gtk/editing/execCommand/paste-1-expected.txt:
      * platform/gtk/editing/pasteboard/4631972-expected.txt:
      * platform/gtk/editing/pasteboard/copy-standalone-image-expected.txt:
      * platform/gtk/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt:
      * platform/gtk/editing/pasteboard/paste-2-expected.txt:
      * platform/gtk/editing/pasteboard/subframe-dragndrop-1-expected.txt:
      * platform/gtk/editing/selection/4776665-expected.txt:
      * platform/gtk/editing/selection/4960137-expected.txt:
      * platform/gtk/editing/selection/4975120-expected.txt:
      * platform/gtk/editing/selection/drag-in-iframe-expected.txt:
      * platform/gtk/editing/selection/drag-to-contenteditable-iframe-expected.txt:
      * platform/gtk/editing/selection/iframe-expected.txt:
      * platform/gtk/editing/selection/select-all-iframe-expected.txt:
      * platform/gtk/fast/block/basic/013-expected.txt:
      * platform/gtk/fast/block/positioning/window-height-change-expected.txt:
      * platform/gtk/fast/css/line-height-overflow-expected.txt:
      * platform/gtk/fast/css/resize-corner-tracking-expected.txt:
      * platform/gtk/fast/css/resize-corner-tracking-transformed-iframe-expected.txt:
      * platform/gtk/fast/css3-text/css3-text-decoration/text-decoration-line-scaled-expected.txt:
      * platform/gtk/fast/dom/Window/open-existing-pop-up-blocking-expected.txt:
      * platform/gtk/fast/flexbox/016-expected.txt:
      * platform/gtk/fast/forms/basic-textareas-expected.txt:
      * platform/gtk/fast/forms/tabbing-input-iframe-expected.txt:
      * platform/gtk/fast/forms/targeted-frame-submission-expected.txt:
      * platform/gtk/fast/frames/001-expected.txt:
      * platform/gtk/fast/frames/flattening/iframe-flattening-fixed-height-expected.txt:
      * platform/gtk/fast/frames/flattening/iframe-flattening-fixed-width-and-height-expected.txt:
      * platform/gtk/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-expected.txt:
      * platform/gtk/fast/frames/flattening/iframe-flattening-fixed-width-expected.txt:
      * platform/gtk/fast/frames/flattening/iframe-flattening-nested-expected.txt:
      * platform/gtk/fast/frames/flattening/iframe-flattening-offscreen-expected.txt:
      * platform/gtk/fast/frames/flattening/iframe-flattening-out-of-view-and-scroll-expected.txt:
      * platform/gtk/fast/frames/flattening/iframe-flattening-out-of-view-expected.txt:
      * platform/gtk/fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout-expected.txt:
      * platform/gtk/fast/frames/flattening/iframe-flattening-simple-expected.txt:
      * platform/gtk/fast/frames/frameElement-iframe-expected.txt:
      * platform/gtk/fast/frames/iframe-option-crash-expected.txt:
      * platform/gtk/fast/frames/iframe-scrolling-attribute-expected.txt:
      * platform/gtk/fast/frames/iframe-with-frameborder-expected.txt:
      * platform/gtk/fast/frames/onlyCommentInIFrame-expected.txt:
      * platform/gtk/fast/frames/scrolling-iframe-out-of-viewport-expected.txt:
      * platform/gtk/fast/frames/take-focus-from-iframe-expected.txt:
      * platform/gtk/fast/frames/viewsource-attribute-expected.txt:
      * platform/gtk/fast/frames/viewsource-on-image-file-expected.txt:
      * platform/gtk/fast/images/favicon-as-image-expected.txt:
      * platform/gtk/fast/overflow/scrollRevealButton-expected.txt:
      * platform/gtk/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
      * platform/gtk/fast/repaint/iframe-scroll-repaint-expected.txt:
      * platform/gtk/fast/repaint/line-flow-with-floats-1-expected.txt:
      * platform/gtk/fast/repaint/line-flow-with-floats-10-expected.txt:
      * platform/gtk/fast/repaint/line-flow-with-floats-2-expected.txt:
      * platform/gtk/fast/repaint/line-flow-with-floats-3-expected.txt:
      * platform/gtk/fast/repaint/line-flow-with-floats-4-expected.txt:
      * platform/gtk/fast/repaint/line-flow-with-floats-5-expected.txt:
      * platform/gtk/fast/repaint/line-flow-with-floats-6-expected.txt:
      * platform/gtk/fast/repaint/line-flow-with-floats-7-expected.txt:
      * platform/gtk/fast/repaint/line-flow-with-floats-8-expected.txt:
      * platform/gtk/fast/repaint/line-flow-with-floats-9-expected.txt:
      * platform/gtk/fast/repaint/text-selection-rect-in-overflow-2-expected.txt:
      * platform/gtk/fast/replaced/007-expected.txt:
      * platform/gtk/fast/replaced/border-radius-clip-expected.txt:
      * platform/gtk/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt:
      * platform/gtk/fast/replaced/replaced-breaking-expected.txt:
      * platform/gtk/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt:
      * platform/gtk/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt:
      * platform/gtk/fast/table/quote-text-around-iframe-expected.txt:
      * platform/gtk/fast/text/selection-hard-linebreak-expected.txt:
      * platform/gtk/http/tests/loading/simple-subframe-expected.txt:
      * platform/gtk/http/tests/local/file-url-sent-as-referer-expected.txt:
      * platform/gtk/http/tests/misc/favicon-as-image-expected.txt:
      * platform/gtk/http/tests/misc/frame-access-during-load-expected.txt:
      * platform/gtk/http/tests/misc/iframe404-expected.txt:
      * platform/gtk/http/tests/misc/location-replace-crossdomain-expected.txt:
      * platform/gtk/http/tests/multipart/invalid-image-data-standalone-expected.txt:
      * platform/gtk/media/media-document-audio-repaint-expected.txt:
      * platform/gtk/plugins/iframe-plugin-bgcolor-expected.txt:
      * platform/gtk/svg/as-object/svg-embedded-in-html-in-iframe-expected.txt:
      * platform/gtk/svg/custom/embedding-external-svgs-expected.txt:
      * platform/gtk/svg/hixie/rendering-model/003-expected.txt:
      * platform/gtk/svg/in-html/by-reference-expected.txt:
      * platform/gtk/tables/mozilla/bugs/bug131020-expected.txt:
      * platform/gtk/tables/mozilla/bugs/bug38916-expected.txt:
      * platform/gtk/tables/mozilla/bugs/bug4527-expected.txt:
      * platform/iphone-simulator/text-autosizing/contenteditable-expected.txt:
      * platform/mac-mountainlion/editing/selection/4975120-expected.txt:
      * platform/mac-mountainlion/fast/forms/basic-textareas-expected.txt:
      * platform/mac-mountainlion/fast/forms/tabbing-input-iframe-expected.txt:
      * platform/mac-mountainlion/fast/frames/take-focus-from-iframe-expected.txt:
      * platform/mac-mountainlion/fast/replaced/replaced-breaking-expected.txt:
      * platform/mac-mountainlion/tables/mozilla/bugs/bug4527-expected.txt:
      * platform/mac-wk2/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
      * platform/mac/compositing/iframes/composited-iframe-alignment-expected.txt:
      * platform/mac/compositing/iframes/iframe-copy-on-scroll-expected.txt:
      * platform/mac/compositing/iframes/iframe-in-composited-layer-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-004-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-005-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-007-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-011-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-012-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-014-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-018-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-019-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-021-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-025-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-026-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-028-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-032-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-033-expected.txt:
      * platform/mac/css2.1/20110323/absolute-replaced-height-035-expected.txt:
      * platform/mac/css2.1/20110323/block-replaced-height-004-expected.txt:
      * platform/mac/css2.1/20110323/block-replaced-height-005-expected.txt:
      * platform/mac/css2.1/20110323/block-replaced-height-007-expected.txt:
      * platform/mac/css2.1/20110323/float-replaced-height-004-expected.txt:
      * platform/mac/css2.1/20110323/float-replaced-height-005-expected.txt:
      * platform/mac/css2.1/20110323/float-replaced-height-007-expected.txt:
      * platform/mac/css2.1/20110323/inline-block-replaced-height-004-expected.txt:
      * platform/mac/css2.1/20110323/inline-block-replaced-height-005-expected.txt:
      * platform/mac/css2.1/20110323/inline-block-replaced-height-007-expected.txt:
      * platform/mac/css2.1/20110323/inline-replaced-height-004-expected.txt:
      * platform/mac/css2.1/20110323/inline-replaced-height-005-expected.txt:
      * platform/mac/css2.1/20110323/inline-replaced-height-007-expected.txt:
      * platform/mac/editing/execCommand/find-after-replace-expected.txt:
      * platform/mac/editing/execCommand/paste-1-expected.txt:
      * platform/mac/editing/pasteboard/4631972-expected.txt:
      * platform/mac/editing/pasteboard/copy-standalone-image-expected.txt:
      * platform/mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt:
      * platform/mac/editing/pasteboard/paste-2-expected.txt:
      * platform/mac/editing/pasteboard/subframe-dragndrop-1-expected.txt:
      * platform/mac/editing/selection/4776665-expected.txt:
      * platform/mac/editing/selection/4960137-expected.txt:
      * platform/mac/editing/selection/4975120-expected.txt:
      * platform/mac/editing/selection/drag-in-iframe-expected.txt:
      * platform/mac/editing/selection/drag-to-contenteditable-iframe-expected.txt:
      * platform/mac/editing/selection/iframe-expected.txt:
      * platform/mac/editing/selection/select-all-iframe-expected.txt:
      * platform/mac/fast/block/basic/013-expected.txt:
      * platform/mac/fast/block/positioning/window-height-change-expected.txt:
      * platform/mac/fast/css/line-height-overflow-expected.txt:
      * platform/mac/fast/css/resize-corner-tracking-transformed-iframe-expected.txt:
      * platform/mac/fast/css3-text/css3-text-decoration/text-decoration-line-scaled-expected.txt:
      * platform/mac/fast/dom/Window/open-existing-pop-up-blocking-expected.txt:
      * platform/mac/fast/flexbox/016-expected.txt:
      * platform/mac/fast/forms/basic-textareas-expected.txt:
      * platform/mac/fast/forms/tabbing-input-iframe-expected.txt:
      * platform/mac/fast/forms/targeted-frame-submission-expected.txt:
      * platform/mac/fast/frames/001-expected.txt:
      * platform/mac/fast/frames/flattening/iframe-flattening-fixed-height-expected.txt:
      * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-and-height-expected.txt:
      * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-expected.txt:
      * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-expected.txt:
      * platform/mac/fast/frames/flattening/iframe-flattening-nested-expected.txt:
      * platform/mac/fast/frames/flattening/iframe-flattening-offscreen-expected.txt:
      * platform/mac/fast/frames/flattening/iframe-flattening-out-of-view-and-scroll-expected.txt:
      * platform/mac/fast/frames/flattening/iframe-flattening-out-of-view-expected.txt:
      * platform/mac/fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout-expected.txt:
      * platform/mac/fast/frames/flattening/iframe-flattening-simple-expected.txt:
      * platform/mac/fast/frames/frameElement-iframe-expected.txt:
      * platform/mac/fast/frames/iframe-option-crash-expected.txt:
      * platform/mac/fast/frames/iframe-scrolling-attribute-expected.txt:
      * platform/mac/fast/frames/iframe-with-frameborder-expected.txt:
      * platform/mac/fast/frames/onlyCommentInIFrame-expected.txt:
      * platform/mac/fast/frames/take-focus-from-iframe-expected.txt:
      * platform/mac/fast/frames/viewsource-attribute-expected.txt:
      * platform/mac/fast/frames/viewsource-on-image-file-expected.txt:
      * platform/mac/fast/images/favicon-as-image-expected.txt:
      * platform/mac/fast/overflow/scrollRevealButton-expected.txt:
      * platform/mac/fast/repaint/4774354-expected.txt:
      * platform/mac/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
      * platform/mac/fast/repaint/repaint-during-scroll-with-zoom-expected.txt:
      * platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.txt:
      * platform/mac/fast/replaced/007-expected.txt:
      * platform/mac/fast/replaced/border-radius-clip-expected.txt:
      * platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt:
      * platform/mac/fast/replaced/replaced-breaking-expected.txt:
      * platform/mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt:
      * platform/mac/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt:
      * platform/mac/fast/table/quote-text-around-iframe-expected.txt:
      * platform/mac/fast/text/selection-hard-linebreak-expected.txt:
      * platform/mac/http/tests/loading/simple-subframe-expected.txt:
      * platform/mac/http/tests/local/file-url-sent-as-referer-expected.txt:
      * platform/mac/http/tests/misc/acid3-expected.txt:
      * platform/mac/http/tests/misc/favicon-as-image-expected.txt:
      * platform/mac/http/tests/misc/frame-access-during-load-expected.txt:
      * platform/mac/http/tests/misc/iframe404-expected.txt:
      * platform/mac/http/tests/misc/location-replace-crossdomain-expected.txt:
      * platform/mac/http/tests/multipart/invalid-image-data-standalone-expected.txt:
      * platform/mac/plugins/update-widget-from-style-recalc-expected.txt:
      * platform/mac/plugins/update-widget-from-style-recalc.html:
      * platform/mac/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt:
      * platform/mac/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt:
      * platform/mac/svg/custom/embedding-external-svgs-expected.txt:
      * platform/mac/svg/hixie/rendering-model/003-expected.txt:
      * platform/mac/svg/in-html/by-reference-expected.txt:
      * platform/mac/tables/mozilla/bugs/bug131020-expected.txt:
      * platform/mac/tables/mozilla/bugs/bug38916-expected.txt:
      * platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
      * platform/mac/webarchive/loading/cache-expired-subresource-expected.txt:
      * platform/win-xp/media/media-document-audio-repaint-expected.txt:
      * platform/win/http/tests/misc/acid3-expected.txt:
      * plugins/iframe-plugin-bgcolor-expected.txt:
      * printing/iframe-print-expected.txt:
      * scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt:
      * scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt:
      * svg/as-object/svg-embedded-in-html-in-iframe-expected.txt:
      * tables/mozilla/bugs/bug137388-1-expected.txt:
      * tables/mozilla/bugs/bug137388-2-expected.txt:
      * tables/mozilla/bugs/bug137388-3-expected.txt:
      * tables/mozilla/bugs/bug50695-2-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      27c741cd
  6. 26 Sep, 2013 1 commit
  7. 12 Sep, 2013 1 commit
    • ap@apple.com's avatar
      Flaky Test: plugins/mouse-events.html · 13f8ef6b
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116665
      
      Reviewed by Anders Carlsson.
      
      * plugins/mouse-events-expected.txt:
      * plugins/mouse-events.html:
      This test used async calls for events, and then usually logged responses while waiting
      for a plg.eventLoggingEnabled setter synchronously. Depending on sync/async event
      order is not reliable, especially with old WebKit1 plug-in IPC code.
      
      * platform/mac-wk2/plugins/mouse-events-expected.txt: For some unclear reason,
      focus works differently in WebKit2.
      
      * platform/gtk/plugins/mouse-events-expected.txt: Removed.
      * platform/qt/plugins/mouse-events-expected.txt: Removed.
      * platform/win/plugins/mouse-events-expected.txt: Removed.
      These results looked similar to new cross-platform ones, hopefully custom results
      won't be needed any more.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13f8ef6b
  8. 07 Sep, 2013 1 commit
    • mark.lam@apple.com's avatar
      Change LayoutTests' m*-p* files to use pre and post js files in LayoutTests/resources. · 44b4166c
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120899.
      
      Rubber stamped by Filip Pizlo.
      
      * media/W3C/w3cwrapper.js:
      * media/network-no-source-const-shadow.html:
      * media/nodesFromRect-shadowContent.html:
      * media/track/track-node-add-remove.html:
      * media/video-buffered-too-few-arguments.html:
      * media/video-canvas-source.html:
      * networkinformation/add-listener-from-callback.html:
      * networkinformation/basic-all-types-of-events.html:
      * networkinformation/basic-operation.html:
      * networkinformation/event-after-navigation.html:
      * networkinformation/multiple-frames.html:
      * networkinformation/updates.html:
      * networkinformation/window-property.html:
      * platform/blackberry/editing/text-iterator/findString-markers.html:
      * platform/blackberry/external/search-provider/search-provider-installed.html:
      * platform/gtk/accessibility/aria-listbox-crash.html:
      * platform/gtk/accessibility/aria-options-and-menuitems-crash.html:
      * platform/gtk/accessibility/aria-roles-unignored.html:
      * platform/gtk/accessibility/aria-slider-required-attributes.html:
      * platform/gtk/accessibility/aria-table-hierarchy.html:
      * platform/gtk/accessibility/aria-toggle-button-role.html:
      * platform/gtk/accessibility/button-accessible-name.html:
      * platform/gtk/accessibility/caret-browsing-select-focus.html:
      * platform/gtk/accessibility/caret-browsing-text-focus.html:
      * platform/gtk/accessibility/combo-box-collapsed-selection-changed.html:
      * platform/gtk/accessibility/entry-and-password.html:
      * platform/gtk/accessibility/list-items-always-exposed.html:
      * platform/gtk/accessibility/media-controls-panel-title.html:
      * platform/gtk/accessibility/name-from-label.html:
      * platform/gtk/accessibility/object-attributes.html:
      * platform/gtk/accessibility/object-with-title.html:
      * platform/gtk/accessibility/remapped-aria-crash.html:
      * platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html:
      * platform/gtk/accessibility/spans-paragraphs-and-divs.html:
      * platform/gtk/accessibility/spans.html:
      * platform/gtk/accessibility/table-hierarchy.html:
      * platform/gtk/accessibility/title-and-alt.html:
      * platform/gtk/accessibility/unknown-roles-not-exposed.html:
      * platform/gtk/editing/pasteboard/middle-click-onpaste.html:
      * platform/gtk/editing/pasteboard/script-tests/TEMPLATE.html:
      * platform/gtk/editing/selection/caret-mode-document-begin-end.html:
      * platform/iphone-simulator/accessibility/accessibility-aria-table-children.html:
      * platform/iphone-simulator/accessibility/accessibility-crash-in-axcontainer.html:
      * platform/iphone-simulator/accessibility/accessibility-hint.html:
      * platform/iphone-simulator/accessibility/aria-label-with-internal-text.html:
      * platform/iphone-simulator/accessibility/aria-pressed-state.html:
      * platform/iphone-simulator/accessibility/centerpoint.html:
      * platform/iphone-simulator/accessibility/dom-focus-fires-on-correct-element.html:
      * platform/iphone-simulator/accessibility/element-paths.html:
      * platform/iphone-simulator/accessibility/file-upload-button.html:
      * platform/iphone-simulator/accessibility/focus-change-notifications.html:
      * platform/iphone-simulator/accessibility/header-elements.html:
      * platform/iphone-simulator/accessibility/identifier.html:
      * platform/iphone-simulator/accessibility/internal-link.html:
      * platform/iphone-simulator/accessibility/landmark-type.html:
      * platform/iphone-simulator/accessibility/link-with-images-text.html:
      * platform/iphone-simulator/accessibility/link-with-only-image.html:
      * platform/iphone-simulator/accessibility/math.html:
      * platform/iphone-simulator/accessibility/mixed-checkboxes.html:
      * platform/iphone-simulator/accessibility/password-value.html:
      * platform/iphone-simulator/accessibility/placeholder-value.html:
      * platform/iphone-simulator/accessibility/popup-button-value-label.html:
      * platform/iphone-simulator/accessibility/progressbar.html:
      * platform/iphone-simulator/accessibility/radio-button.html:
      * platform/iphone-simulator/accessibility/selected-buttons.html:
      * platform/iphone-simulator/accessibility/selected-text.html:
      * platform/iphone-simulator/accessibility/svg-group-element-with-title.html:
      * platform/iphone-simulator/accessibility/svg-path-crash.html:
      * platform/iphone-simulator/accessibility/tab-role.html:
      * platform/iphone-simulator/accessibility/table-cell-for-row-col.html:
      * platform/iphone-simulator/accessibility/table-cell-ranges.html:
      * platform/iphone-simulator/accessibility/tables-lists.html:
      * platform/iphone-simulator/accessibility/text-line-no-ignored-elements.html:
      * platform/iphone-simulator/accessibility/text-marker-list-item.html:
      * platform/iphone-simulator/accessibility/text-marker-validation.html:
      * platform/iphone-simulator/accessibility/text-role.html:
      * platform/iphone-simulator/accessibility/textfield-in-axvalue.html:
      * platform/iphone-simulator/accessibility/url-test.html:
      * platform/mac-wk2/plugins/asychronous-deadlock-with-timer-and-evaluate.html:
      * platform/mac-wk2/plugins/asynchronous-destroy-before-initialization.html:
      * platform/mac-wk2/plugins/contents-scale-factor.html:
      * platform/mac-wk2/plugins/destroy-during-async-npp-new.html:
      * platform/mac-wk2/plugins/npp-setwindow-called-on-scroll.html:
      * platform/mac-wk2/plugins/npruntime/remove-property-from-javascript.html:
      * platform/mac-wk2/plugins/script-object-access-fails-during-slow-initialization.html:
      * platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization-multiple.html:
      * platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization.html:
      * platform/mac-wk2/plugins/slow/resources/asynchronous-plugin-initialization-multiple-finish.html:
      * platform/mac/accessibility/area-with-aria-label.html:
      * platform/mac/accessibility/aria-alerts.html:
      * platform/mac/accessibility/aria-columnrowheaders.html:
      * platform/mac/accessibility/aria-directory.html:
      * platform/mac/accessibility/aria-divs-not-ignored.html:
      * platform/mac/accessibility/aria-drag-drop.html:
      * platform/mac/accessibility/aria-expanded-not-exposed-when-undefined.html:
      * platform/mac/accessibility/aria-expanded-notifications.html:
      * platform/mac/accessibility/aria-expanded-standard-items.html:
      * platform/mac/accessibility/aria-flowto.html:
      * platform/mac/accessibility/aria-grid-with-strange-hierarchy.html:
      * platform/mac/accessibility/aria-grouping-roles.html:
      * platform/mac/accessibility/aria-hidden-changes-for-non-ignored-elements.html:
      * platform/mac/accessibility/aria-image-emits-object-replacement.html:
      * platform/mac/accessibility/aria-label-overrides-visible-text.html:
      * platform/mac/accessibility/aria-listbox-selectedchildren-change.html:
      * platform/mac/accessibility/aria-liveregion-marquee-default.html:
      * platform/mac/accessibility/aria-liveregion-on-image.html:
      * platform/mac/accessibility/aria-liveregions-addedelement.html:
      * platform/mac/accessibility/aria-liveregions-attributes.html:
      * platform/mac/accessibility/aria-liveregions-changedalt.html:
      * platform/mac/accessibility/aria-liveregions-changedtext.html:
      * platform/mac/accessibility/aria-liveregions-notifications-always-sent.html:
      * platform/mac/accessibility/aria-liveregions-notifications.html:
      * platform/mac/accessibility/aria-liveregions-removedelement.html:
      * platform/mac/accessibility/aria-menu-role-descriptions.html:
      * platform/mac/accessibility/aria-menubar.html:
      * platform/mac/accessibility/aria-menuitem-checked-value.html:
      * platform/mac/accessibility/aria-multiline.html:
      * platform/mac/accessibility/aria-multiselectable.html:
      * platform/mac/accessibility/aria-owns.html:
      * platform/mac/accessibility/aria-popup-buttons-on-native-elements.html:
      * platform/mac/accessibility/aria-popup.html:
      * platform/mac/accessibility/aria-radiobutton-text.html:
      * platform/mac/accessibility/aria-radiogroup.html:
      * platform/mac/accessibility/aria-required-popup-button.html:
      * platform/mac/accessibility/aria-setsize-posinset.html:
      * platform/mac/accessibility/aria-slider-value-change.html:
      * platform/mac/accessibility/aria-spinbutton-crash.html:
      * platform/mac/accessibility/aria-table-with-colspan-cells.html:
      * platform/mac/accessibility/aria-toolbar.html:
      * platform/mac/accessibility/aria-tree-activedescendant.html:
      * platform/mac/accessibility/aria-tree-index-of-items.html:
      * platform/mac/accessibility/aria-tree.html:
      * platform/mac/accessibility/aria-treegrid.html:
      * platform/mac/accessibility/aria-valuetext-on-native-slider.html:
      * platform/mac/accessibility/aria-valuetext.html:
      * platform/mac/accessibility/attributed-string-includes-highlighting.html:
      * platform/mac/accessibility/attributed-string-includes-misspelled-with-selection.html:
      * platform/mac/accessibility/button-shouldnot-have-axvalue.html:
      * platform/mac/accessibility/clipped-text-under-element.html:
      * platform/mac/accessibility/combobox-activedescendant-notifications.html:
      * platform/mac/accessibility/combox-box-value.html:
      * platform/mac/accessibility/content-editable-range-properties.html:
      * platform/mac/accessibility/crash-in-element-for-text-marker.html:
      * platform/mac/accessibility/crash-invalid-text-marker-node.html:
      * platform/mac/accessibility/css-content-attribute.html:
      * platform/mac/accessibility/css-speech-speak.html:
      * platform/mac/accessibility/definition-list-term.html:
      * platform/mac/accessibility/div-containing-div-with-aria.html:
      * platform/mac/accessibility/document-title-used-for-description.html:
      * platform/mac/accessibility/editable-webarea-context-menu-point.html:
      * platform/mac/accessibility/element-focus.html:
      * platform/mac/accessibility/element-for-text-marker.html:
      * platform/mac/accessibility/element-is-ignored.html:
      * platform/mac/accessibility/element-level.html:
      * platform/mac/accessibility/element-paths.html:
      * platform/mac/accessibility/estimated-progress.html:
      * platform/mac/accessibility/file-upload-button-subrole.html:
      * platform/mac/accessibility/footer-roledescription.html:
      * platform/mac/accessibility/footer.html:
      * platform/mac/accessibility/form-control-value-settable.html:
      * platform/mac/accessibility/frame-with-title.html:
      * platform/mac/accessibility/header.html:
      * platform/mac/accessibility/heading-clickpoint.html:
      * platform/mac/accessibility/html-section-elements.html:
      * platform/mac/accessibility/html-slider-indicator.html:
      * platform/mac/accessibility/html-with-aria-label.html:
      * platform/mac/accessibility/html5-input-number.html:
      * platform/mac/accessibility/iframe-aria-hidden.html:
      * platform/mac/accessibility/iframe-with-title-correct-hierarchy.html:
      * platform/mac/accessibility/inherited-presentational-lists.html:
      * platform/mac/accessibility/input-title.html:
      * platform/mac/accessibility/internal-link-when-document-has-fragment.html:
      * platform/mac/accessibility/label-element-with-hidden-control.html:
      * platform/mac/accessibility/link-with-title.html:
      * platform/mac/accessibility/list-items-ignored.html:
      * platform/mac/accessibility/listbox-hit-test.html:
      * platform/mac/accessibility/listmarker-suffix.html:
      * platform/mac/accessibility/live-region-on-span.html:
      * platform/mac/accessibility/main-element.html:
      * platform/mac/accessibility/math-alttext.html:
      * platform/mac/accessibility/mathml-elements.html:
      * platform/mac/accessibility/mathml-line-fraction.html:
      * platform/mac/accessibility/mathml-multiscript.html:
      * platform/mac/accessibility/misspelled-attributed-string.html:
      * platform/mac/accessibility/mixed-checkbox.html:
      * platform/mac/accessibility/native-vs-nonnative-checkboxes.html:
      * platform/mac/accessibility/no-unknown-objects-when-title-attribute-present.html:
      * platform/mac/accessibility/option-with-arialabel.html:
      * platform/mac/accessibility/option-with-lang.html:
      * platform/mac/accessibility/parent-of-table-row-is-table.html:
      * platform/mac/accessibility/popup-button-exposes-axvalue.html:
      * platform/mac/accessibility/press-action-is-first.html:
      * platform/mac/accessibility/press-action-not-exposed-when-body-is-click-handler.html:
      * platform/mac/accessibility/progressbar.html:
      * platform/mac/accessibility/range-alter-by-step.html:
      * platform/mac/accessibility/range-for-line-textarea.html:
      * platform/mac/accessibility/range-for-position.html:
      * platform/mac/accessibility/removing-textarea-after-edit-crash.html:
      * platform/mac/accessibility/role-subrole-roledescription.html:
      * platform/mac/accessibility/rowheader-outside-table-role.html:
      * platform/mac/accessibility/scroll-to-visible-action.html:
      * platform/mac/accessibility/scrollbars.html:
      * platform/mac/accessibility/seamless-iframe.html:
      * platform/mac/accessibility/search-field-cancel-button.html:
      * platform/mac/accessibility/search-predicate.html:
      * platform/mac/accessibility/search-subrole.html:
      * platform/mac/accessibility/search-when-element-starts-in-table.html:
      * platform/mac/accessibility/search-with-frames.html:
      * platform/mac/accessibility/select-element-selection-with-optgroups.html:
      * platform/mac/accessibility/selected-rows-table.html:
      * platform/mac/accessibility/selected-tab-crash.html:
      * platform/mac/accessibility/selected-text-range-for-empty-textarea.html:
      * platform/mac/accessibility/selection-value-changes-for-aria-textbox.html:
      * platform/mac/accessibility/slider-allows-title-ui-element.html:
      * platform/mac/accessibility/slider-supports-actions.html:
      * platform/mac/accessibility/spinbutton-valuedescription.html:
      * platform/mac/accessibility/stale-table-rows.html:
      * platform/mac/accessibility/stale-textmarker-crash.html:
      * platform/mac/accessibility/static-text-role-uses-text-under-element.html:
      * platform/mac/accessibility/static-text-with-aria-label.html:
      * platform/mac/accessibility/string-range-contains-listmarker.html:
      * platform/mac/accessibility/submit-button-default-value.html:
      * platform/mac/accessibility/supports-focus-setting.html:
      * platform/mac/accessibility/table-with-row-col-of-headers.html:
      * platform/mac/accessibility/table-with-zebra-rows.html:
      * platform/mac/accessibility/text-marker-length.html:
      * platform/mac/accessibility/textbox-role-reports-line-number.html:
      * platform/mac/accessibility/textbox-role-reports-notifications.html:
      * platform/mac/accessibility/textmarker-for-index-out-of-bounds-crash.html:
      * platform/mac/accessibility/textmarker-routines.html:
      * platform/mac/accessibility/title-attribute-not-used-as-axtitle.html:
      * platform/mac/accessibility/title-attribute-used-as-last-resort.html:
      * platform/mac/accessibility/unexpected-help-text.html:
      * platform/mac/accessibility/unsupported-attribute-does-not-crash.html:
      * platform/mac/accessibility/update-children-when-aria-role-changes.html:
      * platform/mac/accessibility/updating-attribute-in-table-row-crash.html:
      * platform/mac/accessibility/visible-position-crash-for-text-node.html:
      * platform/mac/accessibility/webarea-can-set-focus.html:
      * platform/mac/accessibility/webarea-size-equals-content-size.html:
      * platform/mac/accessibility/webkit-scrollarea-position.html:
      * platform/mac/accessibility/webkit-scrollarea.html:
      * platform/mac/editing/deleting/id-in-deletebutton.html:
      * platform/mac/editing/input/edit-dictated-text-with-alternative.html:
      * platform/mac/editing/input/firstrectforcharacterrange-caret-in-br.html:
      * platform/mac/editing/input/firstrectforcharacterrange-vertical.html:
      * platform/mac/editing/input/insert-dictated-text.html:
      * platform/mac/editing/input/maxlength.html:
      * platform/mac/editing/input/unconfirmed-text-navigation-with-page-cache.html:
      * platform/mac/editing/selection/doubleclick-should-not-expand-across-lines.html:
      * platform/mac/editing/selection/script-tests/TEMPLATE.html:
      * platform/mac/editing/spelling/autocorrection-blockquote-crash.html:
      * platform/mac/editing/spelling/autocorrection-respets-undo.html:
      * platform/mac/editing/spelling/click-autocorrected-word.html:
      * platform/mac/editing/spelling/delete-into-autocorrected-word.html:
      * platform/mac/editing/spelling/forward-delete-into-autocorrected-word.html:
      * platform/mac/editing/spelling/move-cursor-to-autocorrected-word.html:
      * platform/mac/editing/spelling/move-cursor-to-beginning-of-autocorrected-word.html:
      * platform/mac/fast/css/dashboard-region-parser.html:
      * platform/mac/fast/dom/objc-wrapper-identity.html:
      * platform/mac/fast/dom/wrapper-classes-objc.html:
      * platform/mac/fast/dom/wrapper-round-tripping.html:
      * platform/mac/fast/encoding/xnextstep-decoding.html:
      * platform/mac/fast/events/non-roman-key-code.html:
      * platform/mac/fast/events/numpad-keycode-mapping.html:
      * platform/mac/fast/forms/focus-option-control-on-page.html:
      * platform/mac/fast/forms/input-appearance-spinbutton-size.html:
      * platform/mac/fast/forms/input-number-click.html:
      * platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html:
      * platform/mac/fast/objc/script-tests/TEMPLATE.html:
      * platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html:
      * platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html:
      * platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash.html:
      * platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html:
      * platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html:
      * platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time.html:
      * platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html:
      * platform/mac/fast/speechsynthesis/speech-synthesis-speak.html:
      * platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html:
      * platform/mac/fast/speechsynthesis/speech-synthesis-voices.html:
      * platform/mac/fast/text/ligature-subdivision.html:
      * platform/mac/fast/text/script-tests/TEMPLATE.html:
      * platform/mac/plugins/bindings-objc-long-method-name.html:
      * platform/mac/plugins/bindings-objc-method-name-conversion.html:
      * platform/qt/fast/spatial-navigation/resources/ensure-scrolls-with-scrollbars-disabled-by-webkit.html:
      * platform/win/accessibility/detached-object-notification-crash.html:
      * platform/win/accessibility/document-enabled-state.html:
      * platform/win/accessibility/heading-elements.html:
      * platform/win/accessibility/img-alt-attribute.html:
      * platform/win/accessibility/linked-elements.html:
      * platform/win/accessibility/list-item-role.html:
      * platform/win/accessibility/list-marker-role.html:
      * platform/win/accessibility/list-role.html:
      * platform/win/accessibility/multiple-select-element-role.html:
      * platform/win/accessibility/option-element-position-and-size.html:
      * platform/win/accessibility/parent-element.html:
      * platform/win/accessibility/select-element-role.html:
      * platform/win/accessibility/selection-and-focus.html:
      * platform/win/accessibility/single-select-children-changed.html:
      * platform/win/accessibility/single-select-children.html:
      * platform/win/accessibility/text-role.html:
      * platform/win/editing/selection/doubleclick-should-not-expand-across-lines.html:
      * platform/win/editing/selection/script-tests/TEMPLATE.html:
      * platform/win/fast/events/context-click-events.html:
      * platform/win/fast/events/panScroll-click-hyperlink.html:
      * platform/win/fast/events/script-tests/TEMPLATE.html:
      * platform/win/fast/forms/file/drag-and-drop-files.html:
      * plugins/destroy-stream-twice.html:
      * plugins/focus.html:
      * plugins/navigator-mimeTypes-length.html:
      * plugins/navigator-plugins.html:
      * plugins/npp-new-fails.html:
      * plugins/npruntime/browser-object-identity.html:
      * plugins/npruntime/evaluate.html:
      * plugins/npruntime/identifier-conversion.html:
      * plugins/npruntime/npruntime.html:
      * plugins/npruntime/object-from-destroyed-plugin-in-subframe.html:
      * plugins/npruntime/object-from-destroyed-plugin.html:
      * plugins/npruntime/plugin-scriptable-object-invoke-default.html:
      * plugins/npruntime/remove-property.html:
      * plugins/npruntime/script-tests/TEMPLATE.html:
      * plugins/npruntime/tostring.html:
      * plugins/npruntime/valueof.html:
      * plugins/private-browsing-mode-2.html:
      * plugins/private-browsing-mode.html:
      * plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html:
      * plugins/return-negative-one-from-write.html:
      * printing/allowed-page-breaks.html:
      * printing/no-content-empty-pages.html:
      * printing/numberOfPages.html:
      * printing/page-break-after-avoid.html:
      * printing/page-break-always.html:
      * printing/page-break-avoid.html:
      * printing/page-break-before-avoid.html:
      * printing/page-break-display-none.html:
      * printing/page-break-inside-avoid.html:
      * printing/page-break-margin-collapsed.html:
      * printing/page-break-orphans-and-widows.html:
      * printing/page-break-orphans.html:
      * printing/page-break-widows.html:
      * printing/page-count-percentage-height.html:
      * printing/page-format-data.html:
      * printing/page-rule-selection.html:
      * printing/pageNumerForElementById.html:
      * printing/script-tests/TEMPLATE.html:
      * printing/stretch-to-view-height.html:
      * proximity/add-listener-from-callback.html:
      * proximity/basic-operation.html:
      * proximity/check-event-deviceproximity.html:
      * proximity/create-event-deviceproximity.html:
      * proximity/create-event.html:
      * proximity/event-after-navigation.html:
      * proximity/multiple-frames.html:
      * proximity/no-page-cache.html:
      * proximity/optional-event-properties.html:
      * proximity/updates.html:
      * proximity/window-property.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155282 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44b4166c
  9. 21 Aug, 2013 1 commit
    • timothy_horton@apple.com's avatar
      isReplacementObscured is wrong when the indicator is clipped by an iframe · 2d405bad
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120031
      <rdar://problem/14606819>
      
      Reviewed by Simon Fraser.
      
      Hit-test for plugin obscurity in the root document. To do this, we also need
      to convert the indicator rectangle into root view coordinates before
      hit testing its edges.
      
      This resolves the case where an iframe which clips its content was reporting
      the indicator as not obscured, despite the fact that it was obscured from the
      point of view of the user.
      
      Updated test plugins/unavailable-plugin-indicator-obscurity.html
      
      * rendering/RenderEmbeddedObject.cpp:
      (WebCore::RenderEmbeddedObject::isReplacementObscured):
      
      Update the unavailable plugin indicator test to also ensure that plugins are
      correctly known to be obscured when contained within and clipped by an <iframe>.
      
      * plugins/unavailable-plugin-indicator-obscurity-expected.txt:
      * plugins/unavailable-plugin-indicator-obscurity.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d405bad
  10. 19 Aug, 2013 1 commit
  11. 09 Aug, 2013 1 commit
    • timothy_horton@apple.com's avatar
      navigator.plugins has plugins in it when plugins are disabled · c70f870b
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119607
      <rdar://problem/14678030>
      
      Reviewed by Anders Carlsson.
      
      Test: plugins/navigator-plugins-disabled.html
      
      * page/Settings.cpp:
      (WebCore::Settings::setPluginsEnabled):
      Refresh the plugin database when plugins are enabled or disabled.
      This is necessary to ensure that navigator.plugins will have the
      correct set of plugins after dynamically changing whether plugins
      are enabled, which makes the test for this patch possible (but it
      makes sense in the browser as well).
      
      * UIProcess/WebProcessProxy.cpp:
      (WebKit::WebProcessProxy::getPlugins):
      Return a list of all plugins, and a list of only application plugins.
      
      * UIProcess/WebProcessProxy.h:
      * UIProcess/WebProcessProxy.messages.in:
      * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
      * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
      (WebKit::WebPlatformStrategies::getPluginInfo):
      Add applicationPlugin parameter to getPlugins, and storage for the returned list.
      
      (WebKit::WebPlatformStrategies::populatePluginCache):
      If plugins are disabled for the given page, give WebCore the list that
      only includes application plugins. Otherwise, give it the whole list
      as we are doing currently.
      
      * WebCoreSupport/WebPlatformStrategies.mm:
      (WebPlatformStrategies::getPluginInfo):
      If plugins are disabled for the given page, give WebCore an empty list of
      plugins. If WebKit1 had any application plugins, we'd return just them
      instead.
      
      Add a test that ensures that navigator.plugins only contains
      application plugins when plugins are disabled.
      
      * plugins/navigator-plugins-disabled-expected.txt: Added.
      * plugins/navigator-plugins-disabled.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c70f870b
  12. 31 Jul, 2013 1 commit
  13. 23 Jul, 2013 1 commit
    • timothy_horton@apple.com's avatar
      Add a test for plug-in unavailability indicator obscurity detection · b0aa0e2d
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119007
      
      Reviewed by Anders Carlsson.
      
      Test: plugins/unavailable-plugin-indicator-obscurity.html
      
      Expose the ability to test whether the unavailable plugin indicator
      is obscured via the internals object.
      
      * testing/Internals.cpp:
      (WebCore::Internals::isPluginUnavailabilityIndicatorObscured):
      * testing/Internals.h:
      * testing/Internals.idl:
      Expose RenderEmbeddedObject::isReplacementObscured as
      internals.isPluginUnavailabilityIndicatorObscured for testing purposes.
      
      Expose the ability to block plug-ins via pluginLoadPolicy to testRunner.
      
      * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
      * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
      (WTR::TestRunner::setBlockAllPlugins):
      * WebKitTestRunner/InjectedBundle/TestRunner.h:
      * WebKitTestRunner/TestInvocation.cpp:
      (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
      Add testRunner.setBlockAllPlugins function (and corresponding message to
      forward it through to TestController).
      
      * WebKitTestRunner/TestController.cpp:
      Initialize m_shouldBlockAllPlugins to false (and drive-by initialize m_handlesAuthenticationChallenges).
      
      (WTR::TestController::createWebViewWithOptions):
      Register our pluginLoadPolicy callback.
      
      (WTR::TestController::resetStateToConsistentValues):
      Reset m_shouldBlockAllPlugins to false.
      
      (WTR::TestController::pluginLoadPolicy):
      Return the existing plugin load policy, unless setBlockAllPlugins(true)
      was called, in which case we reject all plugins with kWKPluginLoadPolicyBlocked.
      
      * WebKitTestRunner/TestController.h:
      (WTR::TestController::setBlockAllPlugins):
      
      Add a test that ensures that RenderEmbeddedObject accurately detects the
      various different ways the unavailable plugin dialog can be obscured.
      
      * platform/mac-wk2/TestExpectations:
      * platform/mac/TestExpectations:
      * plugins/unavailable-plugin-indicator-obscurity-expected.txt: Added.
      * plugins/unavailable-plugin-indicator-obscurity.html: Added.
      
      * Source/autotools/symbols.filter:
      Expose RenderEmbeddedObject::isReplacementObscured to internals.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b0aa0e2d
  14. 18 Jul, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Fixed ASSERTION FAILED: callFrame == vm->topCallFrame in JSC::Interpreter::addStackTraceIfNecessary · e0c69d5e
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=118498
      
      Patch by Chris Curtis <chris_curtis@apple.com> on 2013-07-18
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      * jit/JITStubs.cpp:
      (throwExceptionFromOpCall):
      Created new throwExceptionFromOpCall that takes in a functor that contains
      a function pointer (to create the errorObject) instead of a JSValue. Inside
      of throwExceptionFromOpCall the topCallFrame is being rolled back in order
      to handle the error throw. By passing the function pointer in, we can defer
      the creation of the error object until after topCallFrame has been rolled
      back. This allows the error object to be created with the appropriate top
      frame.
      
      DEFINE_STUB_FUNCTION(void*, stack_check):
      DEFINE_STUB_FUNCTION(void*, op_call_arityCheck):
      DEFINE_STUB_FUNCTION(void*, op_construct_arityCheck):
      DEFINE_STUB_FUNCTION(EncodedJSValue, op_call_NotJSFunction):
      DEFINE_STUB_FUNCTION(EncodedJSValue, op_construct_NotJSConstruct):
      
      (JSC::ErrorFunctor::~ErrorFunctor):
      (JSC::ErrorWithExecFunctor::ErrorWithExecFunctor):
      (JSC::ErrorWithExecFunctor::operator()):
      (JSC::ErrorWithExecAndCalleeFunctor::ErrorWithExecAndCalleeFunctor):
      (JSC::ErrorWithExecAndCalleeFunctor::operator()):
      (JSC::ErrorWithExceptionFunctor::ErrorWithExceptionFunctor):
      (JSC::ErrorWithExceptionFunctor::operator()):
      (JSC::throwExceptionFromOpCall):
      
      In order to eliminate the need to duplicate code, an error functor was
      created for the 3 different throwExceptionFromOpCall handles.
      1. The exception needs to be created, and the function pointer takes 1
          parameter(callFrame->callerFrame()).
      2. The exception needs to be created, and the function pointer takes 2
          parameters (callFrame->callerFrame(), callFrame.calleeAsValue()).
      3. The exception is already created. In this case, At the time when
          the error functor is called, vm.exception is returned.
      
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      * runtime/ExceptionHelpers.cpp:
      (JSC::errorDescriptionForValue):
      (JSC::createError):
      (JSC::createInvalidParameterError):
      (JSC::createNotAConstructorError):
      (JSC::createNotAFunctionError):
      (JSC::createNotAnObjectError):
      * runtime/ExceptionHelpers.h:
      
      The function toString() was being used to stringify an object for an exception
      message. If the user wrote a toString() for that object, then the system would
      continue to evaluate that code. A new helper function was created to prevent
      the system to continue execution and exception creation from that execution.
      
      LayoutTests:
      
      New Tests to see if JSC evaluates user code after exception creation
      
      * fast/js/not-a-constructor-to-string-expected.txt: Added.
      * fast/js/not-a-constructor-to-string.html: Added.
      * fast/js/not-a-function-to-string-expected.txt: Added.
      * fast/js/not-a-function-to-string.html: Added.
      
      Modified test output of the object that was being evaluated at the time of the
      error. Only the error message has changed.
      
      * fast/dom/MutationObserver/mutation-record-constructor-expected.txt:
      * fast/dom/NodeList/nodelist-item-call-as-function-expected.txt:
      * fast/dom/Range/getClientRects-expected.txt:
      * fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
      * fast/dom/SelectorAPI/dumpNodeList-expected.txt:
      * fast/dom/call-a-constructor-as-a-function-expected.txt:
      * fast/dom/setPrimitiveValue-exceptions-expected.txt:
      * fast/events/window-onerror-exception-in-attr-expected.txt:
      * fast/forms/select-namedItem-expected.txt:
      * fast/js/arguments-expected.txt:
      * fast/js/array-prototype-properties-expected.txt:
      * fast/js/basic-strict-mode-expected.txt:
      * fast/js/date-toisostring-expected.txt:
      * fast/js/delete-getters-setters-expected.txt:
      * fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt:
      * fast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object-expected.txt:
      * fast/js/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object-expected.txt:
      * fast/js/dfg-inline-arguments-use-from-all-the-places-broken-expected.txt:
      * fast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven-final-object-expected.txt:
      * fast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-proven-final-object-expected.txt:
      * fast/js/exception-expression-offset-expected.txt:
      * fast/js/exception-for-nonobject-expected.txt:
      * fast/js/exception-thrown-from-new-expected.txt:
      * fast/js/function-bind-expected.txt:
      * fast/js/instance-of-immediates-expected.txt:
      * fast/js/object-prototype-properties-expected.txt:
      * fast/regex/cross-frame-callable-expected.txt:
      * fast/xsl/transform-xhr-doc-expected.txt:
      * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt:
      * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt:
      * http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
      * http/tests/security/document-all-expected.txt:
      * http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:
      * http/tests/security/window-named-proto-expected.txt:
      * inspector/console/console-exception-stack-traces-expected.txt:
      * platform/efl/css3/selectors3/xhtml/css3-modsel-15c-expected.txt:
      * platform/efl/css3/selectors3/xml/css3-modsel-15c-expected.txt:
      * platform/efl/fast/events/updateLayoutForHitTest-expected.txt:
      * platform/efl/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
      * platform/gtk/css3/selectors3/xhtml/css3-modsel-15c-expected.txt:
      * platform/gtk/css3/selectors3/xml/css3-modsel-15c-expected.txt:
      * platform/gtk/fast/events/updateLayoutForHitTest-expected.txt:
      * platform/gtk/svg/custom/createelement-expected.txt:
      * platform/gtk/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
      * platform/mac-wk2/editing/spelling/markers-expected.txt:
      * platform/mac-wk2/plugins/npruntime/object-from-destroyed-plugin-expected.txt: Added.
      * platform/mac-wk2/plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt: Added.
      * platform/mac/css3/selectors3/xhtml/css3-modsel-15c-expected.txt:
      * platform/mac/css3/selectors3/xml/css3-modsel-15c-expected.txt:
      * platform/mac/fast/events/updateLayoutForHitTest-expected.txt:
      * platform/mac/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
      * platform/qt/css3/selectors3/xhtml/css3-modsel-15c-expected.txt:
      * platform/qt/css3/selectors3/xml/css3-modsel-15c-expected.txt:
      * platform/qt/svg/custom/createelement-expected.txt:
      * platform/qt/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
      * platform/win/fast/dom/call-a-constructor-as-a-function-expected.txt:
      * plugins/npruntime/object-from-destroyed-plugin-expected.txt:
      * plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt:
      * plugins/npruntime/plugin-scriptable-object-invoke-default-expected.txt:
      * sputnik/Conformance/08_Types/8.6_The_Object_Type/8.6.2_Internal_Properties_and_Methods/S8.6.2_A7-expected.txt:
      * sputnik/Conformance/13_Function_Definition/S13_A17_T2-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/S15.1_A1_T1-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/S15.1_A1_T2-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/S15.1_A2_T1-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.2_Object.prototype.toString/S15.2.4.2_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/S15.2.4_A3-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/S15.2.4_A4-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.4/15.3.4.2_Function.prototype.toString/S15.3.4.2_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.4/S15.3.4_A5-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.13_String.prototype.slice/S15.5.4.13_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.15_String.prototype.substring/S15.5.4.15_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A7-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A7-expected.txt:
      * svg/custom/createelement-expected.txt:
      * svg/custom/use-nested-missing-target-removed-expected.txt:
      * svg/dom/svgpath-out-of-bounds-getPathSeg-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e0c69d5e
  15. 11 Jul, 2013 2 commits
    • roger_fong@apple.com's avatar
      Replace simple_blank.swf with lines.swf for snapshotting tests. · 01727223
      roger_fong@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118581.
      
      Reviewed by Tim Horton.
      
      * plugins/resources/lines.swf: Added.
      * plugins/snapshotting/autoplay-dominant.html:
      * plugins/snapshotting/autoplay-similar-to-dominant-after-delay.html:
      * plugins/snapshotting/autoplay-similar-to-dominant.html:
      * plugins/snapshotting/plugin-receives-click-event.html:
      * plugins/snapshotting/restart.html:
      * plugins/snapshotting/simple.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152582 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01727223
    • roger_fong@apple.com's avatar
      Plugins that don't support snapshotting should not all autostart. · 78dd618f
      roger_fong@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118572
      <rdar://problem/14324391>.
      
      Reviewed by Dean Jackson.
      
      Test: plugins/snapshotting/quicktime-plugin-snapshotted.html
      
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Pass in information about whether or not a snapshot exists
      to the shadow dom.
      * plugins/PluginViewBase.h:
      (WebCore::PluginViewBase::shouldNotAddLayer): This method determines whether or not we should add the plugin's layer to the tree.
      It should not be added if the plugin is in it's snapshotted state but does not actually support snapshotting.
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): We should only add the layer to the tree when the plugin
      is actually playing. Otherwise we run into an issue where the contents of the layer initially appear on the screen briefly 
      on page load before we display the substitute for a plugin that doesn't support snapshotting.
      
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::PluginView::shouldNotAddLayer): This method determines whether or not we should add the plugin's layer to the tree.
      It should not be added if the plugin is in it's snapshotted state but does not actually support snapshotting.
      (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin does not support snapshotting go straight 
      to the the DisplayingSnapshot state.
      * WebProcess/Plugins/PluginView.h:
      
      * platform/mac-wk2/plugins/snapshotting/quicktime-plugin-snapshotted-expected.txt: Added.
      * plugins/snapshotting/quicktime-plugin-snapshotted.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78dd618f
  16. 10 Jul, 2013 1 commit
    • roger_fong@apple.com's avatar
      HTMLPluginElement's state should be Playing before firing mouse click event. · f3c9f058
      roger_fong@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118398.
      <rdar://problem/14262126>
      
      Reviewed by Dean Jackson.
      
      Test: plugins/snapshotting/plugin-receives-click-event.html
      
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired):
      The defaultEventHandler returns early if the state is not Playing.
      This is because we only want the plugin to deal with user interaction normally if the
      plugin is actually enabled (not being snapshotted).
      When we click on the snapshotted plugin to start it, we mimic what would happen to the plugin
      normally by dispatching another click event on top of where we just clicked.
      However, we were sending the click event before setting the state to Playing which meant that our
      simulated click was not being handled. 
      We should be setting this state before sending the click, not after.
      * platform/mac-wk2/plugins/snapshotting/plugin-receives-click-event-expected.txt: Added.
      * plugins/snapshotting/plugin-receives-click-event.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3c9f058
  17. 22 May, 2013 1 commit
  18. 24 Apr, 2013 1 commit
  19. 08 Apr, 2013 1 commit
    • andersca@apple.com's avatar
      Call Netscape Plugin's toString() and valueOf() instead of providing default implementation · 0cb90f97
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113139
      
      Patch by Arunprasad Rajkumar <arunprasadr@nds.com> on 2013-04-08
      Reviewed by Anders Carlsson.
      
      Source/WebCore:
      
      Tests: plugins/npruntime/tostring.html
             plugins/npruntime/valueof.html
      
      * bridge/c/c_instance.cpp:
      (JSC::Bindings::CInstance::~CInstance):
      (JSC::Bindings::CInstance::invokeMethod):
      (JSC::Bindings::CInstance::invokeDefaultMethod):
      (Bindings):
      (JSC::Bindings::CInstance::invokeConstruct):
      (JSC::Bindings::CInstance::stringValue):
      (JSC::Bindings::CInstance::booleanValue):
      (JSC::Bindings::CInstance::valueOf):
      (JSC::Bindings::CInstance::toJSPrimitive):
      * bridge/c/c_instance.h:
      (CInstance):
      
      Tools:
      
      * DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePlugin.vcxproj:
      * DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePlugin.vcxproj.filters:
      * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
      * DumpRenderTree/TestNetscapePlugIn/Tests/ToStringAndValueOfObject.cpp: Added.
      (ToStringAndValueOfObject):
      (ToStringAndValueOfObject::ToStringAndValueOfObject):
      (ScriptableObject):
      (ToStringAndValueOfObject::ScriptableObject::hasMethod):
      (ToStringAndValueOfObject::ScriptableObject::invoke):
      (ToStringAndValueOfObject::ScriptableObject::pluginTest):
      (ToStringAndValueOfObject::NPP_GetValue):
      * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
      * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
      * GNUmakefile.am:
      
      LayoutTests:
      
      * platform/qt-mac/TestExpectations:
      * platform/wk2/TestExpectations:
      * plugins/npruntime/tostring-expected.txt: Added.
      * plugins/npruntime/tostring.html: Added.
      * plugins/npruntime/valueof-expected.txt: Added.
      * plugins/npruntime/valueof.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147956 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0cb90f97
  20. 03 Apr, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Unable to focus on embedded plugins such as Flash via javascript focus() · fefc6dd6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=32292
      
      Patch by Dave Michael <dmichael@chromium.org> on 2013-04-03
      Reviewed by Ryosuke Niwa.
      
      Source/WebCore:
      
      Make embed, object, and applet elements support focus() when
      appropriate. Prior to this patch, javascript focus() had no effect on
      embed, object, or applet elements unless tabindex or contenteditable is
      set. With this patch, focus() will focus the element unless the plugin
      content has failed to load (i.e., we are showing either fallback content
      or an unavailable plugin indicator).
      
      Test: plugins/focus.html
            java/focus.html
      
      * html/HTMLPlugInElement.cpp:
      (WebCore::HTMLPlugInElement::supportsFocus):
      Overridden to return true except when the plugin content has failed to load.
      * html/HTMLPlugInElement.h:
      (WebCore::HTMLPlugInElement::useFallbackContent):
      Moved up from HTMLPlugInImageElement.
      (WebCore::HTMLPlugInElement::supportsFocus):
      * html/HTMLPlugInElement.h:
      (WebCore::HTMLPlugInImageElement::useFallbackContent):
      Removed. Now the implementation is inherited from HTMLPlugInElement.
      
      LayoutTests:
      
      Add/update testing to ensure embed, object, and applet tags now support
      focus except when plugin content did not load.
      
      * fast/events/resources/tabindex-focus-blur-all-frame1.html: Change embed and object
          elements to reference an invalid plugin, to be consistent with applet. These
          element types are not focusable when there is valid plugin content.
      * fast/events/resources/tabindex-focus-blur-all-frame2.html: Same as above.
      * fast/events/resources/tabindex-focus-blur-all-iframe1.html: Same as above.
      * fast/events/resources/tabindex-focus-blur-all-iframe2.html: Same as above.
      * java/focus-expected.txt: Added.
      * java/focus.html: Added.
      * plugins/focus-expected.txt: Added.
      * plugins/focus.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fefc6dd6
  21. 26 Mar, 2013 1 commit
    • dino@apple.com's avatar
      When a primary plugin is restarted, also start similar plugins · cf69686e
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=113265
      
      Reviewed by Tim Horton.
      
      Source/WebCore:
      
      If we detect a primary plugin that is snapshotted, we immediately restart it.
      When this happens, we should also restart any other plugins that
      match the same origin and type. This allows sites with a lot of
      (geometrically) nearby plugins to behave as if they are a single big plugin.
      
      Tests: plugins/snapshotting/autoplay-similar-to-dominant-after-delay.html
             plugins/snapshotting/autoplay-similar-to-dominant.html
      
      * WebCore.exp.in: Export mimeTypeFromURL.
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Use loadedMimeType helper.
      (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): New method, which copied the
          existing code from userDidClickSnapshot.
      (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Move the similar plugin detection
          out into another function and call it.
      (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Call restartSimilarPlugIns.
      (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Use loadedMimeType helper.
      * html/HTMLPlugInImageElement.h: Declaration of restartSimilarPlugIns.
      (WebCore::HTMLPlugInImageElement::loadedMimeType): New helper method since this
          code was being often duplicated.
      
      Source/WebKit2:
      
      Remember the origin of the primary plugin, so that we can
      autostart anything that is similar.
      
      * WebProcess/WebCoreSupport/WebPlugInClient.cpp:
      (WebKit::WebPlugInClient::WebPlugInClient): Keep a pointer to the WebPage.
      (WebKit::WebPlugInClient::shouldAutoStartFromOrigin): Pass the page onto the process.
      * WebProcess/WebCoreSupport/WebPlugInClient.h:
      (WebPlugInClient): New member variable for the WebPage we were created with.
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::determinePrimarySnapshottedPlugIn): Remember the origin information
          for the primary plugin.
      (WebKit::WebPage::matchesPrimaryPlugIn): Returns true if we're seeing something that
          looks like the primary plugin.
      * WebProcess/WebPage/WebPage.h: New method matchesPrimaryPlugIn.
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin): Check if the page thinks this is
          the primary plugin.
      * WebProcess/WebProcess.h: Accept a reference to the page in shouldPlugInAutoStartFromOrigin.
      
      LayoutTests:
      
      Two new tests. The first has one big plugin (that should be detected as the primary)
      and then a few smaller versions (which should autostart along with the primary).
      The second has one big plugin, and then adds a similar one after a short delay.
      
      * platform/mac-wk2/plugins/snapshotting/autoplay-similar-to-dominant-after-delay-expected.txt: Added.
      * platform/mac-wk2/plugins/snapshotting/autoplay-similar-to-dominant-expected.txt: Added.
      * plugins/snapshotting/autoplay-similar-to-dominant-after-delay.html: Added.
      * plugins/snapshotting/autoplay-similar-to-dominant.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf69686e
  22. 22 Mar, 2013 1 commit
  23. 19 Mar, 2013 1 commit
    • dino@apple.com's avatar
      Source/WebCore: Allow PlugIn Snapshotting to be tested · 0743e1e4
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=98696
      
      Reviewed by Tim Horton.
      
      Expose a new setting maximumPlugInSnapshotAttempts that can
      be set by testing scripts.
      
      Tests: plugins/snapshotting/restart.html
             plugins/snapshotting/simple.html
      
      * page/Settings.in:
      
      Source/WebKit2: Allow PlugIn Snapshotting to be tested
      https://bugs.webkit.org/show_bug.cgi?id=98696
      
      Reviewed by Tim Horton.
      
      Use the new maximumPlugInSnapshotAttempts setting rather than a hardcoded
      value. At the same time, if this value is 0, then snapshot immediately
      (don't wait to get a snapshot and test it).
      
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::PluginView::didInitializePlugin): Snapshot immediately if maximum attempts are 0.
      (WebKit::PluginView::pluginSnapshotTimerFired): Use setting rather than file local variable.
      
      LayoutTests: Allow PlugIn Snapshotting to be tested
      https://bugs.webkit.org/show_bug.cgi?id=98696
      <rdar://problem/12456731>
      
      Reviewed by Tim Horton.
      
      Two new simple tests for plugin snapshotting. One that makes
      sure the plugin was snapshotted (looks for the RenderSnapshottedPlugin)
      and one that restarts a snapshotted plugin by clicking.
      
      Since this feature is currently only enabled in WebKit2, the tests
      are skipped everywhere else.
      
      * platform/chromium/TestExpectations: Skip plugins/snapshotting.
      * platform/efl/TestExpectations: Ditto.
      * platform/gtk/TestExpectations: Ditto.
      * platform/mac-wk2/TestExpectations: Ditto.
      * platform/mac-wk2/plugins/snapshotting/restart-expected.txt: Added.
      * platform/mac-wk2/plugins/snapshotting/simple-expected.txt: Added.
      * platform/mac/TestExpectations: Skip plugins/snapshotting.
      * platform/qt/TestExpectations: Ditto.
      * platform/win/TestExpectations: Ditto.
      * plugins/snapshotting/restart.html: Added.
      * plugins/snapshotting/simple.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0743e1e4
  24. 15 Mar, 2013 1 commit
    • jochen@chromium.org's avatar
      plugins/netscape-plugin-setwindow-size*.html and... · 819d6c32
      jochen@chromium.org authored
      plugins/netscape-plugin-setwindow-size*.html and plugins/pass-different-npp-struct.html should be async
      https://bugs.webkit.org/show_bug.cgi?id=112478
      
      Reviewed by Tony Chang.
      
      There is nothing that ensures that the log messages from the plugin
      come in before the layout test finished loading.
      
      Tools:
      
      * DumpRenderTree/TestNetscapePlugIn/Tests/PassDifferentNPPStruct.cpp:
      (PassDifferentNPPStruct::NPP_SetWindow):
      * DumpRenderTree/TestNetscapePlugIn/main.cpp:
      (NPP_SetWindow):
      
      LayoutTests:
      
      * platform/mac-wk2/plugins/netscape-plugin-setwindow-size-2-expected.txt: Removed.
      * plugins/netscape-plugin-setwindow-size-2.html:
      * plugins/netscape-plugin-setwindow-size.html:
      * plugins/pass-different-npp-struct.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      819d6c32
  25. 14 Mar, 2013 2 commits
  26. 08 Mar, 2013 1 commit
    • dino@apple.com's avatar
      Implement a custom appearance for the snapshotted plugin background · a7ea40b2
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108368
      
      Reviewed by NOBODY (OOPS!).
      
      Source/WebCore:
      
      After https://bugs.webkit.org/show_bug.cgi?id=108284 (r142507), a
      snapshotted plugin was no longer drawing the background of the
      label blurred. Since the snapshot content was now a shadow tree,
      it wasn't feasible to pre-blur a region of the snapshot: the label
      could be any size and in any location, with ports being able to
      override the appearance through their UA style sheet.
      
      Instead we now use one of the elements in the tree, the snapshot-overlay,
      as a hook where ports can add any effect they want. This could be simply
      a border, or a transparent mask, or even a CSS filter. We introduce a custom
      CSS appearance "snapshotted-plugin-overlay", which could be added to the
      element in the injected UA stylesheet. This calls into RenderTheme in
      the same way that custom controls do.
      
      Meanwhile, in RenderThemeMac, we implement the appearance by drawing the
      content of the plugin snapshot into the background of the element. That
      way we can add effects in CSS.
      
      Test: plugins/snapshot-appearance.html
      
      * css/CSSPrimitiveValueMappings.h:
      (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle SnapshottedPluginOverlayPart.
      * css/CSSValueKeywords.in: New appearance value snapshotted-plugin-overlay.
      * platform/ThemeTypes.h: New value SnapshottedPluginOverlayPart.
      * html/HTMLPlugInElement.h:
      (WebCore::toHTMLPlugInElement): Add safer casting helpers.
      * html/HTMLPlugInImageElement.h:
      (WebCore::toHTMLPlugInImageElement): Ditto.
      * rendering/RenderSnapshottedPlugIn.cpp: Remove the code for handling
          the blur directly in the renderer.
      (WebCore::RenderSnapshottedPlugIn::paint): Simplify the paint logic since we're
          no longer trying to blur here.
      (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.
      * rendering/RenderSnapshottedPlugIn.h: Remove the methods that were trying
          to blur the image directly.
      * rendering/RenderTheme.cpp:
      (WebCore::RenderTheme::paint): Call paintSnapshottedPluginOverlay.
      * rendering/RenderTheme.h:
      (WebCore::RenderTheme::paintSnapshottedPluginOverlay): New virtual method with default implementation.
      * rendering/RenderThemeMacShared.h:
      (RenderThemeMacShared): Override paintSnapshottedPluginOverlay.
      * rendering/RenderThemeMacShared.mm:
      (WebCore::RenderThemeMacShared::paintSnapshottedPluginOverlay): Implement a custom render path
          that takes the snapshot image from the node's parent, and draws it into the background.
          Along the way make sure we're actually using the right type of element (an HTMLPlugInImageElement).
      
      LayoutTests:
      
      Toggles our new snapshotted-plugin-overlay appearance, to make sure it
      isn't getting applied to non-plugins.
      
      * plugins/snapshot-appearance-expected.html: Added.
      * plugins/snapshot-appearance.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a7ea40b2
  27. 28 Feb, 2013 1 commit
  28. 27 Feb, 2013 2 commits
    • commit-queue@webkit.org's avatar
      Plugin in iframe may not display · 216b5ea8
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109879
      
      Patch by John Bauman <jbauman@chromium.org> on 2013-02-27
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      Changing the cliprect on a layer containing an iframe may change the
      cliprect of plugins inside the iframe, so recursively tell all plugins
      in iframes that their cliprect has changed after doing layout on the
      outer frame.
      
      Test: plugins/plugin-clip-subframe.html
      
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::clipRectChanged):
      * platform/ScrollView.h:
      * platform/Widget.h:
      (WebCore::Widget::clipRectChanged):
      * plugins/PluginView.cpp:
      (WebCore::PluginView::clipRectChanged):
      * plugins/PluginView.h:
      * rendering/RenderWidget.cpp:
      (WebCore::RenderWidget::setWidgetGeometry):
      
      Source/WebKit/chromium:
      
      Use clipRectChanged to update the geometry.
      
      * src/WebPluginContainerImpl.cpp:
      (WebKit::WebPluginContainerImpl::clipRectChanged):
      * src/WebPluginContainerImpl.h:
      
      Source/WebKit/mac:
      
      Ensure NetscapePluginWidget informs the plugin view of the cliprect change directly.
      
      * Plugins/WebBaseNetscapePluginView.h:
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (NetscapePluginWidget::clipRectChanged):
      
      Source/WebKit2:
      
      Update geometry when cliprect changes.
      
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::PluginView::clipRectChanged):
      * WebProcess/Plugins/PluginView.h:
      
      Tools:
      
      LogNPPSetWindow will be used with other ports as well.
      
      * DumpRenderTree/DumpRenderTree.gypi:
      * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
      
      LayoutTests:
      
      Use log-npp-set-window to ensure plugin clip changes correctly.
      
      * platform/mac-wk2/plugins/plugin-clip-subframe-expected.txt: Added.
      * platform/mac/plugins/plugin-clip-subframe-expected.txt: Added.
      * plugins/plugin-clip-subframe-expected.txt: Added.
      * plugins/plugin-clip-subframe.html: Added.
      * plugins/resources/plugin-clip-subframe-iframe.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      216b5ea8
    • jochen@chromium.org's avatar
      plugins/netscape-plugin-setwindow-size*.html and... · 1c288193
      jochen@chromium.org authored
      plugins/netscape-plugin-setwindow-size*.html and plugins/pass-different-npp-struct.html should be async
      https://bugs.webkit.org/show_bug.cgi?id=110973
      
      Reviewed by Adam Barth.
      
      There is nothing that ensures that the log messages from the plugin
      come in before the layout test finished loading.
      
      Tools:
      
      * DumpRenderTree/TestNetscapePlugIn/Tests/PassDifferentNPPStruct.cpp:
      (PassDifferentNPPStruct::NPP_SetWindow):
      * DumpRenderTree/TestNetscapePlugIn/main.cpp:
      (NPP_SetWindow):
      
      LayoutTests:
      
      * platform/mac-wk2/plugins/netscape-plugin-setwindow-size-2-expected.txt: Removed.
      * plugins/netscape-plugin-setwindow-size-2.html:
      * plugins/netscape-plugin-setwindow-size.html:
      * plugins/pass-different-npp-struct.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1c288193
  29. 11 Feb, 2013 1 commit
    • tony@chromium.org's avatar
      Move setFrameFlatteningEnabled from layoutTestController to window.internals.settings · 13de1bba
      tony@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87149
      
      Reviewed by Simon Fraser.
      
      Source/WebKit2:
      
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Add setFrameFlatteningEnabled to the list of overridable values.
      
      Tools:
      
      Remove testRunner.setFrameFlatteningEnabled from DRT and WTR. WebKit API
      methods are left because there may be users of it. Add a test for Apple Mac
      to ensure that the API for the preference still works using overridePreference.
      
      * DumpRenderTree/TestRunner.cpp:
      (TestRunner::staticFunctions):
      * DumpRenderTree/TestRunner.h:
      (TestRunner):
      * DumpRenderTree/blackberry/DumpRenderTree.cpp:
      (BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):
      * DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
      * DumpRenderTree/efl/TestRunnerEfl.cpp:
      * DumpRenderTree/gtk/DumpRenderTree.cpp:
      (resetDefaultsToConsistentValues):
      * DumpRenderTree/gtk/TestRunnerGtk.cpp:
      * DumpRenderTree/mac/TestRunnerMac.mm:
      * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
      (WebCore::WebPage::resetSettings):
      * DumpRenderTree/qt/TestRunnerQt.cpp:
      * DumpRenderTree/qt/TestRunnerQt.h:
      (TestRunner):
      * DumpRenderTree/win/DumpRenderTree.cpp:
      (resetDefaultsToConsistentValues):
      * DumpRenderTree/win/TestRunnerWin.cpp:
      * DumpRenderTree/wx/TestRunnerWx.cpp:
      * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
      * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
      * WebKitTestRunner/InjectedBundle/TestRunner.h:
      (TestRunner):
      
      LayoutTests:
      
      Update tests to use internal.settings.setFrameFlatteningEnabled, which is automatically
      generated from Settings.in.
      Add a Mac only test that uses overridePreference to test the API.
      
      * fast/frames/flattening/crash-svg-document.html:
      * fast/frames/flattening/frameset-flattening-advanced.html:
      * fast/frames/flattening/frameset-flattening-grid.html:
      * fast/frames/flattening/frameset-flattening-simple.html:
      * fast/frames/flattening/frameset-flattening-subframe-resize.html:
      * fast/frames/flattening/frameset-flattening-subframesets.html:
      * fast/frames/flattening/iframe-flattening-crash.html:
      * fast/frames/flattening/iframe-flattening-fixed-height.html:
      * fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html:
      * fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html:
      * fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html:
      * fast/frames/flattening/iframe-flattening-fixed-width-and-height.html:
      * fast/frames/flattening/iframe-flattening-fixed-width.html:
      * fast/frames/flattening/iframe-flattening-nested.html:
      * fast/frames/flattening/iframe-flattening-offscreen.html:
      * fast/frames/flattening/iframe-flattening-out-of-view-and-scroll.html:
      * fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html:
      * fast/frames/flattening/iframe-flattening-out-of-view.html:
      * fast/frames/flattening/iframe-flattening-selection-crash.html:
      * fast/frames/flattening/iframe-flattening-simple.html:
      * fast/frames/flattening/iframe-tiny.html:
      * fast/spatial-navigation/snav-iframe-flattening-simple.html:
      * fast/text-autosizing/narrow-iframe-flattened.html:
      * http/tests/misc/iframe-flattening-3level-nesting-with-blocking-resource.html:
      * platform/chromium/TestExpectations: Chromium doesn't use frame flattening on mobile either.
      * plugins/frameset-with-plugin-frame.html:
      * fast/frames/flattening/crash-svg-document.html:
      * fast/frames/flattening/frameset-flattening-advanced.html:
      * fast/frames/flattening/frameset-flattening-grid.html:
      * fast/frames/flattening/frameset-flattening-simple.html:
      * fast/frames/flattening/frameset-flattening-subframe-resize.html:
      * fast/frames/flattening/frameset-flattening-subframesets.html:
      * fast/frames/flattening/iframe-flattening-crash.html:
      * fast/frames/flattening/iframe-flattening-fixed-height.html:
      * fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html:
      * fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html:
      * fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html:
      * fast/frames/flattening/iframe-flattening-fixed-width-and-height.html:
      * fast/frames/flattening/iframe-flattening-fixed-width.html:
      * fast/frames/flattening/iframe-flattening-nested.html:
      * fast/frames/flattening/iframe-flattening-offscreen.html:
      * fast/frames/flattening/iframe-flattening-out-of-view-and-scroll.html:
      * fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html:
      * fast/frames/flattening/iframe-flattening-out-of-view.html:
      * fast/frames/flattening/iframe-flattening-selection-crash.html:
      * fast/frames/flattening/iframe-flattening-simple.html:
      * fast/frames/flattening/iframe-tiny.html:
      * fast/spatial-navigation/snav-iframe-flattening-simple.html:
      * fast/text-autosizing/narrow-iframe-flattened.html:
      * http/tests/misc/iframe-flattening-3level-nesting-with-blocking-resource.html:
      * platform/chromium/TestExpectations:
      * platform/mac/fast/frames/flattening/set-preference-expected.txt: Added.
      * platform/mac/fast/frames/flattening/set-preference.html: Added.
      * plugins/frameset-with-plugin-frame.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13de1bba
  30. 17 Dec, 2012 1 commit
    • commit-queue@webkit.org's avatar
      Regression causing DOM objects to have unstable NPObject* references with v8 bindings · 3f2b6b5b
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=104921
      
      Source/WebCore:
      
      Patch by Matthew Dempsky <mdempsky@google.com> on 2012-12-17
      Reviewed by Kentaro Hara.
      
      Fix regression introduced by changeset 135804 resulting in
      unstable NPObject* references for v8 objects.  In the iter !=
      v8NPObjectMap->end() code path, objectVector was left unassigned
      if the for loop terminated without returning.
      
      Also, V8Object::GetIdentityHash() is documented as not being guaranteed
      as unique.  As such, don't ASSERT() that two objects with the same hash
      must therefor be the same object.
      
      Tests: plugins/npruntime/embed-property-iframe-equality.html
      
      * bindings/v8/NPV8Object.cpp:
      (WebCore::npCreateV8ScriptObject): Fix.
      
      LayoutTests:
      
      Patch by Mathew Dempsky <mdempsky@google.com> on 2012-12-17
      Reviewed by Kentaro Hara.
      
      Add variant of embed-property-equality test to verify that the
      test still passes when the object being tested for equality
      has already been remembered by a plugin from a different
      JavaScript context.
      
      * plugins/npruntime/embed-property-iframe-equality.html: Added.
      * plugins/npruntime/embed-property-iframe-equality-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f2b6b5b
  31. 05 Dec, 2012 1 commit
  32. 26 Oct, 2012 1 commit
    • andersca@apple.com's avatar
      Source/WebKit2: Crash when making NPRuntime calls with a null NPP pointer · c9f746e2
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100569
      <rdar://problem/11726426>
      <rdar://problem/12352836>
      
      Reviewed by Darin Adler.
      
      Finally bite the bullet and remove the assertion from NetscapePlugin::fromNPP. The WebKit1 equivalent of this
      function used to return the plug-in currently being initialized in NPP_New, but we've never done that in WebKit2
      and it has never been necessary. The crashes fixed here are not from calls underneath NPP_New so fixing it wouldn't
      do us any good anyway.
      
      Also, make the PluginDestructionProtector handle a null plug-in gracefully.
      
      * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
      (WebKit::PluginDestructionProtector::PluginDestructionProtector):
      (PluginDestructionProtector):
      * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
      (WebKit::NetscapePlugin::fromNPP):
      
      Tools: Crash when making NPRuntime calls with a null NPP pointer
      https://bugs.webkit.org/show_bug.cgi?id=100569
      
      Reviewed by Darin Adler.
      
      Add new NPRuntimeCallsWithNullNPP plug-in test.
      
      * DumpRenderTree/DumpRenderTree.gypi:
      * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
      * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
      (PluginTest::NPN_ReleaseVariantValue):
      (PluginTest::netscapeFuncs):
      * DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
      (PluginTest):
      * DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeCallsWithNullNPP.cpp: Added.
      (NPRuntimeCallsWithNullNPP):
      (NPRuntimeCallsWithNullNPP::NPRuntimeCallsWithNullNPP):
      (NPRuntimeCallsWithNullNPP::NPP_New):
      * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
      * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
      * GNUmakefile.am:
      
      LayoutTests: Crash when making NPRuntime calls with a null NPP pointer
      https://bugs.webkit.org/show_bug.cgi?id=100569
      
      Reviewed by Darin Adler.
      
      Add new tests.
      
      * plugins/npruntime/npruntime-calls-with-null-npp-expected.txt: Added.
      * plugins/npruntime/npruntime-calls-with-null-npp.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132713 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9f746e2
  33. 28 Sep, 2012 2 commits
  34. 13 Sep, 2012 1 commit
    • tsepez@chromium.org's avatar
      Source/WebCore: ASSERT(!eventDispatchForbidden()) fires when removed plugin... · 43056c5f
      tsepez@chromium.org authored
      Source/WebCore: ASSERT(!eventDispatchForbidden()) fires when removed plugin re-inserted as part of readyStateChange.
      https://bugs.webkit.org/show_bug.cgi?id=93639
      
      Reviewed by Ryosuke Niwa.
      
      Removing a plugin causes a detach which can cancel the last remaining load on a page,
      resulting in a readyStateChange event during a time when things are inconsisent. Defer
      the detach which triggers this chain of events until after the node is fully removed
      from the document's elementsById map.
      
      Test: plugins/plugin-remove-readystatechange.html
      
      * dom/ContainerNode.cpp:
      (WebCore::ContainerNode::removeChild):
      (WebCore::ContainerNode::removeChildren):
      
      LayoutTests: ASSERT(!eventDispatchForbidden()) firest when removed plugin re-inserted as part of readyStateChange.
      https://bugs.webkit.org/show_bug.cgi?id=93639
      
      Reviewed by Ryosuke Niwa.
      
      Add a new testcase to cover this issue.  Test passes if assert doesn't fire in debug builds.
      
      * plugins/plugin-remove-readystatechange-expected.txt: Added.
      * plugins/plugin-remove-readystatechange.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43056c5f
  35. 05 Sep, 2012 1 commit
    • beidson@apple.com's avatar
      Frequent crashes in PluginView::scriptObject under runtimeObjectCustomGetOwnPropertySlot · 65e67acb
      beidson@apple.com authored
      <rdar://problem/12142226> and https://bugs.webkit.org/show_bug.cgi?id=95026
      
      Source/WebKit2:
      
      Patch partially by Andras Becsi  <andras.becsi@nokia.com>
      
      Reviewed by Andy Estes.
      
      If a plug-in fails to initialize then the m_plugin pointer is cleared out.
      When accessing the script object it is appropriate to unconditionally null check m_plugin.
      
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::PluginView::scriptObject): Null check m_plugin before trying to use it.
      
      Tools:
      
      Reviewed by Andy Estes.
      
      Add a plug-in that always fails to initialize:
      * DumpRenderTree/TestNetscapePlugIn/Tests/NPPNewFails.cpp: Added.
      (NPPNewFails):
      (NPPNewFails::NPPNewFails):
      (NPPNewFails::NPP_New):
      
      Add it to all the project files:
      * DumpRenderTree/DumpRenderTree.gypi:
      * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
      * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
      * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
      * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
      
      LayoutTests:
      
      Reviewed by Andy Estes.
      
      * plugins/npp-new-fails-expected.txt: Added.
      * plugins/npp-new-fails.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      65e67acb
  36. 27 Jul, 2012 1 commit
    • beidson@apple.com's avatar
      Plugins should not be allowed to override standard properties/attributes in non-standard worlds · f8504882
      beidson@apple.com authored
      <rdar://problem/11975252> and https://bugs.webkit.org/show_bug.cgi?id=92519
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore:
      
      Change the 3 plugin-owning element's custom bindings to prefer built-in properties if they exist.
      When they do they don't give the plugin a chance to override.
      
      Test: plugins/npruntime/overrides-all-properties.html
      
      Add plugin custom functions to prefer built-in properties over plugin scriptable object properties:
      * bindings/js/JSPluginElementFunctions.h:
      (WebCore::pluginElementCustomGetOwnPropertySlot):
      (WebCore::pluginElementCustomGetOwnPropertyDescriptor):
      
      Use those new custom functions for getting properties:
      * bindings/js/JSHTMLAppletElementCustom.cpp:
      (WebCore::JSHTMLAppletElement::getOwnPropertySlotDelegate):
      (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
      * bindings/js/JSHTMLEmbedElementCustom.cpp:
      (WebCore::JSHTMLEmbedElement::getOwnPropertySlotDelegate):
      (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
      * bindings/js/JSHTMLObjectElementCustom.cpp:
      (WebCore::JSHTMLObjectElement::getOwnPropertySlotDelegate):
      (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
      
      Tools:
      
      Add a test plugin which overrides all properties it is asked about:
      * DumpRenderTree/TestNetscapePlugIn/Tests/PluginScriptableObjectOverridesAllProperties.cpp: Added.
      (PluginScriptableObjectOverridesAllProperties):
      (PluginScriptableObjectOverridesAllProperties::PluginScriptableObjectOverridesAllProperties):
      (PluginObject):
      (PluginScriptableObjectOverridesAllProperties::PluginObject::PluginObject):
      (PluginScriptableObjectOverridesAllProperties::PluginObject::~PluginObject):
      (PluginScriptableObjectOverridesAllProperties::PluginObject::hasProperty):
      (PluginScriptableObjectOverridesAllProperties::PluginObject::getProperty):
      (PluginScriptableObjectOverridesAllProperties::NPP_GetValue):
      
      Expose NPN_MemAlloc to the test plugin:
      * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
      (PluginTest::NPN_MemAlloc):
      * DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
      (PluginTest):
      
      * DumpRenderTree/DumpRenderTree.gypi:
      * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
      * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
      * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
      
      LayoutTests:
      
      * plugins/npruntime/overrides-all-properties-expected.txt: Added.
      * plugins/npruntime/overrides-all-properties.html: Added.
      * platform/chromium/TestExpectations: Test behaves different in V8, so skip on chromium
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8504882