1. 19 May, 2013 6 commits
    • andersca@apple.com's avatar
      Remove link prerendering code · a82aee4a
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116415
      
      Reviewed by Darin Adler.
      
      .:
      
      This code was only used by Chromium and is dead now.
      
      * Source/autotools/SetupWebKitFeatures.m4:
      * Source/cmake/WebKitFeatures.cmake:
      * Source/cmakeconfig.h.cmake:
      
      Source/JavaScriptCore:
      
      This code was only used by Chromium and is dead now.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebCore:
      
      * Configurations/FeatureDefines.xcconfig:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * dom/Document.cpp:
      (WebCore::Document::Document):
      * dom/Document.h:
      (WebCore):
      (Document):
      * dom/EventNames.h:
      (WebCore):
      * html/HTMLLinkElement.cpp:
      * html/HTMLLinkElement.h:
      * html/LinkRelAttribute.cpp:
      (WebCore::LinkRelAttribute::LinkRelAttribute):
      * html/LinkRelAttribute.h:
      (LinkRelAttribute):
      * loader/LinkLoader.cpp:
      (WebCore::LinkLoader::~LinkLoader):
      (WebCore::LinkLoader::loadLink):
      (WebCore::LinkLoader::released):
      * loader/LinkLoader.h:
      (WebCore):
      (LinkLoader):
      * loader/LinkLoaderClient.h:
      (LinkLoaderClient):
      * loader/Prerenderer.cpp: Removed.
      * loader/Prerenderer.h: Removed.
      * loader/PrerendererClient.cpp: Removed.
      * loader/PrerendererClient.h: Removed.
      * platform/PrerenderClient.h: Removed.
      * platform/PrerenderHandle.h: Removed.
      
      Source/WebKit/blackberry:
      
      This code was only used by Chromium and is dead now.
      
      * WebCoreSupport/AboutDataEnableFeatures.in:
      
      Source/WebKit/mac:
      
      This code was only used by Chromium and is dead now.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebKit2:
      
      This code was only used by Chromium and is dead now.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WTF:
      
      This code was only used by Chromium and is dead now.
      
      * wtf/FeatureDefines.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a82aee4a
    • simon.fraser@apple.com's avatar
      Change the terminology used by rendering code when painting a given node and... · e7b410b0
      simon.fraser@apple.com authored
      Change the terminology used by rendering code when painting a given node and its children from "paintingRoot" to "subtreePaintRoot"
      https://bugs.webkit.org/show_bug.cgi?id=116417
      
      Reviewed by Sam Weinig.
      
      PaintInfo and RenderLayer code referred to a "paintingRoot". This is only set when
      FrameView::setNodeToDraw() has been called and is used to restrict painting to
      some part of the subtree, but it could easily be misinterpreted, and confused with
      the "rootLayer" used by RenderLayer (which is usually not the layer associated with
      the paintingRoot).
      
      Change the terminology from "paintingRoot" to "subtreePaintRoot" root to make the
      purpose of this variable more obvious.
      
      No behavior change.
      
      * page/FrameView.cpp: Add a comment for setNodeToDraw(); in future this should
      be called setSubtreePaintRoot() or something. Not done in this patch to avoid
      risk; this function is exported from WebCore.
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::paint):
      * rendering/PaintInfo.h:
      (WebCore::PaintInfo::PaintInfo):
      (WebCore::PaintInfo::updateSubtreePaintRootForChildren):
      (WebCore::PaintInfo::shouldPaintWithinRoot):
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::paintContents):
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::paint):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::paint):
      (WebCore::RenderLayer::paintOverlayScrollbars):
      (WebCore::RenderLayer::paintLayerContents):
      (WebCore::RenderLayer::paintLayerByApplyingTransform):
      (WebCore::RenderLayer::paintBackgroundForFragments):
      (WebCore::RenderLayer::paintForegroundForFragments):
      (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
      (WebCore::RenderLayer::paintOutlineForFragments):
      (WebCore::RenderLayer::paintMaskForFragments):
      * rendering/RenderLayer.h:
      (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
      * rendering/RenderObject.cpp: Add a comment to recommend changing the name of
      paintingRootRect() to refer to a subtree paint. Not done in this patch to avoid
      risk; this function is exported from WebCore.
      * rendering/RenderSnapshottedPlugIn.cpp:
      (WebCore::RenderSnapshottedPlugIn::paint):
      * rendering/RenderTable.cpp:
      (WebCore::RenderTable::paintObject):
      * rendering/svg/RenderSVGContainer.cpp:
      (WebCore::RenderSVGContainer::paint):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e7b410b0
    • darin@apple.com's avatar
      Use Element instead of Node in DragState, also redo DragState struct · fd6ff3dc
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116411
      
      Reviewed by Sam Weinig.
      
      The drag source is an element, so use RefPtr<Element> instead of RefPtr<Node>.
      
      Also, the entire drag state is about dragging, so no need for the word "drag" in the
      name of its members. Also, it's a struct, so the members don't need m_ prefixes.
      
      * page/DragController.cpp: Removed unneeded include of Node.h since it's included by
      Element.h, which is also included.
      (WebCore::DragController::draggableElement): Renamed from Node to Element and changed
      the types and names of arguments accordingly. Also made this function handle a
      startElement of 0 so callers don't need to. Also updated for changes to DragState members.
      (WebCore::DragController::startDrag): Updated for changes to DragState members.
      Since dragSource can only be an element, was able to get rid of isElementNode checks.
      
      * page/DragController.h: Fixed style of forward declarations of structs. Updated for
      change of draggableNode to draggableElement. Also removed declarations of nonexistent
      selectionDraggingRect and doDrag functions.
      
      * page/DragState.h: Rewrote practically this whole header. Added an include of Element
      instead of Node since that's what we use now. Removed includes that are redundant.
      There's no problem copying a DragState, so removed WTF_MAKE_NONCOPYABLE. There's no need
      to allocate a DragState on the heap, so removed WTF_MAKE_FAST_ALLOCATED. The event dispatch
      boolean is never set to a constant, so there's no need for a policy enum; it can just be
      a boolean. Removed the "m_" prefixes from the struct members, since this is a struct with
      public members and we don't use the prefix in those cases. Removed the word "drag" from the
      struct member names since this entire struct is about dragging and has drag in its name.
      Left the comments mostly intact, even though I'm not certain of their value.
      
      * page/EventHandler.cpp:
      (WebCore::EventHandler::handleMousePressEvent): Updated for changes to DragState.
      (WebCore::EventHandler::eventMayStartDrag):
      Use innerElement instead of innerNode to call draggableElement instead of draggableNode.
      (WebCore::EventHandler::updateDragAndDrop): Updated for changes to DragState.
      (WebCore::EventHandler::cancelDragAndDrop): Ditto.
      (WebCore::EventHandler::handleWheelEvent): Added FIXME.
      (WebCore::EventHandler::dragHysteresisExceeded): Updated for changes to DragState.
      (WebCore::EventHandler::freeClipboard): Updated for changes to DragState. Also re-added
      code to release the clipboard object, which is needed here to avoid keeping it around in
      memory until the next drag.
      (WebCore::EventHandler::dragSourceEndedAt): Updated for changes to DragState.
      (WebCore::EventHandler::updateDragStateAfterEditDragIfNeeded): Ditto.
      (WebCore::EventHandler::dispatchDragSrcEvent): Ditto.
      (WebCore::EventHandler::handleDrag): Updated for changes to DragState. Use innerElement
      instead of innerNode to call draggableElement instead of draggableNode. No longer need to
      null check innerElement because draggableElement does that. Removed unneeded else that was
      setting m_dragSrc to zero since it's guaranteed to already be zero.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd6ff3dc
    • andersca@apple.com's avatar
      Remove ChromeClient::webView() · 247ec59d
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116054
      
      Source/WebCore:
      
      Reviewed by Darin Adler.
      
      This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
      client or not. We already have a (slightly less horrible) way to do that.
      
      * loader/EmptyClients.h:
      * page/ChromeClient.h:
      (ChromeClient):
      
      Source/WebKit/blackberry:
      
      Reviewed by Andreas Kling.
      
      This blatantly horrible layer violation was only used by the Chromium port; get rid of it.
      
      * WebCoreSupport/ChromeClientBlackBerry.h:
      (ChromeClientBlackBerry):
      
      Source/WebKit/efl:
      
      Reviewed by Darin Adler.
      
      This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
      client or not. We already have a (slightly less horrible) way to do that.
      
      * WebCoreSupport/ChromeClientEfl.h:
      (ChromeClientEfl):
      
      Source/WebKit/gtk:
      
      Reviewed by Darin Adler.
      
      This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
      client or not. We already have a (slightly less horrible) way to do that.
      
      * WebCoreSupport/ChromeClientGtk.h:
      (ChromeClient):
      
      Source/WebKit/mac:
      
      Reviewed by Darin Adler.
      
      This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
      client or not. We already have a (slightly less horrible) way to do that.
      
      * WebCoreSupport/WebChromeClient.h:
      (WebChromeClient):
      
      Source/WebKit/qt:
      
      Reviewed by Darin Adler.
      
      This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
      client or not. We already have a (slightly less horrible) way to do that.
      
      * WebCoreSupport/ChromeClientQt.h:
      (ChromeClientQt):
      
      Source/WebKit/win:
      
      Reviewed by Darin Adler.
      
      This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
      client or not. We already have a (slightly less horrible) way to do that.
      
      * WebCoreSupport/WebChromeClient.h:
      (WebChromeClient):
      
      Source/WebKit/wince:
      
      Reviewed by Darin Adler.
      
      This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
      client or not. We already have a (slightly less horrible) way to do that.
      
      * WebCoreSupport/ChromeClientWinCE.h:
      (ChromeClientWinCE):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      247ec59d
    • darin@apple.com's avatar
      Eliminate the Editor::newGeneralClipboard function · 93c5e8b0
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116410
      
      Reviewed by Andreas Kling.
      
      This is one of the clean-ups made possible by the changes to the DOM clipboard class.
      I had been waiting until all the platforms were moved over to it, but it turns out to be
      easy to do this now, just with #ifdefs.
      
      * PlatformBlackBerry.cmake: Deleted EditorBlackBerry.cpp.
      
      * editing/Editor.cpp:
      (WebCore::Editor::dispatchCPPEvent): Call Clipboard::createForCopyAndPaste directly when
      using the new version of the Clipboard class. Also some small style cleanup nearby.
      
      * editing/blackberry/EditorBlackBerry.cpp: Removed. The only function in this file was
      newGeneralClipboard.
      
      * editing/mac/EditorMac.mm: Deleted newGeneralClipboard.
      * platform/efl/ClipboardEfl.cpp: Ditto.
      * platform/gtk/ClipboardGtk.cpp: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93c5e8b0
    • mrobinson@webkit.org's avatar
      GtkSelectionData length is off by one · 2a0bf803
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113962
      
      Reviewed by Anders Carlsson.
      
      No new tests. Since drag data is interpreted as a null-terminated string
      this is difficult to test with a C program and we have no infrastructure
      built for using GIR tests.
      
      * platform/gtk/PasteboardHelper.cpp:
      (WebCore::PasteboardHelper::fillSelectionData): Instead of including the null
      character in the paste data length, just include the string. This matches the behavior
      of Firefox.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150350 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a0bf803
  2. 18 May, 2013 10 commits
    • simon.fraser@apple.com's avatar
      Hoist several chunks of code at the top of RenderLayer::paintLayerContents() onto new functions · 4d8a4cb1
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116406
      
      Reviewed by Andreas Kling.
      
      RenderLayer::paintLayerContents() was getting polluted with code related to filters,
      clipping and font subpixel quantization, and hard to follow.
      
      Move three hunks of code into new functions:
      setupFontSubpixelQuantization() now contains the code related to whether we disable
      font subpixel quantization on the context.
      setupClipPath() now contains code related to clipping to shapes and references.
      setupFilters() and applyFilters() contain code related to CSS filters.
      
      As part of this, the interaction with FilterEffectRendererHelper was simplified.
      It was convenient for setupFilters() to return a FilterEffectRendererHelper object
      if successful, so we use an OwnPtr<FilterEffectRendererHelper> now. In addition,
      the GraphicsContext swapping was moved from FilterEffectRendererHelper code into RenderLayer
      to make it easier to follow. FilterEffectRendererHelper no longer holds on to
      the old GraphicsContext.
      
      No behavior change.
      
      * rendering/FilterEffectRenderer.cpp:
      (WebCore::FilterEffectRendererHelper::filterContext):
      (WebCore::FilterEffectRendererHelper::beginFilterEffect):
      (WebCore::FilterEffectRendererHelper::applyFilterEffect):
      * rendering/FilterEffectRenderer.h:
      (WebCore::FilterEffectRendererHelper::FilterEffectRendererHelper):
      (WebCore::FilterEffectRendererHelper::hasStartedFilterEffect):
      (FilterEffectRendererHelper):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::setupFontSubpixelQuantization):
      (WebCore::RenderLayer::setupClipPath):
      (WebCore::RenderLayer::setupFilters):
      (WebCore::RenderLayer::applyFilters):
      (WebCore::RenderLayer::paintLayerContents):
      * rendering/RenderLayer.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d8a4cb1
    • simon.fraser@apple.com's avatar
      Refactor RenderStyle::diff() · c7301631
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116397
      
      Reviewed by Andreas Kling.
      
      RenderStyle::diff() was prone to being changed incorrectly, since there was
      a poorly documented ordering requirement: style changes that cause layout
      have to be detected before those that cause only repainting.
      
      In addition, the existing code made it impossible to separately ask whether
      a given style change requires a repaint, if we've already detected that it
      requires a positioned-movement-only layout.
      
      Fix by factoring the code into member functions that check for each type
      of style change.
      
      No behavior change.
      
      * rendering/style/RenderStyle.cpp:
      (WebCore::positionChangeIsMovementOnly):
      (WebCore::RenderStyle::changeRequiresLayout):
      (WebCore::RenderStyle::changeRequiresPositionedLayoutOnly):
      (WebCore::RenderStyle::changeRequiresLayerRepaint):
      (WebCore::RenderStyle::changeRequiresRepaint):
      (WebCore::RenderStyle::changeRequiresRepaintIfText):
      (WebCore::RenderStyle::changeRequiresRecompositeLayer):
      (WebCore::RenderStyle::diff):
      * rendering/style/RenderStyle.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7301631
    • andersca@apple.com's avatar
      Simplify the StorageArea setter functions · d234fbdb
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116402
      
      Reviewed by Sam Weinig.
      
      Source/WebCore:
      
      Move more security checking code to Storage so more code can be shared between WebKit1 and WebKit2.
      
      * inspector/InspectorDOMStorageAgent.cpp:
      (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
      (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
      * storage/Storage.cpp:
      (WebCore::Storage::setItem):
      (WebCore::Storage::removeItem):
      (WebCore::Storage::clear):
      * storage/StorageArea.h:
      (StorageArea):
      * storage/StorageAreaImpl.cpp:
      (WebCore::StorageAreaImpl::setItem):
      (WebCore::StorageAreaImpl::removeItem):
      (WebCore::StorageAreaImpl::clear):
      * storage/StorageAreaImpl.h:
      (StorageAreaImpl):
      
      Source/WebKit2:
      
      Remove security checking code that lives in Storage now.
      
      * WebProcess/Storage/StorageAreaImpl.cpp:
      (WebKit::StorageAreaImpl::setItem):
      (WebKit::StorageAreaImpl::removeItem):
      (WebKit::StorageAreaImpl::clear):
      * WebProcess/Storage/StorageAreaImpl.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d234fbdb
    • andersca@apple.com's avatar
      Simplify StorageArea getter functions · c3f7d6c1
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116399
      
      Reviewed by Sam Weinig.
      
      Source/WebCore:
      
      Move the security and private browsing checks from StorageArea to Storage so we can share
      more code between WebKit1 and WebKit2.
      
      * inspector/InspectorDOMStorageAgent.cpp:
      (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
      Update to new StorageArea interface. The security checks are unnecessary here anyway because
      InspectorDOMStorageAgent::findStorageArea will only return a StorageArea that can be accessed
      by the frame's security origin.
      
      * storage/Storage.cpp:
      (WebCore::Storage::key):
      (WebCore::Storage::getItem):
      (WebCore::Storage::contains):
      * storage/StorageArea.h:
      (StorageArea):
      * storage/StorageAreaImpl.cpp:
      (WebCore::StorageAreaImpl::key):
      (WebCore::StorageAreaImpl::item):
      (WebCore::StorageAreaImpl::contains):
      * storage/StorageAreaImpl.h:
      (StorageAreaImpl):
      
      Source/WebKit2:
      
      Remove security and private browsing checks.
      
      * WebProcess/Storage/StorageAreaImpl.cpp:
      (WebKit::StorageAreaImpl::key):
      (WebKit::StorageAreaImpl::item):
      (WebKit::StorageAreaImpl::contains):
      * WebProcess/Storage/StorageAreaImpl.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3f7d6c1
    • simon.fraser@apple.com's avatar
      Garbage on page background while http://canberraballoons.com.au is loading · 537a7b2b
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116384
      <rdar://problem/13930328>
      
      Reviewed by Dan Bernstein.
      
      This page loads a large JPEG image as the body background.
      ImageSource::frameHasAlphaAtIndex() always claims that JPEG images
      are opaque, but this isn't true if the frame is only partially loaded.
      However, this would cause FillLayer::hasOpaqueImage() to report that the
      background image is opaque, so we'd skip painting the background color.
      Unpainted content in an opaque layer results in garbage.
      
      Fix by having ImageSource::frameHasAlphaAtIndex() always return true
      for frames that are not complete. When the image load completes, we
      recompute metadata and correctly determine that the frame is opaque.
      
      * platform/graphics/cg/ImageSourceCG.cpp:
      (WebCore::ImageSource::frameHasAlphaAtIndex):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      537a7b2b
    • timothy@apple.com's avatar
      Simplify EventLoop::cycle() on Mac. · 39370ce5
      timothy@apple.com authored
      https://webkit.org/b/116392
      
      Reviewed by Anders Carlsson.
      
      * platform/mac/EventLoopMac.mm:
      (WebCore::EventLoop::cycle): Use CFRunLoopRunInMode instead.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      39370ce5
    • akling@apple.com's avatar
      Use CSSParserSelector::appendTagHistory() from CSS grammar. · 5e69e5cb
      akling@apple.com authored
      <http://webkit.org/b/116382>
      
      Reviewed by Antti Koivisto.
      
      CSSParserSelector already knows how to append another component to itself,
      no need to duplicate that logic in the grammar.
      
      * css/CSSGrammar.y.in:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e69e5cb
    • paroga@webkit.org's avatar
      [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME · 8c217808
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114554
      
      Reviewed by Gyuyoung Kim.
      
      Using variables as target names is very uncommon in CMake.
      The usual way to specify the name of the resulting binary
      is to set the OUTPUT_NAME target property.
      
      .:
      
      * CMakeLists.txt:
      * Source/CMakeLists.txt:
      * Source/PlatformEfl.cmake:
      * Source/PlatformGTK.cmake:
      * Source/cmake/OptionsBlackBerry.cmake:
      * Source/cmake/OptionsEfl.cmake:
      * Source/cmake/OptionsGTK.cmake:
      * Source/cmake/WebKitHelpers.cmake:
      * Source/cmake/gtest/CMakeLists.txt:
      
      Source/JavaScriptCore:
      
      * CMakeLists.txt:
      * shell/CMakeLists.txt:
      
      Source/WebCore:
      
      * CMakeLists.txt:
      
      Source/WebKit:
      
      * CMakeLists.txt:
      * PlatformBlackBerry.cmake:
      * PlatformEfl.cmake:
      
      Source/WebKit/efl:
      
      * ewebkit.pc.in:
      
      Source/WebKit2:
      
      * CMakeLists.txt:
      * PlatformEfl.cmake:
      * efl/ewebkit2.pc.in:
      
      Source/WTF:
      
      * wtf/CMakeLists.txt:
      
      Tools:
      
      * DumpRenderTree/efl/CMakeLists.txt:
      * EWebLauncher/CMakeLists.txt:
      * ImageDiff/CMakeLists.txt:
      * MiniBrowser/efl/CMakeLists.txt:
      * TestWebKitAPI/CMakeLists.txt:
      * WebKitTestRunner/CMakeLists.txt:
      * WebKitTestRunner/PlatformEfl.cmake:
      * WinCELauncher/CMakeLists.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c217808
    • carlosgc@webkit.org's avatar
      [GTK] Move GTK port off legacy clipboard · 43d71078
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116221
      
      Reviewed by Martin Robinson.
      
      Source/WebCore:
      
      Merge clipboard methods into PasteboardGtk that now wraps a
      DataObjectGtk.
      
      * GNUmakefile.list.am: Remove ClipboardGtk.h.
      * dom/Clipboard.h: Remove GTK from the list of ports using legacy
      clipboard.
      * page/gtk/EventHandlerGtk.cpp:
      (WebCore::EventHandler::createDraggingClipboard): Use
      Clipboard::createForDragAndDrop().
      * platform/Pasteboard.h:
      (Pasteboard):
      * platform/gtk/ClipboardGtk.cpp:
      (WebCore::Editor::newGeneralClipboard): Use
      Clipboard::createForCopyAndPaste().
      (WebCore::Clipboard::createDragImage):
      (WebCore::Clipboard::declareAndWriteDragImage):
      * platform/gtk/ClipboardGtk.h: Removed.
      * platform/gtk/DragDataGtk.cpp:
      * platform/gtk/PasteboardGtk.cpp:
      (WebCore::Pasteboard::create): Create a new Pasteboard for a given
      GtkClipboard or DataObjectGtk.
      (WebCore::Pasteboard::createForCopyAndPaste): Create a Pasteboard
      for the GDK_SELECTION_CLIPBOARD clipboard.
      (WebCore::Pasteboard::createPrivate): Create a Pasteboard without
      a GtkClipboard associated.
      (WebCore::Pasteboard::createForDragAndDrop): Create a Pasteboard
      for drag and drop operations.
      (WebCore::selectionClipboard): Return a static Pasteboard for the
      GDK_SELECTION_CLIPBOARD clipboard.
      (WebCore::primaryClipboard): Return a static Pasteboard for the
      GDK_SELECTION_PRIMARY clipboard.
      (WebCore::Pasteboard::generalPasteboard): Return
      selectionClipboard() or primaryClipboard() depending on whether
      primary selection clipboard is the active one or not.
      (WebCore::Pasteboard::Pasteboard):
      (WebCore::Pasteboard::~Pasteboard):
      (WebCore::Pasteboard::dataObject): Return the wrapped DataObjectGtk.
      (WebCore::dataObjectTypeFromHTMLClipboardType): Copied from
      ClipboardGtk.cpp.
      (WebCore::Pasteboard::writeString): Adapted to upate the wrapped
      DataObjectGtk and the GtkClipboard if needed.
      (WebCore::Pasteboard::writeSelection): Ditto.
      (WebCore::Pasteboard::writePlainText): Ditto.
      (WebCore::Pasteboard::writeURL): Ditto.
      (WebCore::Pasteboard::writeImage): Ditto.
      (WebCore::Pasteboard::writePasteboard): Copy the wrapped
      DataObjectGtk from the DataObjectGtk of the given Pasteboard and
      upsate the GtkClipboard if needed.
      (WebCore::Pasteboard::clear): Copied from ClipboardGtk.cpp.
      (WebCore::Pasteboard::canSmartReplace): Check if current
      GtkClipboard supports smart replace.
      (WebCore::Pasteboard::setDragImage):
      (WebCore::Pasteboard::documentFragment): Adapted to use the
      wrapped DataObjectGtk reading from the current GtkClipboard if
      present.
      (WebCore::Pasteboard::plainText): Ditto.
      (WebCore::Pasteboard::hasData): Copied from ClipboardGtk.cpp.
      (WebCore::Pasteboard::types): Ditto.
      (WebCore::Pasteboard::readString): Ditto.
      (WebCore::Pasteboard::readFilenames): Ditto.
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/DragClientGtk.cpp:
      (WebKit::DragClient::startDrag): Get the DataObjectGtk from the
      Pasteboard associated to the given Clipboard.
      
      Source/WebKit2:
      
      * UIProcess/API/gtk/WebKitWebViewBase.cpp: Remove ClipboardGtk.h
      include.
      * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
      (WebKit::WebDragClient::startDrag): Get the DataObjectGtk from the
      Pasteboard associated to the given Clipboard.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43d71078
    • commit-queue@webkit.org's avatar
      [GTK] Parallel build fails if gtk-doc is enabled · 5a7d957a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116227
      
      Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-18
      Reviewed by Martin Robinson.
      
      .:
      
      * GNUmakefile.am:
      Define an empty noinst_DATA variable where other automake files
      can add additional objects to be built.
      
      Source/WebCore:
      
      * GNUmakefile.am:
      Don't overwrite noinst_DATA, modify its existing value instead.
      
      Tools:
      
      * GNUmakefile.am:
      Don't use the 'all' target to generate the documentation.
      The prerequisites of this target must be files that need to be
      built _before_ the actual compilation of WebKit starts. Since the
      documentation depends on WebKit being built first, this means in
      practice that the code will be built in parallel with the
      generation of its dependencies, potentially making the build fail.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a7d957a
  3. 17 May, 2013 24 commits
    • michelangelo@webkit.org's avatar
      CSSParser parsing of CSSPropertyFontStretch falls into CSSPropertyGeometry · f62dfa5b
      michelangelo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116370
      
      CSSPropertyFontStretch mistakenly fell through the shader parsing logic.
      
      Reviewed by Alexandru Chiculita.
      
      No new test possible, the feature is not implemented nor exposed.
      
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseValue):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f62dfa5b
    • timothy@apple.com's avatar
      Force the script debug server to continue when disabling the debugger. · ee2da8ef
      timothy@apple.com authored
      There might be some cases where the debugger will stay in the nested run loop
      which cause weird issues.
      
      Speculative fix for: https://webkit.org/b/111438
      
      Reviewed by Joseph Pecoraro.
      
      * inspector/InspectorDebuggerAgent.cpp:
      (WebCore::InspectorDebuggerAgent::disable):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee2da8ef
    • darin@apple.com's avatar
      [BlackBerry] Get BlackBerry port off legacy clipboard · 4d21002a
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116287
      
      Reviewed by Rob Buis.
      
      * PlatformBlackBerry.cmake: Removed ClipboardBlackBerry.cpp.
      
      * dom/Clipboard.h: Removed BLACKBERRY from the list of platforms that
      use the legacy clipboard.
      
      * editing/blackberry/EditorBlackBerry.cpp:
      (WebCore::Editor::newGeneralClipboard): Changed to just create a copy
      and paste clipboard.
      
      * page/blackberry/EventHandlerBlackBerry.cpp: Removed a drag-related
      function that wasn't doing any good.
      
      * platform/blackberry/ClipboardBlackBerry.cpp: Removed.
      * platform/blackberry/ClipboardBlackBerry.h: Removed.
      
      * platform/blackberry/PasteboardBlackBerry.cpp:
      (WebCore::Pasteboard::createForCopyAndPaste): Added.
      (WebCore::Pasteboard::createPrivate): Added.
      (WebCore::Pasteboard::hasData): Added. Moved code here from ClipboardBlackBerry.cpp.
      (WebCore::Pasteboard::clear): Ditto.
      (WebCore::Pasteboard::readString): Ditto.
      (WebCore::Pasteboard::writeString): Ditto.
      (WebCore::Pasteboard::types): Ditto.
      (WebCore::Pasteboard::readFilenames): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d21002a
    • akling@apple.com's avatar
      Ads on theverge.com cause repaints when hovered, even though content doesn't visibly change. · ad57375c
      akling@apple.com authored
      <http://webkit.org/b/116344>
      
      Reviewed by Darin Adler.
      
      Teach RenderStyle::diff() to ignore differences in the outline value if both styles have non-visible outlines.
      
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::diff):
      * rendering/style/StyleBackgroundData.cpp:
      (WebCore::StyleBackgroundData::isEquivalentForPainting):
      * rendering/style/StyleBackgroundData.h:
      (StyleBackgroundData):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ad57375c
    • akling@apple.com's avatar
      Plug leak in CSSSelectorList::deleteSelectors(). · 507da35f
      akling@apple.com authored
      <http://webkit.org/b/116371>
      <rdar://problem/13930698>
      
      Reviewed by Ryosuke Niwa.
      
      Don't forget to destroy the very last selector in the list.
      
      * css/CSSSelectorList.cpp:
      (WebCore::CSSSelectorList::deleteSelectors):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      507da35f
    • andersca@apple.com's avatar
      Share code between WebKit1 and WebKit2 StorageArea subclasses · 98273636
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116367
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      * inspector/InspectorDOMStorageAgent.cpp:
      (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
      Remove ec parameter.
      
      * inspector/InspectorDOMStorageAgent.h:
      Add forward declaration.
      
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::sessionStorage):
      (WebCore::DOMWindow::localStorage):
      Storage::StorageArea returns a reference now.
      
      * storage/Storage.cpp:
      (WebCore::Storage::length):
      Check that the storage area can be accessed by the frame, and that it's not disabled by private browsing.
      Then call down to the (now simplified) StorageArea::length().
      
      (WebCore::Storage::isDisabledByPrivateBrowsing):
      New helper function that's based on StorageAreaImpl::disabledByPrivateBrowsingInFrame, but reordered
      to make it easier to follow.
      
      * storage/Storage.h:
      (WebCore::Storage::area):
      Return a reference.
      
      * storage/StorageAreaImpl.cpp:
      (WebCore::StorageAreaImpl::storageType):
      Add this new virtual member funciton that's needed by Storage::isDisabledByPrivateBrowsing.
      
      (WebCore::StorageAreaImpl::length):
      Remove unneeded code.
      
      Source/WebKit2:
      
      * WebProcess/Storage/StorageAreaImpl.cpp:
      (WebKit::StorageAreaImpl::length):
      Remove code that's now in Storage::length.
      
      (WebKit::StorageAreaImpl::storageType):
      Make this a virtual member function.
      
      * WebProcess/Storage/StorageAreaImpl.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98273636
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r150294. · 263e0a65
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/150294
      https://bugs.webkit.org/show_bug.cgi?id=116369
      
      Caused 31 tests to fail (Requested by rniwa on #webkit).
      
      * WebCore.exp.in:
      * rendering/InlineFlowBox.h:
      * rendering/InlineTextBox.h:
      (InlineTextBox):
      * rendering/RenderApplet.h:
      * rendering/RenderBR.h:
      * rendering/RenderBlock.h:
      (RenderBlock):
      (WebCore::RenderBlock::virtualContinuation):
      * rendering/RenderBox.h:
      (WebCore::RenderBox::borderBoundingBox):
      (RenderBox):
      (WebCore::RenderBox::marginLogicalLeft):
      (WebCore::RenderBox::marginLogicalRight):
      * rendering/RenderBoxModelObject.h:
      (WebCore::RenderBoxModelObject::isBoxModelObject):
      * rendering/RenderButton.h:
      * rendering/RenderCombineText.h:
      * rendering/RenderCounter.h:
      * rendering/RenderDeprecatedFlexibleBox.h:
      * rendering/RenderDetailsMarker.h:
      * rendering/RenderEmbeddedObject.h:
      (RenderEmbeddedObject):
      (WebCore::RenderEmbeddedObject::isEmbeddedObject):
      (WebCore::RenderEmbeddedObject::virtualChildren):
      * rendering/RenderFieldset.h:
      * rendering/RenderFileUploadControl.h:
      * rendering/RenderFlexibleBox.h:
      * rendering/RenderFlowThread.h:
      * rendering/RenderFrame.h:
      * rendering/RenderFrameSet.h:
      * rendering/RenderFullScreen.cpp:
      * rendering/RenderFullScreen.h:
      * rendering/RenderGrid.h:
      * rendering/RenderHTMLCanvas.h:
      * rendering/RenderIFrame.h:
      * rendering/RenderImage.h:
      (RenderImage):
      (WebCore::RenderImage::isRenderImage):
      * rendering/RenderInline.h:
      (RenderInline):
      (WebCore::RenderInline::virtualContinuation):
      (WebCore::RenderInline::virtualChildren):
      (WebCore::RenderInline::isRenderInline):
      (WebCore::RenderInline::layout):
      (WebCore::RenderInline::requiresLayer):
      (WebCore::RenderInline::offsetWidth):
      (WebCore::RenderInline::offsetHeight):
      (WebCore::RenderInline::borderBoundingBox):
      (WebCore::RenderInline::dirtyLinesFromChangedChild):
      * rendering/RenderLayerModelObject.h:
      * rendering/RenderListBox.h:
      * rendering/RenderListItem.h:
      * rendering/RenderListMarker.h:
      * rendering/RenderMedia.h:
      (WebCore::RenderMedia::virtualChildren):
      (WebCore::RenderMedia::canHaveChildren):
      (WebCore::RenderMedia::isMedia):
      (WebCore::RenderMedia::isImage):
      (WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):
      * rendering/RenderMediaControlElements.h:
      * rendering/RenderMenuList.h:
      * rendering/RenderMeter.h:
      * rendering/RenderMultiColumnBlock.h:
      * rendering/RenderMultiColumnFlowThread.h:
      * rendering/RenderMultiColumnSet.h:
      * rendering/RenderNamedFlowThread.h:
      * rendering/RenderPart.h:
      (RenderPart):
      (WebCore::RenderPart::isRenderPart):
      (WebCore::RenderPart::renderName):
      * rendering/RenderProgress.h:
      * rendering/RenderRegion.h:
      (WebCore::RenderRegion::isRenderRegion):
      * rendering/RenderRegionSet.h:
      * rendering/RenderReplaced.h:
      (RenderReplaced):
      (WebCore::RenderReplaced::renderName):
      * rendering/RenderReplica.h:
      * rendering/RenderRuby.h:
      * rendering/RenderRubyBase.h:
      * rendering/RenderRubyRun.h:
      * rendering/RenderRubyText.h:
      * rendering/RenderScrollbarPart.h:
      * rendering/RenderSearchField.h:
      * rendering/RenderSlider.h:
      * rendering/RenderSnapshottedPlugIn.h:
      (RenderSnapshottedPlugIn):
      * rendering/RenderTable.h:
      (RenderTable):
      (WebCore::RenderTable::renderName):
      (WebCore::RenderTable::isTable):
      (WebCore::RenderTable::avoidsFloats):
      * rendering/RenderTableCaption.h:
      * rendering/RenderTableCell.h:
      * rendering/RenderTableCol.h:
      * rendering/RenderTableRow.h:
      * rendering/RenderTableSection.h:
      * rendering/RenderText.h:
      (RenderText):
      (WebCore::RenderText::marginLeft):
      (WebCore::RenderText::marginRight):
      (WebCore::RenderText::styleWillChange):
      (WebCore::RenderText::length):
      (WebCore::RenderText::paint):
      (WebCore::RenderText::layout):
      * rendering/RenderTextControl.h:
      (RenderTextControl):
      (WebCore::RenderTextControl::renderName):
      (WebCore::RenderTextControl::isTextControl):
      (WebCore::RenderTextControl::avoidsFloats):
      * rendering/RenderTextControlMultiLine.h:
      * rendering/RenderTextControlSingleLine.h:
      (RenderTextControlSingleLine):
      (WebCore::RenderTextControlSingleLine::isTextField):
      * rendering/RenderTextFragment.h:
      * rendering/RenderTextTrackCue.h:
      * rendering/RenderVideo.h:
      * rendering/RenderView.h:
      * rendering/RenderWidget.h:
      (RenderWidget):
      (WebCore::RenderWidget::isWidget):
      * rendering/RenderWordBreak.h:
      * rendering/RootInlineBox.h:
      (RootInlineBox):
      * rendering/mathml/RenderMathMLBlock.h:
      * rendering/svg/RenderSVGBlock.h:
      (RenderSVGBlock):
      * rendering/svg/RenderSVGContainer.h:
      (WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
      (WebCore::RenderSVGContainer::virtualChildren):
      (WebCore::RenderSVGContainer::isSVGContainer):
      (WebCore::RenderSVGContainer::renderName):
      (RenderSVGContainer):
      (WebCore::RenderSVGContainer::objectBoundingBox):
      (WebCore::RenderSVGContainer::strokeBoundingBox):
      (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
      * rendering/svg/RenderSVGEllipse.h:
      * rendering/svg/RenderSVGForeignObject.h:
      * rendering/svg/RenderSVGGradientStop.h:
      * rendering/svg/RenderSVGHiddenContainer.h:
      (WebCore::RenderSVGHiddenContainer::renderName):
      (RenderSVGHiddenContainer):
      (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):
      * rendering/svg/RenderSVGImage.h:
      * rendering/svg/RenderSVGInline.h:
      (WebCore::RenderSVGInline::renderName):
      (WebCore::RenderSVGInline::requiresLayer):
      (WebCore::RenderSVGInline::isSVGInline):
      (RenderSVGInline):
      * rendering/svg/RenderSVGInlineText.h:
      * rendering/svg/RenderSVGModelObject.h:
      (WebCore::RenderSVGModelObject::requiresLayer):
      (RenderSVGModelObject):
      * rendering/svg/RenderSVGPath.h:
      * rendering/svg/RenderSVGRect.h:
      * rendering/svg/RenderSVGResourceClipper.h:
      * rendering/svg/RenderSVGResourceContainer.h:
      (RenderSVGResourceContainer):
      (WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
      (WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):
      * rendering/svg/RenderSVGResourceFilter.h:
      * rendering/svg/RenderSVGResourceFilterPrimitive.h:
      * rendering/svg/RenderSVGResourceGradient.h:
      (RenderSVGResourceGradient):
      (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
      * rendering/svg/RenderSVGResourceLinearGradient.h:
      * rendering/svg/RenderSVGResourceMarker.h:
      * rendering/svg/RenderSVGResourceMasker.h:
      * rendering/svg/RenderSVGResourcePattern.h:
      * rendering/svg/RenderSVGResourceRadialGradient.h:
      * rendering/svg/RenderSVGRoot.h:
      * rendering/svg/RenderSVGShape.h:
      (WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
      (WebCore::RenderSVGShape::setNeedsTransformUpdate):
      (WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
      (WebCore::RenderSVGShape::localToParentTransform):
      (WebCore::RenderSVGShape::localTransform):
      (WebCore::RenderSVGShape::isSVGShape):
      (RenderSVGShape):
      (WebCore::RenderSVGShape::objectBoundingBox):
      (WebCore::RenderSVGShape::strokeBoundingBox):
      * rendering/svg/RenderSVGTSpan.h:
      * rendering/svg/RenderSVGText.h:
      * rendering/svg/RenderSVGTextPath.h:
      * rendering/svg/RenderSVGTransformableContainer.h:
      * rendering/svg/RenderSVGViewportContainer.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      263e0a65
    • ch.dumez@sisa.samsung.com's avatar
      Get rid of Custom code for Audio global constructor · f745a3e1
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116343
      
      Reviewed by Geoffrey Garen.
      
      Remove custom code for Audio global constructor. It is no longer needed
      now that the the bindings generator no longer require custom code for
      named constructors and now that [EnabledAtRuntime] extended attribute is
      supported for global constructors.
      
      HTMLAudioElement global constructors are now automatically generated.
      
      No new tests, no behavior change for layout tests.
      
      * bindings/js/JSDOMWindowCustom.cpp:
      * html/HTMLAudioElement.idl:
      * page/DOMWindow.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f745a3e1
    • ap@apple.com's avatar
      <rdar://problem/13819878> Disable SharedWorker when in multiple web process model · c4acd2ae
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=116359
      
              Reviewed by Anders Carlsson.
      
              This feature was already RuntimeEnabled. Call through layers to get the answer from
              a platform strategy.
      
              * workers/DefaultSharedWorkerRepository.cpp:
              (WebCore::DefaultSharedWorkerRepository::isAvailable):
              * workers/DefaultSharedWorkerRepository.h:
              * workers/SharedWorkerRepository.cpp:
              (WebCore::SharedWorkerRepository::isAvailable):
              * workers/SharedWorkerStrategy.h:
              (WebCore::SharedWorkerStrategy::isAvailable):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4acd2ae
    • andersca@apple.com's avatar
      Move Storage member functions out of line · d3e55808
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116364
      
      Reviewed by Andreas Kling.
      
      This is preparation for sharing more code between the WebKit1 and WebKit2 storage area subclasses.
      Also remove unnecessary null checks and make m_storageArea const.
      
      * storage/Storage.cpp:
      (WebCore::Storage::length):
      (WebCore::Storage::key):
      (WebCore::Storage::getItem):
      (WebCore::Storage::setItem):
      (WebCore::Storage::removeItem):
      (WebCore::Storage::clear):
      (WebCore::Storage::contains):
      * storage/Storage.h:
      (WebCore::Storage::area):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d3e55808
    • bdakin@apple.com's avatar
      Headers and footers will sometimes disappear and re-appear during page loads · 22671290
      bdakin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116336
      -and corresponding-
      <rdar://problem/13886753>
      
      Reviewed by Simon Fraser.
      
      This patch changes the WebCore-level API that WebKit uses to create a banner. 
      Specifically this patch removes FrameView::setWantsLayerForHeader(), which created 
      and returned a layer. Instead, WK2 will call Page::addHeaderWithHeight(). When the 
      layer has been created, it will call back into WK2 via ChromeClient. This will 
      allow WebCore to re-create the header/footer layers as needed whenever the 
      FrameView/RenderLayerCompositor have been destroyed and recreated.
      
      Source/WebCore: 
      
      Remove references to old FrameView functions. Add references to new Page 
      functions.
      * WebCore.exp.in:
      
      New ChromeClient functions will pass the new layers up to WK2.
      * page/ChromeClient.h:
      (WebCore::ChromeClient::didAddHeaderLayer):
      (WebCore::ChromeClient::didAddFooterLayer):
      (ChromeClient):
      
      Remove setWantsLayerForHeader/Footer.
      * page/FrameView.cpp:
      * page/FrameView.h:
      (FrameView):
      
      Page now caches the header and footer height. When the FrameView/RLC have been 
      destroyed, and the cached layer/height information on those classes has been lost, 
      this data on Page will persist so that we can build the layers back up.
      * page/Page.cpp:
      (WebCore::Page::Page):
      (WebCore::Page::addHeaderWithHeight):
      (WebCore::Page::addFooterWithHeight):
      * page/Page.h:
      (WebCore::Page::headerHeight):
      (WebCore::Page::footerHeight):
      
      As soon as the root gets a backing, recreate the header and footer layers if 
      needed.
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::updateBacking):
      
      Call into ChromeClient.
      (WebCore::RenderLayerCompositor::updateLayerForHeader):
      (WebCore::RenderLayerCompositor::updateLayerForFooter):
      
      Source/WebKit2: 
      
      Send the layers over to PageBanner.
      * WebProcess/WebCoreSupport/WebChromeClient.cpp:
      (WebKit::WebChromeClient::didAddHeaderLayer):
      (WebKit::WebChromeClient::didAddFooterLayer):
      * WebProcess/WebCoreSupport/WebChromeClient.h:
      (WebChromeClient):
      
      PageBanner::addToPage() now does much less work since it can’t get the parent 
      layer right away. The work that is used to do once it had the parent layer is now 
      performed in didAddParentLayer()
      * WebProcess/WebPage/PageBanner.cpp:
      (WebKit::PageBanner::didAddParentLayer):
      * WebProcess/WebPage/PageBanner.h:
      * WebProcess/WebPage/mac/PageBannerMac.mm:
      (WebKit::PageBanner::addToPage):
      (WebKit::PageBanner::didAddParentLayer):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22671290
    • csaavedra@igalia.com's avatar
      [CSS] Minor cleanups in CSS variables handling · 13448d12
      csaavedra@igalia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116318
      
      Reviewed by Ryosuke Niwa.
      
      No new tests, only a cleanup.
      
      * css/CSSParser.cpp:
      (WebCore::CSSParserString::substring): Optimize.
      (WebCore::CSSParser::createPrimitiveVariableNameValue):
      Remove intermediate variable.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150302 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13448d12
    • ap@apple.com's avatar
      [Mac] Add DOMWindowConstructors.idl to Xcode project file · 536638f5
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=116351
      
              Reviewed by Anders Carlsson.
      
              * WebCore.xcodeproj/project.pbxproj: Added the file, so that Xcode includes it
              in searches.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      536638f5
    • rniwa@webkit.org's avatar
      Remove the declaration of Element::detachAttrNodeAtIndex erroneously added in r150072. · 9966f3b4
      rniwa@webkit.org authored
      * dom/Element.h:
      (Element):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9966f3b4
    • andersca@apple.com's avatar
      WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process · 722aa397
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116346
      <rdar://problem/13852829>
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      Export the UTF8Encoding symbol.
      
      * WebCore.exp.in:
      
      Source/WebKit2:
      
      * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
      (WebKit::LocalStorageDatabaseTracker::origins):
      New helper function to return all the tracked origins.
      
      * UIProcess/Storage/StorageManager.cpp:
      (WebKit::StorageManager::StorageManager):
      Initialize the UTF-8 encoding.
      
      (WebKit::StorageManager::getOrigins):
      Call getOriginsInternal on our queue.
      
      (WebKit::callCallbackFunction):
      Helper function for calling the callback function.
      
      (WebKit::StorageManager::getOriginsInternal):
      Get the origins and make sure we call the callback with the given function dispatcher.
      
      * UIProcess/WebKeyValueStorageManagerProxy.cpp:
      (WebKit::didGetKeyValueStorageOriginsCallback):
      Construct the array of WebSecurityOrigin objects and call the callback.
      
      (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
      Call StorageManager::getOrigins.
      
      Source/WTF:
      
      Add forward declaration for Function.
      
      * wtf/Forward.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150295 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      722aa397
    • akling@apple.com's avatar
      Apply FINAL to the RenderObject hierarchy. · 8d138e71
      akling@apple.com authored
      <http://webkit.org/b/115977>
      
      Mostly from Blink r148795 by <cevans@chromium.org>
      <http://src.chromium.org/viewvc/blink?view=revision&revision=148795>
      
      Re-landing without devirtualization tweaks.
      
      * rendering/: Beat things with the FINAL stick.
      * WebCore.exp.in: Export a now-needed symbol.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d138e71
    • ap@apple.com's avatar
      Build fix. · 5e2a9a93
      ap@apple.com authored
              * loader/FrameLoader.cpp: (WebCore::FrameLoader::willTransitionToCommitted):
              Frame:editor() now returns a reference.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150293 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e2a9a93
    • ch.dumez@sisa.samsung.com's avatar
      Get rid of [ConstructorParameters] extended attributes · be4640db
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116308
      
      Reviewed by Kentaro Hara.
      
      Get rid of WebKit-specific [ConstructorParameters] IDL extended attribute. Instead,
      [CustomConstructor] arguments are now explicitly specified, similarly to [Constructor]
      arguments and the constructor object's "length" property is now automatically
      computed for custom constructors as well.
      
      This is less error-prone as the value is not hardcoded, more consistent with
      [Constructor] extended attribute and gives more information about the custom constructor
      in the IDL file. We also get rid of a WebKit-specific IDL attribute which is always
      nice.
      
      No new tests, already covered by fast/js/constructor-length.html.
      
      * Modules/mediastream/MediaStream.idl:
      * Modules/webaudio/AudioContext.idl:
      * Modules/websockets/WebSocket.idl:
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateConstructorHelperMethods):
      * bindings/scripts/IDLAttributes.txt:
      * bindings/scripts/IDLParser.pm:
      (applyTypedefs):
      (parseAttributeRest):
      (copyExtendedAttributes):
      (parseExtendedAttributeRest):
      (applyExtendedAttributeList):
      * bindings/scripts/test/JS/JSFloat64Array.cpp:
      (WebCore::JSFloat64ArrayConstructor::finishCreation):
      * bindings/scripts/test/TestTypedArray.idl:
      * dom/MutationObserver.idl:
      * fileapi/Blob.idl:
      * html/DOMFormData.idl:
      * html/canvas/ArrayBuffer.idl:
      * html/canvas/DataView.idl:
      * page/WebKitPoint.idl:
      * workers/SharedWorker.idl:
      * workers/Worker.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150292 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be4640db
    • ap@apple.com's avatar
      Text input is largely broken when there are subframes loading · e042b63d
      ap@apple.com authored
              http://bugs.webkit.org/show_bug.cgi?id=59121
              <rdar://problem/9320468>
      
              Reviewed by Darin Adler.
      
              * UIProcess/PageClient.h:
              * UIProcess/API/mac/PageClientImpl.h:
              * UIProcess/API/mac/PageClientImpl.mm:
              (WebKit::PageClientImpl::updateSecureInputState): Separated secure input state
              updating into a separate function. Removed updateTextInputState, we don't need
              to go through PageClient to implement its behavior at all.
              (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added a FIXME.
      
              * UIProcess/API/mac/WKView.mm:
              * UIProcess/API/mac/WKViewInternal.h:
              Removed _updateTextInputStateIncludingSecureInputState.
      
              * UIProcess/WebPageProxy.h: Added m_temporarilyClosedComposition, which helps
              to figure out that WebCore decided to close a composition. The issue is that WebCore
              would first send an EditorState with hasComposition set to false, and with
              shouldIgnoreCompositionSelectionChange set to true, at which time we forget the
              previous m_editorState, but can't make any decisions based on this transient state.
              We should find a way to simplify this (maybe not send these updates with
              shouldIgnoreCompositionSelectionChange at all?)
      
              * UIProcess/WebPageProxy.cpp:
              (WebKit::WebPageProxy::WebPageProxy): Initialize m_temporarilyClosedComposition.
              (WebKit::WebPageProxy::didCommitLoadForFrame): Removed the code to kill a composition
              when any frame commits a load, which made no sense (along with surrounding code,
              which will unfortunately survive longer).
              (WebKit::WebPageProxy::editorStateChanged): Implemented state updating here,
              we don't need to go to WKView.mm to implement this logic. Figure out when WebCore
              discards a composition, and notify input methods about this.
              (WebKit::WebPageProxy::resetStateAfterProcessExited): Reset m_temporarilyClosedComposition.
              Added some FIXMEs.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150291 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e042b63d
    • ch.dumez@sisa.samsung.com's avatar
      Get rid of [CustomGetter] for global named constructors · 175406ce
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116116
      
      Reviewed by Geoffrey Garen.
      
      Improve the JSC bindings generator so that global named constructors no longer
      require a [CustomGetter] IDL extended attribute. As a consequence, attributes
      on the global window object can now be automatically generated for interfaces
      that have a [NamedConstructor], namely HTMLOptionElement.
      
      The HTMLAudioElement global constructors are still manually defined because it
      requires custom code at the moment to check if the media player is available.
      
      No new tests, no behavior change.
      
      * bindings/js/JSDOMWindowCustom.cpp:
      * bindings/scripts/CodeGeneratorJS.pm:
      * bindings/scripts/preprocess-idls.pl:
      * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
      * bindings/scripts/test/JS/JSTestNamedConstructor.h:
      * html/HTMLOptionElement.idl:
      * page/DOMWindow.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150283 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      175406ce
    • commit-queue@webkit.org's avatar
      Web Inspector: SyntaxError evaluating "1+1; //@ sourceURL=test" in console · 199bbd43
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116292
      
      Source/WebCore:
      
      Add a newline after the expression so a single line comment doesn't
      erroneously comment out the closing brace of the with block.
      
      Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-05-17
      Reviewed by Timothy Hatcher.
      
      Test: inspector/console/console-eval-comment.html
      
      * inspector/InjectedScriptSource.js:
      
      LayoutTests:
      
      Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-05-17
      Reviewed by Timothy Hatcher.
      
      * inspector/console/console-eval-comment-expected.txt: Added.
      * inspector/console/console-eval-comment.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      199bbd43
    • hyatt@apple.com's avatar
      fast/flexbox/auto-height-with-flex.html failing only on release builds. · 771cc12c
      hyatt@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116240
      
      Reviewed by Darin Adler.
      
      Fix the mainAxisContentExtent method so no overflow occurs, since it
      doesn't work right on release builds.
      
      * rendering/RenderFlexibleBox.cpp:
      (WebCore::RenderFlexibleBox::mainAxisContentExtent):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      771cc12c
    • ch.dumez@sisa.samsung.com's avatar
      Add [EnabledAtRuntime] extended attribute support for global constructors · c1020034
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116147
      
      Reviewed by Geoffrey Garen.
      
      Add [EnabledAtRuntime] extended attribute support for global constructors.
      This patch adds [EnabledAtRuntime] extended attribute to SharedWorker and
      WebSocket IDL interfaces so that their global constructors on the global
      Window object can now be automatically generated.
      
      The behavior on JavaScript side is unchanged. We simply leverage
      RuntimeEnabledFeatures class and the new [EnabledAtRuntime] IDL extended
      attribute to generate the code for global constructors getters instead
      of using custom code.
      
      No new tests, no behavior change for layout tests.
      
      * GNUmakefile.list.am:
      * Modules/websockets/WebSocket.cpp: Enable WebSockets at runtime by default.
      * Modules/websockets/WebSocket.idl:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore):
      * bindings/js/JSDOMWindowWebSocketCustom.cpp: Removed.
      * bindings/scripts/CodeGeneratorJS.pm:
      (ToMethodName):
      (GetRuntimeEnableFunctionName):
      (GenerateImplementation):
      * bindings/scripts/IDLAttributes.txt:
      * page/DOMWindow.idl:
      * workers/SharedWorker.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1020034
    • darin@apple.com's avatar
      [EFL] Move EFL port off legacy clipboard · 598684a1
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116181
      
      Reviewed by Anders Carlsson.
      
      * dom/Clipboard.h: Switched EFL away from "legacy" mode for Clipboard.
      
      * page/efl/EventHandlerEfl.cpp:
      (WebCore::EventHandler::createDraggingClipboard): Changed to call Clipboard member function.
      
      * platform/efl/ClipboardEfl.cpp: Deleted most of the functions.
      (WebCore::Editor::newGeneralClipboard): Changed to call Clipboard member function.
      (WebCore::Clipboard::createDragImage): Moved from ClipboardEfl to Clipboard.
      (WebCore::Clipboard::declareAndWriteDragImage): Moved from ClipboardEfl to Clipboard.
      (WebCore::Clipboard::items): Ditto.
      
      * platform/efl/PasteboardEfl.cpp: A lot of copyright notices for a file that
      has no code in it other than notImplemented lines! I didn't add a new one.
      (WebCore::Pasteboard::createForCopyAndPaste): Added.
      (WebCore::Pasteboard::createPrivate): Added.
      (WebCore::Pasteboard::createForDragAndDrop): Added.
      (WebCore::Pasteboard::hasData): Added.
      (WebCore::Pasteboard::readString): Added.
      (WebCore::Pasteboard::writeString): Added.
      (WebCore::Pasteboard::types): Added.
      (WebCore::Pasteboard::readFilenames): Added.
      (WebCore::Pasteboard::setDragImage): Added.
      (WebCore::Pasteboard::writePasteboard): Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150268 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      598684a1