1. 25 Sep, 2012 40 commits
    • fpizlo@apple.com's avatar
      Structure check hoisting phase doesn't know about the side-effecting nature of Arrayify · 3d94f71e
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97537
      
      Reviewed by Mark Hahnenberg.
      
      No tests because if we use Arrayify then we also use PutByVal(BlankToXYZ), and the latter is
      already known to be side-effecting. So this bug shouldn't have had any symptoms, as far as I
      can tell.
      
      * dfg/DFGStructureCheckHoistingPhase.cpp:
      (JSC::DFG::StructureCheckHoistingPhase::run):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d94f71e
    • rwlbuis@webkit.org's avatar
      [BlackBerry] Make COMPUTED_GOTO part of the HAVE section · d0316b57
      rwlbuis@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97600
      
      Reviewed by Yong Li.
      
      Also get rid of COMPUTED_GOTO_INTERPRETER and add COMPUTED_GOTO_OPCODES.
      
      * WebCoreSupport/AboutDataEnableFeatures.in:
      * WebCoreSupport/AboutDataHaveFeatures.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d0316b57
    • adamk@chromium.org's avatar
      Remove unused DOMAttrModified from EventsNames and Document::ListenerType · 3416086b
      adamk@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97591
      
      Reviewed by Ojan Vafai.
      
      WebKit does not, and will never, fire DOMAttrModified events, so
      there's no need to create the "DOMAttrModified" event name.
      
      The only use of the name was to set the DOMATTRMODIFIED_LISTENER bit
      on Document; with the name gone, the enum value can be removed as well.
      
      * dom/Document.cpp:
      (WebCore::Document::addListenerTypeIfNeeded):
      * dom/Document.h: Remove DOMATTRMODIFIED_LISTENER, and switch this
      enum to use shift-left instead of hex values, so as to be easier to
      update in future.
      * dom/EventNames.h:
      (WebCore):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129551 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3416086b
    • mifenton@rim.com's avatar
      [BlackBerry] Suspend the backingstore while adjusting the view on input field focus. · 6bbca95f
      mifenton@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97595
      
      Reviewed by Antonio Gomes.
      
      PR 188751.
      
      Avoid jumpiness when both a scroll and zoom are required to
      move an input field into focus by suspending the backingstore.
      
      * WebKitSupport/InputHandler.cpp:
      (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129550 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6bbca95f
    • psolanki@apple.com's avatar
      Remove HAVE_SBRK since we never set use_sbrk to true · a8e08c50
      psolanki@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97525
      <rdar://problem/12363601>
      
      Reviewed by Geoffrey Garen.
      
      Source/WebKit/blackberry:
      
      * WebCoreSupport/AboutDataHaveFeatures.in: Remove SBRK from list.
      
      Source/WTF:
      
      The code under HAVE(SBRK) has not been used since 2005. We use mmap not sbrk for FastMalloc
      not sbrk. We can just remove the define and move all of this code inside #ifndef
      WTF_CHANGES.
      
      * wtf/Platform.h:
      * wtf/TCSystemAlloc.cpp:
      (TCMalloc_SystemAlloc):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129549 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8e08c50
    • barraclough@apple.com's avatar
      Regression: put beyond vector length prefers prototype setters to sparse properties · 544a81b8
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97593
      
      Reviewed by Geoff Garen & Filip Pizlo.
      
      Source/JavaScriptCore: 
      
      * runtime/JSObject.cpp:
      (JSC::JSObject::putByIndexBeyondVectorLength):
          - Check for self properties in the sparse map - if present, don't examine the protochain.
      
      LayoutTests: 
      
      * fast/js/script-tests/array-defineOwnProperty.js:
      (Object.defineProperty):
      (set Object.defineProperty):
          - Added test case.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129548 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      544a81b8
    • leoyang@rim.com's avatar
      GraphicsContext3D::compileShader is using incorrect string length in... · bdb7347c
      leoyang@rim.com authored
      GraphicsContext3D::compileShader is using incorrect string length in GraphicsContext3DOpenGLCommon.cpp
      https://bugs.webkit.org/show_bug.cgi?id=97476
      
      Reviewed by Dean Jackson.
      
      No new tests because it's not testable in webkit test runner.
      
      * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
      (WebCore::GraphicsContext3D::compileShader):
      Use translatedShaderCString.length() instead of translatedShaderSource.length()
      for the shader source length because we are using translatedShaderCString.data()
      for glShaderSource().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bdb7347c
    • commit-queue@webkit.org's avatar
      Use USE(3D_GRAPHICS) in CSS SHADERS code when ENABLE(WEBGL) is true. · 1c824f0a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97543
      
      Patch by Huang Dongsung <luxtella@company100.net> on 2012-09-25
      Reviewed by Dean Jackson.
      
      This patch cleans remaining ENABLE(WEBGL) guards in CSS SHADERS code after
      r122175, which made USE(3D_GRAPHICS) default to true when ENABLE(WEBGL) is true.
      
      No new tests because of no behavior changes.
      
      * rendering/FilterEffectRenderer.cpp:
      (WebCore):
      (WebCore::FilterEffectRenderer::build):
      * rendering/RenderView.cpp:
      (WebCore):
      * rendering/RenderView.h:
      (WebCore):
      (RenderView):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1c824f0a
    • bdakin@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=95397 · 0b27e9af
      bdakin@apple.com authored
      Need to merge didFirstVisuallyNonEmptyLayout and 
      didNewFirstVisuallyNonEmptyLayout
      -and corresponding-
      <rdar://problem/10791680>
      
      Reviewed by Sam Weinig.
      
      Source/WebCore: 
      
      This patch merges didFirstLayout, didFirstVisuallyNonEmptyLayout, 
      and didNewFirstVisuallyNonEmptyLayout. Page keeps track of which 
      layout milestones we are interested in with a bit mask, so that 
      different ports/clients can opt-into different milestones. This 
      will allow us to safely add more layout milestones in the future 
      if that seems worthwhile.
      
      Include new file LayoutMilestoneOptions.h
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 
      by dispatchDidLayout(LayoutMilestoneOptions)
      * loader/EmptyClients.h:
      (WebCore::EmptyFrameLoaderClient::dispatchDidLayout):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::didLayout):
      * loader/FrameLoader.h:
      (FrameLoader):
      * loader/FrameLoaderClient.h:
      (FrameLoaderClient):
      (WebCore::FrameLoaderClient::dispatchDidLayout):
      * page/LayoutMilestoneOptions.h: Added.
      (WebCore):
      
      Check with Page to find out which layout milestones the client is 
      interested in, and then dispatch the notifications when 
      appropriate.
      * page/FrameView.cpp:
      (WebCore::FrameView::performPostLayoutTasks):
      
      Remove setRelevantRepaintedObjectsCounterThreshold(). Instead keep 
      track of the layout milestones bit mask.
      * page/Page.cpp:
      (WebCore::Page::Page):
      (WebCore::Page::addLayoutMilestones):
      (WebCore):
      (WebCore::Page::isCountingRelevantRepaintedObjects):
      (WebCore::Page::addRelevantRepaintedObject):
      * page/Page.h:
      (Page):
      (WebCore::Page::layoutMilestones):
      
      Source/WebKit/blackberry: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
      * WebCoreSupport/FrameLoaderClientBlackBerry.h:
      (FrameLoaderClientBlackBerry):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::init):
      
      Source/WebKit/chromium: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * src/FrameLoaderClientImpl.cpp:
      (WebKit::FrameLoaderClientImpl::dispatchDidLayout):
      * src/FrameLoaderClientImpl.h:
      (FrameLoaderClientImpl):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * src/WebHelperPluginImpl.cpp:
      (WebKit::WebHelperPluginImpl::initPage):
      * src/WebPagePopupImpl.cpp:
      (WebKit::WebPagePopupImpl::initPage):
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::WebViewImpl):
      
      Source/WebKit/efl: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * WebCoreSupport/FrameLoaderClientEfl.cpp:
      (WebCore::FrameLoaderClientEfl::dispatchDidLayout):
      * WebCoreSupport/FrameLoaderClientEfl.h:
      (FrameLoaderClientEfl):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * ewk/ewk_view.cpp:
      (_ewk_view_priv_new):
      
      Source/WebKit/gtk: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * WebCoreSupport/FrameLoaderClientGtk.cpp:
      (WebKit::FrameLoaderClient::dispatchDidLayout):
      * WebCoreSupport/FrameLoaderClientGtk.h:
      (FrameLoaderClient):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * webkit/webkitwebview.cpp:
      (webkit_web_view_init):
      
      Source/WebKit/mac: 
      
      The new API has two parts. First, the client has to opt into which 
      layout milestones they are interested in hearing about using 
      [WebView _layoutMilestones]. Then, WebKit will call 
      the WebFrameLoader delegate's didLayout(WebLayoutMilestones) 
      callback when the specified layout milestones have fired. 
      didLayout takes the WebLayoutMilestones bit mask, which will 
      indicate which milestones have fired since it is possible for two 
      to fire at the same time.
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 
      by dispatchDidLayout(LayoutMilestones)
      * WebCoreSupport/WebFrameLoaderClient.h:
      (WebFrameLoaderClient):
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (WebFrameLoaderClient::dispatchDidLayout):
      
      Add new function to the delegate for didLayout.
      * WebView/WebDelegateImplementationCaching.h:
      (WebFrameLoadDelegateImplementationCache):
      
      We need a delegate template that takes an NSUInteger.
      * WebView/WebDelegateImplementationCaching.mm:
      (CallDelegate):
      (CallFrameLoadDelegate):
      
      Convert between WebCore and WebKit versions of the bit mask.
      * WebView/WebView.mm:
      (coreLayoutMilestones):
      (kitLayoutMilestones):
      
      Add new delegate, and set the appropriate layout milestones in 
      WebCore based on old delegates having implementations.
      (-[WebView _cacheFrameLoadDelegateImplementations]):
      
      Call into WebCore.
      (-[WebView _listenForLayoutMilestones:]):
      (-[WebView _layoutMilestones]):
      * WebView/WebViewInternal.h:
      * WebView/WebViewPrivate.h:
      
      Source/WebKit/qt: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * WebCoreSupport/FrameLoaderClientQt.cpp:
      (WebCore::FrameLoaderClientQt::dispatchDidLayout):
      * WebCoreSupport/FrameLoaderClientQt.h:
      (FrameLoaderClientQt):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * Api/qwebpage.cpp:
      (QWebPagePrivate::QWebPagePrivate):
      
      Source/WebKit/win: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebFrameLoaderClient::dispatchDidLayout):
      * WebCoreSupport/WebFrameLoaderClient.h:
      (WebFrameLoaderClient):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * WebView.cpp:
      (WebView::initWithFrame):
      
      Source/WebKit/wince: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestones)
      * WebCoreSupport/FrameLoaderClientWinCE.cpp:
      (WebKit::FrameLoaderClientWinCE::dispatchDidLayout):
      * WebCoreSupport/FrameLoaderClientWinCE.h:
      (FrameLoaderClientWinCE):
      
      Source/WebKit/wx: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestones)
      * WebKitSupport/FrameLoaderClientWx.cpp:
      (WebCore::FrameLoaderClientWx::dispatchDidLayout):
      * WebKitSupport/FrameLoaderClientWx.h:
      (FrameLoaderClientWx):
      
      Source/WebKit2: 
      
      The new API has two parts. First, the client has to opt into which 
      layout milestones they are interested in hearing about using 
      WKPageListenForLayoutMilestones or 
      WKBundlePageListenForLayoutMilestones(). Then, WebKit will call 
      the didLayout(WKLayoutMilestones) callback on the appropriate 
      clients when the specified layout milestones have fired. didLayout 
      takes the WKLayoutMilestones bit mask, which will indicate which 
      milestones have fired since it is possible for two to fire at the 
      same time.
      
      Define WKLayoutMilestoneOptions.
      * Shared/API/c/WKPageLoadTypes.h:
      
      Define conversions between WKLayoutMilestoneOptions and 
      WebCore::LayoutMilestoneOptions
      * Shared/API/c/WKSharedAPICast.h:
      (WebKit::toWKLayoutMilestoneOptions):
      (WebKit):
      (WebKit::toLayoutMilestoneOptions):
      
      New API.
      * UIProcess/API/C/WKPage.cpp:
      (WKPageListenForLayoutMilestones):
      * UIProcess/API/C/WKPage.h:
      * UIProcess/WebLoaderClient.cpp:
      (WebKit::WebLoaderClient::didLayout):
      (WebKit):
      * UIProcess/WebLoaderClient.h:
      (WebLoaderClient):
      
      didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 
      and didNewFirstVisuallyNonEmptyLayout are now implemented with 
      didLayout under the hood. So if those old callbacks have been 
      defined, be sure to add the appropriate layout milestones here for 
      backwards-compatibility.
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::initializeLoaderClient):
      
      New API.
      (WebKit::WebPageProxy::listenForLayoutMilestones):
      (WebKit):
      (WebKit::WebPageProxy::didLayout):
      * UIProcess/WebPageProxy.h:
      (WebPageProxy):
      * UIProcess/WebPageProxy.messages.in:
      
      New API. And remove the now-unnecessary 
      WKBundlePageSetPaintedObjectsCounterThreshold. 
      * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
      (WKBundlePageListenForLayoutMilestones):
      * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
      
      New API.
      * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
      (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout):
      (WebKit):
      (WebKit::InjectedBundlePageLoaderClient::didLayout):
      * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
      (InjectedBundlePageLoaderClient):
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 
      by dispatchDidLayout(LayoutMilestoneOptions)
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::dispatchDidLayout):
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
      (WebFrameLoaderClient):
      
      didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 
      and didNewFirstVisuallyNonEmptyLayout are now implemented with 
      didLayout under the hood. So if those old callbacks have been 
      defined, be sure to add the appropriate layout milestones here for 
      backwards-compatibility.
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::initializeInjectedBundleLoaderClient):
      (WebKit):
      
      Call into WebCore to set the layout milestones.
      (WebKit::WebPage::listenForLayoutMilestones):
      * WebProcess/WebPage/WebPage.h:
      (WebPage):
      * WebProcess/WebPage/WebPage.messages.in:
      
      Account for the new member of PageLoadClient.
      * WebProcess/qt/QtBuiltinBundlePage.cpp:
      (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
      
      Tools: 
      
      Account for the new member of the PageLoadClient.
      * MiniBrowser/mac/BrowserWindowController.m:
      (-[BrowserWindowController awakeFromNib]):
      * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
      (WTR::InjectedBundlePage::InjectedBundlePage):
      * WebKitTestRunner/TestController.cpp:
      (WTR::TestController::initialize):
      
      The NewFirstVisuallyNonEmptyLayoutForImages has existed for a while, 
      but it did not have the right target membership.
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      
      Use new didLayout API instead of old 
      didNewFirstVisuallyNonEmptyLayout API.
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp:
      (TestWebKitAPI):
      (TestWebKitAPI::didLayout):
      (TestWebKitAPI::setPageLoaderClient):
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp:
      (TestWebKitAPI):
      (TestWebKitAPI::didLayout):
      (TestWebKitAPI::setPageLoaderClient):
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
      (TestWebKitAPI):
      (TestWebKitAPI::didLayout):
      (TestWebKitAPI::setPageLoaderClient):
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
      (TestWebKitAPI):
      (TestWebKitAPI::didLayout):
      (TestWebKitAPI::setPageLoaderClient):
      (TestWebKitAPI::TEST):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129545 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b27e9af
    • mifenton@rim.com's avatar
      [BlackBerry] When zooming into an input field take the current zoom level into account. · 925e301b
      mifenton@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97594
      
      Reviewed by Antonio Gomes.
      
      PR 188751.
      
      Perform the zoom action prior to scroll to avoid breaking scrolling
      rules.  Take the current scale into account when calculating the
      zoom factor.
      
      * WebKitSupport/InputHandler.cpp:
      (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      925e301b
    • kling@webkit.org's avatar
      StylePropertySet: Use subclasses to manage varying object layouts. · daca64ab
      kling@webkit.org authored
      <http://webkit.org/b/97470>
      
      Reviewed by Antti Koivisto.
      
      Add two StylePropertySet subclasses:
      
          - MutableStylePropertySet
          - ImmutableStylePropertySet
      
      The StylePropertySet::m_isMutable bit determines which subclass to cast to when accessing
      the property storage. Added mutablePropertyVector() and immutablePropertyArray() helpers
      to StylePropertySet (with appropriate assertions.)
      
      This patch removes one heap allocation (and one step of indirection) in the mutable case,
      since the Vector<CSSProperty> is no longer heap-allocated, but part of MutableStylePropertySet.
      
      Override RefCounted::deref() in StylePropertySet to make sure that the correct subclass
      destructor gets called.
      
      * WebCore.exp.in:
      * css/StylePropertySet.cpp:
      (WebCore::immutableStylePropertySetSize):
      (WebCore::StylePropertySet::createImmutable):
      (WebCore::StylePropertySet::immutableCopyIfNeeded):
      (WebCore::MutableStylePropertySet::MutableStylePropertySet):
      (WebCore::ImmutableStylePropertySet::ImmutableStylePropertySet):
      (WebCore::ImmutableStylePropertySet::~ImmutableStylePropertySet):
      (WebCore::StylePropertySet::~StylePropertySet):
      (WebCore::StylePropertySet::removeProperty):
      (WebCore::StylePropertySet::parseDeclaration):
      (WebCore::StylePropertySet::addParsedProperties):
      (WebCore::StylePropertySet::removePropertiesInSet):
      (WebCore::StylePropertySet::removeEquivalentProperties):
      (WebCore::StylePropertySet::copy):
      (WebCore::StylePropertySet::reportMemoryUsage):
      (WebCore::StylePropertySet::append):
      (WebCore::StylePropertySet::create):
      * css/StylePropertySet.h:
      (StylePropertySet):
      (WebCore::StylePropertySet::StylePropertySet):
      (ImmutableStylePropertySet):
      (MutableStylePropertySet):
      (WebCore::MutableStylePropertySet::MutableStylePropertySet):
      (WebCore::StylePropertySet::mutablePropertyVector):
      (WebCore::StylePropertySet::immutablePropertyArray):
      (WebCore::StylePropertySet::propertyAt):
      (WebCore::StylePropertySet::propertyCount):
      (WebCore::StylePropertySet::deref):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      daca64ab
    • dgrogan@chromium.org's avatar
      2012-09-25 David Grogan <dgrogan@chromium.org> · bd22fcdc
      dgrogan@chromium.org authored
      Unreviewed. Change some more svn:eol-style properties from native to LF.
      
      * LayoutTests/fast/events/message-port-constructor-for-deleted-document-expected.txt
      * LayoutTests/fast/events/message-port-deleted-document-expected.txt
      * LayoutTests/fast/events/message-port-deleted-frame-expected.txt
      * LayoutTests/fast/events/message-port-expected.txt
      * LayoutTests/fast/events/message-port-inactive-document-expected.txt
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129542 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd22fcdc
    • carlosgc@webkit.org's avatar
      [GTK][EFL] Disk cache is never dumped to disk in WebKit2 · a5fe0f18
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97583
      
      Reviewed by Martin Robinson.
      
      The problem is that WebProcess::platformTerminate(), where the
      cache is currently dumped, is not called when the web process
      finishes because the UI process closes the connection. The cache
      is created and loaded in the main() so it can also be flushed and
      dumped there, so that we also make sure it's always called when
      the process finishes normally when the main loop quits.
      
      * WebProcess/efl/WebProcessMainEfl.cpp:
      (WebKit::WebProcessMainEfl): Flush and dump the disk cache when
      the main loop returns.
      * WebProcess/gtk/WebProcessMainGtk.cpp:
      (WebKit::WebProcessMainGtk): Ditto.
      * WebProcess/soup/WebProcessSoup.cpp:
      (WebKit::WebProcess::platformTerminate): Do not flush and dump
      the disk cache.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5fe0f18
    • leviw@chromium.org's avatar
      Unreviewed gardening. Updating expectations after r129529. · 8392dee7
      leviw@chromium.org authored
      * platform/chromium-mac-snowleopard/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
      * platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
      * platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug1318-expected.png:
      * platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug55527-expected.png:
      * platform/chromium-mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
      * platform/chromium-mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
      * platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
      * platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
      * platform/chromium-mac/tables/mozilla/bugs/bug1318-expected.png:
      * platform/chromium-mac/tables/mozilla/bugs/bug1318-expected.txt:
      * platform/chromium-mac/tables/mozilla/bugs/bug55527-expected.png:
      * platform/chromium-mac/tables/mozilla/bugs/bug55527-expected.txt: Removed.
      * platform/efl/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt: Removed.
      * platform/efl/tables/mozilla/bugs/bug55527-expected.txt: Removed.
      * platform/gtk/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt: Removed.
      * svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8392dee7
    • dgrogan@chromium.org's avatar
      2012-09-25 David Grogan <dgrogan@chromium.org> · ffef5b57
      dgrogan@chromium.org authored
              Unreviewed. Change some svn:eol-style properties from native to LF.
      
              * fast/events/message-channel-gc-2-expected.txt
              * fast/events/message-channel-gc-3-expected.txt
              * fast/events/message-channel-gc-4-expected.txt
              * fast/events/message-channel-gc-expected.txt
              * fast/events/message-channel-listener-circular-ownership-expected.txt
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffef5b57
    • peter@chromium.org's avatar
      [Chromium] Rebaseline css1/ tests for Android. · 729e147c
      peter@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=96398
      
      Unreviewed rebaselining.
      
      * platform/chromium-android/css1/: 136 new .txt and .png results.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129538 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      729e147c
    • commit-queue@webkit.org's avatar
      [GTK] Webkit 1.8.2 fails to build with MinGW with spellchecking enabled · 526fc014
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93255
      
      Patch by Paweł Forysiuk <tuxator@o2.pl> on 2012-09-25
      Reviewed by Martin Robinson.
      
      Build dies because of invalid cast. Additionaly word "interface" is in use with MinGW compiler.
      
      * WebCoreSupport/TextCheckerClientGtk.cpp:
      (WebKit::TextCheckerClientGtk::checkSpellingOfString): Use String to avoid unneded casting
      * webkit/webkitspellcheckerenchant.cpp:
      (webkit_spell_checker_enchant_spell_checker_interface_init): rename interface -> checkerInterface
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      526fc014
    • benjamin@webkit.org's avatar
      Add missing support for Geolocation tests on WebKit2 · 2cc756c8
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97518
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-09-25
      Reviewed by Sam Weinig.
      
      Source/WebKit2: 
      
      The existing API for reporting error does not support passing and error message.
      
      The interface UIProcess<->WebProcess is changed to take an error message, the
      existing API now pass a null String, and the new function
      WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage() provide
      the extended support with error message.
      
      * UIProcess/API/C/WKGeolocationManager.cpp:
      (WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage):
      * UIProcess/API/C/WKGeolocationManager.h:
      * UIProcess/WebGeolocationManagerProxy.cpp:
      (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
      * UIProcess/WebGeolocationManagerProxy.h:
      (WebGeolocationManagerProxy):
      * WebProcess/Geolocation/WebGeolocationManager.cpp:
      (WebKit::WebGeolocationManager::didFailToDeterminePosition):
      * WebProcess/Geolocation/WebGeolocationManager.h:
      (WebGeolocationManager):
      * WebProcess/Geolocation/WebGeolocationManager.messages.in:
      
      Tools: 
      
      There are two main features added to the tooling to make the test run:
      -Add support for error reporting for position errors through setMockGeolocationPositionUnavailableError.
      -Support the 3 states permission: undefined-allowed-denied.
      
      * WebKitTestRunner/GeolocationProviderMock.cpp:
      (WTR::GeolocationProviderMock::GeolocationProviderMock):
      (WTR::GeolocationProviderMock::setPosition):
      (WTR::GeolocationProviderMock::setPositionUnavailableError):
      (WTR::GeolocationProviderMock::startUpdating):
      (WTR::GeolocationProviderMock::sendPositionIfNeeded):
      (WTR::GeolocationProviderMock::sendErrorIfNeeded):
      * WebKitTestRunner/GeolocationProviderMock.h:
      (GeolocationProviderMock):
      * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
      * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
      (WTR::InjectedBundle::setMockGeolocationPositionUnavailableError):
      * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
      (InjectedBundle):
      * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
      (WTR::TestRunner::setMockGeolocationPositionUnavailableError):
      * WebKitTestRunner/InjectedBundle/TestRunner.h:
      (TestRunner):
      * WebKitTestRunner/TestController.cpp:
      (WTR::TestController::TestController):
      (WTR::decidePolicyForGeolocationPermissionRequest):
      (WTR::TestController::resetStateToConsistentValues):
      (WTR::TestController::setGeolocationPermission):
      (WTR::TestController::setMockGeolocationPosition):
      (WTR::TestController::setMockGeolocationPositionUnavailableError):
      (WTR::TestController::handleGeolocationPermissionRequest):
      (WTR::TestController::decidePolicyForGeolocationPermissionRequestIfPossible):
      * WebKitTestRunner/TestController.h:
      (TestController):
      * WebKitTestRunner/TestInvocation.cpp:
      (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
      
      LayoutTests: 
      
      Unskip almost all the layout tests.
      
      * platform/wk2/Skipped:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2cc756c8
    • beidson@apple.com's avatar
      Crash after clicking in plugin at kauaiexplorer.com · 995dfee1
      beidson@apple.com authored
      <rdar://problem/11525987/> and https://bugs.webkit.org/show_bug.cgi?id=90925
      
      Patch by Akash Vaswani <avaswani@apple.com> on 2012-09-25
      Reviewed by Sam Weinig.
      
      Source/WebKit2:
      
      Bug: Clicking the plugin to navigate away from the page caused the browser to crash.
           This is because it is possible for a beforeunload handler to destroy the plugin
           while it is still needed. In this case the handler set visibility to "none" and
           then accessed a property on the plugin script object. This forced a layout
           that destroyed the plugin.
      Fix: Protecting PluginView objects until they are no longer required.
           This was done by adding a RefPtr at the beginning of performURLRequest()
      
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::PluginView::performURLRequest):
      
      LayoutTests:
      
      * http/tests/plugins/get-url-beforeunload-destroys-plugin-expected.txt: Added.
      * http/tests/plugins/get-url-beforeunload-destroys-plugin.html: Added.
      * http/tests/plugins/resources/notify-done.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      995dfee1
    • jsbell@chromium.org's avatar
      IndexedDB: One transaction coordinator per database · 055e03ca
      jsbell@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97501
      
      Reviewed by Tony Chang.
      
      Source/WebCore:
      
      Per the IDB spec, transactions only need to be sequenced within databases.
      The implementation was using one coordinator per factory backend (effectively
      a singleton), which would prevent parallel execution of transactions in different
      databases. Moved ownership of the transaction coordinator to the database backend.
      
      Tests: storage/indexeddb/transaction-coordination-across-databases.html
             storage/indexeddb/transaction-readwrite-exclusive.html
      
      * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
      (WebCore::IDBDatabaseBackendImpl::create):
      (WebCore):
      (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
      * Modules/indexeddb/IDBDatabaseBackendImpl.h:
      (IDBDatabaseBackendImpl):
      * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
      (WebCore::IDBFactoryBackendImpl::deleteDatabase):
      (WebCore::IDBFactoryBackendImpl::open):
      * Modules/indexeddb/IDBFactoryBackendImpl.h:
      (WebCore):
      (IDBFactoryBackendImpl):
      * Modules/indexeddb/IDBTransactionCoordinator.cpp:
      (WebCore::IDBTransactionCoordinator::create):
      (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
      * Modules/indexeddb/IDBTransactionCoordinator.h:
      (IDBTransactionCoordinator):
      
      Source/WebKit/chromium:
      
      Remove obsolete argument.
      
      * tests/IDBDatabaseBackendTest.h:
      
      LayoutTests:
      
      Test that transactions can be parallelized across databases, and ensure that
      read/write transactions with overlapping scopes are not parallelized within a
      database.
      
      * storage/indexeddb/resources/transaction-coordination-across-databases.js: Added.
      * storage/indexeddb/resources/transaction-readwrite-exclusive.js: Added.
      * storage/indexeddb/transaction-coordination-across-databases-expected.txt: Added.
      * storage/indexeddb/transaction-coordination-across-databases.html: Added.
      * storage/indexeddb/transaction-readwrite-exclusive-expected.txt: Added.
      * storage/indexeddb/transaction-readwrite-exclusive.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      055e03ca
    • carlosgc@webkit.org's avatar
      [GTK] Don't kill automatically the web process when the ui process finishes · 1f9b34b2
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97580
      
      Reviewed by Martin Robinson.
      
      We use prctl(PR_SET_PDEATHSIG, SIGKILL); in linux to make sure the
      web process is killed when the UI process finishes. This is not
      needed any more since now the web process stops the main loop when
      the connection with the UI process is closed in
      WebProcess::didClose(). This approach is better because it works
      for any platform and makes the web process finish normally from
      main().
      
      * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
      (WebKit::childSetupFunction): Don't call prctl(PR_SET_PDEATHSIG,
      SIGKILL) in the child process.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129533 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f9b34b2
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r129517. · bcf24f98
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/129517
      https://bugs.webkit.org/show_bug.cgi?id=97582
      
      Link errors in chromium (Requested by alecf on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-09-25
      
      Source/Platform:
      
      * chromium/public/WebMediaConstraints.h:
      (WebMediaConstraints):
      
      Source/WebCore:
      
      * Modules/mediastream/MediaConstraintsImpl.cpp:
      * Modules/mediastream/MediaConstraintsImpl.h:
      * Modules/mediastream/NavigatorMediaStream.cpp:
      (WebCore::NavigatorMediaStream::webkitGetUserMedia):
      * Modules/mediastream/UserMediaRequest.cpp:
      (WebCore::UserMediaRequest::create):
      (WebCore::UserMediaRequest::UserMediaRequest):
      * Modules/mediastream/UserMediaRequest.h:
      (WebCore):
      (UserMediaRequest):
      (WebCore::UserMediaRequest::audio):
      (WebCore::UserMediaRequest::video):
      * platform/chromium/support/WebMediaConstraints.cpp:
      
      Source/WebKit/chromium:
      
      * public/WebUserMediaRequest.h:
      (WebUserMediaRequest):
      * src/WebUserMediaRequest.cpp:
      
      Tools:
      
      * DumpRenderTree/DumpRenderTree.gypi:
      * DumpRenderTree/chromium/MockConstraints.cpp: Removed.
      * DumpRenderTree/chromium/MockConstraints.h: Removed.
      * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
      (RTCSessionDescriptionRequestSuccededTask::RTCSessionDescriptionRequestSuccededTask):
      (RTCSessionDescriptionRequestFailedTask::RTCSessionDescriptionRequestFailedTask):
      (RTCVoidRequestTask::RTCVoidRequestTask):
      (isSupportedConstraint):
      (isValidConstraint):
      (MockWebRTCPeerConnectionHandler::initialize):
      * DumpRenderTree/chromium/WebUserMediaClientMock.cpp:
      (WebKit::WebUserMediaClientMock::requestUserMedia):
      * DumpRenderTree/chromium/WebUserMediaClientMock.h:
      (WebKit):
      (WebUserMediaClientMock):
      * DumpRenderTree/chromium/WebViewHost.h:
      (WebKit):
      (WebViewHost):
      
      LayoutTests:
      
      * fast/mediastream/getusermedia-expected.txt:
      * fast/mediastream/getusermedia.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129532 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bcf24f98
    • benjamin@webkit.org's avatar
      Build fix, GeolocationClientMock should not be included by WebProcess InjectedBundle · f1d6b68c
      benjamin@webkit.org authored
      Unreviewed.
      
      The patch r129252 removes the dependencies on GeolocationClientMock, r129444 removes
      GeolocationClientMock from the Mac port. The #include breaks new Mac build.
      
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f1d6b68c
    • commit-queue@webkit.org's avatar
      [CSS Exclusions] Enable css exclusions for multiple blocks per element · 3b26f3d0
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89993
      
      Patch by Bear Travis <betravis@adobe.com> on 2012-09-25
      Reviewed by Julien Chaffraix.
      
      Source/WebCore:
      
      Similar to multi-column layout, a parent RenderBlock's WrapShapeInfo may affect
      the inline content of its children. This patch follows the example of ColumnInfo
      and adds WrapShapeInfo to LayoutState, which tracks the current shape-inside that
      inline content should respect.
      
      Tests: fast/exclusions/shape-inside/shape-inside-multiple-blocks.html
             fast/exclusions/shape-inside/shape-inside-multiple-blocks-vertical.html
      
      * rendering/LayoutState.cpp:
      (WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
      * rendering/LayoutState.h:
      (WebCore):
      (WebCore::LayoutState::LayoutState): Initialize m_wrapShapeInfo.
      (LayoutState):
      (WebCore::LayoutState::wrapShapeInfo): Getter for m_wrapShapeInfo.
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::LineWidth::LineWidth): Use LayoutState to lookup WrapShapeInfo.
      (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
      (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
      * rendering/RenderView.h:
      (WebCore::RenderView::pushLayoutState): Push LayoutState if a WrapShapeInfo
      is present.
      
      LayoutTests:
      
      Adding tests to cover the case where a shape-inside affects block children's
      inline content.
      
      * fast/exclusions/shape-inside/shape-inside-multiple-blocks-expected.html: Added.
      * fast/exclusions/shape-inside/shape-inside-multiple-blocks-vertical-expected.html: Added.
      * fast/exclusions/shape-inside/shape-inside-multiple-blocks-vertical.html: Added.
      * fast/exclusions/shape-inside/shape-inside-multiple-blocks.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b26f3d0
    • eae@chromium.org's avatar
      [chromium] REGRESSION: Incorrect preferred width calculation for table cells · c2015155
      eae@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97497
      
      Reviewed by Levi Weintraub.
      
      Source/WebCore: 
      
      In fixing bug 93911 r125694 caused a problem with the preferred
      width calculations for table cells with a fractional padding
      where the logic to ensure that the cell is wide enough for the
      content returns different results for cells with a fixed width
      and cells with an automatic width.
      
      Test: fast/sub-pixel/table-cells-have-stable-width.html
      
      * rendering/AutoTableLayout.cpp:
      (WebCore::AutoTableLayout::recalcColumn):
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::computePreferredLogicalWidths):
      Move the logic that ensures that a cell is wide enough from AutoTableLayout::recalcColumn to RenderBlock::computePreferredLogicalWidths to. This way it also applies to FixedTableLayout which had the same problem.
      
      LayoutTests: 
      
      Added test for cell width calculation and reverted three svg tests to the results prior to r125694.
      
      * fast/sub-pixel/table-cells-have-stable-width-expected.txt: Added.
      * fast/sub-pixel/table-cells-have-stable-width.html: Added.
      * platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
      * platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
      * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
      * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
      * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
      * platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c2015155
    • commit-queue@webkit.org's avatar
      [BlackBerry] Handling required for multiple consecutive whitespace · 31612ff4
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97575
      
      Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-09-25
      Reviewed by Rob Buis.
      
      PR211670
      Need specific handling in the case where we have multiple
      consecutive whitespaces which exceeds our character limit. This
      breaks some of the functionality employed with the visible_units
      methods used here to tranverse the text.
      
      Internally reviewed by Mike Fenton.
      
      * WebKitSupport/DOMSupport.cpp:
      (BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
      (DOMSupport):
      (BlackBerry::WebKit::DOMSupport::isEmptyRangeOrAllSpaces):
      * WebKitSupport/DOMSupport.h:
      (WebCore):
      * WebKitSupport/InputHandler.cpp:
      (BlackBerry::WebKit::InputHandler::spellCheckBlock):
      (BlackBerry::WebKit::InputHandler::getRangeForSpellCheckWithFineGranularity):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31612ff4
    • dmazzoni@google.com's avatar
      AX: Chromium doesn't pass accessibility text range and line number tests · 828e5fc8
      dmazzoni@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97246
      
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Adds a method to get all line breaks at once, so retrieving all
      line breaks isn't an O(n^2) operation for Chromium.
      
      Enables four existing tests to pass on Chromium:
      Tests: accessibility/textarea-insertion-point-line-number.html
             accessibility/textarea-line-for-index.html
             accessibility/textarea-selected-text-range.html
             accessibility/textbox-role-reports-selection.html
      
      * accessibility/AccessibilityObject.h:
      (WebCore::AccessibilityObject::lineBreaks):
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::lineBreaks):
      (WebCore):
      * accessibility/AccessibilityRenderObject.h:
      (AccessibilityRenderObject):
      
      Source/WebKit/chromium:
      
      Use improved implementation of AccessibilityRenderObject::lineBreaks
      and implement methods to get the line number of the selection and
      to set the text range.
      
      Enables four existing tests to pass on Chromium:
      Tests: accessibility/textarea-insertion-point-line-number.html
             accessibility/textarea-line-for-index.html
             accessibility/textarea-selected-text-range.html
             accessibility/textbox-role-reports-selection.html
      
      * public/WebAccessibilityObject.h:
      (WebAccessibilityObject):
      * src/WebAccessibilityObject.cpp:
      (WebKit::WebAccessibilityObject::selectionEndLineNumber):
      (WebKit):
      (WebKit::WebAccessibilityObject::selectionStartLineNumber):
      (WebKit::WebAccessibilityObject::setSelectedTextRange):
      (WebKit::WebAccessibilityObject::lineBreaks):
      
      Tools:
      
      Provide a chromium implementation of some AccessibilityUIElement
      methods needed by accessibility tests.
      
      Enables four existing tests to pass on Chromium:
      Tests: accessibility/textarea-insertion-point-line-number.html
             accessibility/textarea-line-for-index.html
             accessibility/textarea-selected-text-range.html
             accessibility/textbox-role-reports-selection.html
      
      * DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp:
      (AccessibilityUIElement::insertionPointLineNumberGetterCallback):
      (AccessibilityUIElement::selectedTextRangeGetterCallback):
      (AccessibilityUIElement::lineForIndexCallback):
      (AccessibilityUIElement::setSelectedTextRangeCallback):
      
      LayoutTests:
      
      Enables four tests on chromium:
      Tests: accessibility/textarea-insertion-point-line-number.html
             accessibility/textarea-line-for-index.html
             accessibility/textarea-selected-text-range.html
             accessibility/textbox-role-reports-selection.html
      
      * platform/chromium/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      828e5fc8
    • jocelyn.turcotte@digia.com's avatar
      [Qt] PageViewportController: Consolidate positionRangeForViewportAtScale and boundPosition · 9fe1026f
      jocelyn.turcotte@digia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97222
      
      Reviewed by Kenneth Rohde Christiansen.
      
      Those methods are used together everywhere, merge them into a single
      clampViewportToContents method.
      
      * UIProcess/PageViewportController.cpp:
      (WebKit::PageViewportController::innerBoundedViewportScale):
      (WebKit::PageViewportController::outerBoundedViewportScale):
      (WebKit::PageViewportController::clampViewportToContents):
      (WebKit):
      (WebKit::PageViewportController::pageDidRequestScroll):
      (WebKit::PageViewportController::syncVisibleContents):
      * UIProcess/PageViewportController.h:
      (PageViewportController):
      (WebKit):
      * UIProcess/qt/PageViewportControllerClientQt.cpp:
      (WebKit::PageViewportControllerClientQt::focusEditableArea):
      (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
      (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9fe1026f
    • commit-queue@webkit.org's avatar
      CSP paths: Ignore invalid path components, rather than dropping the source completely. · f584e632
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97538
      
      Patch by Mike West <mkwst@google.com> on 2012-09-25
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Content Security Policy directives that accept source lists currently
      handle soure URI paths containing '?' or '#' in a draconian fashion by
      dropping the entire source expression. We should be slightly friendlier,
      and ignore simply the portion of the source expression that we know to
      be invalid, just as we previously ignored everything after and including
      a '/' in source expressions before we supported paths.
      
      The new behavior is covered by existing tests, and two test-cases added
      to http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html.
      
      * page/ContentSecurityPolicy.cpp:
      (WebCore::CSPSourceList::parsePath):
          Report an error to the console, rather than ignoring a path that
          contains an invalid fragment or query.
      (WebCore::ContentSecurityPolicy::reportInvalidPathCharacter):
      (WebCore):
      * page/ContentSecurityPolicy.h:
          Add a new warning type to cover this case.
      
      LayoutTests:
      
      * http/tests/security/contentSecurityPolicy/source-list-parsing-05-expected.txt:
      * http/tests/security/contentSecurityPolicy/source-list-parsing-06-expected.txt:
          Updating to the new error message.
      * http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02-expected.txt:
      * http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html:
          Adding new tests to check that valid paths followed by '?' or '#'
          drop the invalid component, but remain valid sources.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f584e632
    • commit-queue@webkit.org's avatar
      [BlackBerry] Reverting implementation for 407 error pages · 6c2a9080
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97455
      
      Patch by commit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc> on 2012-09-25
      Reviewed by Rob Buis.
      
      Adding additional fixes to NetworkJob since BlackBerry::Platform::Client
      is no longer avaliable. Using BlackBerryPlatformSettings to get proxy
      information instead.
      
      BlackBerryPlatformClient was deleted in PR 170160.
      
      * platform/network/blackberry/NetworkJob.cpp:
      (WebCore::NetworkJob::sendRequestWithCredentials):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c2a9080
    • hans@chromium.org's avatar
      GIFImageReader: fix tautological compare · 9b64b525
      hans@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97563
      
      Reviewed by Adam Barth.
      
      The frame_reader->disposal_method field is of type
      ImageFrame::FrameDisposalMethod, which has a range of 0--3. Therefore,
      recent versions of Clang concludes that the expression
      frame_reader->disposal_method == 4
      will never be true, and warns about it.
      
      This patch fixes the code by doing the comparison before storing the
      value in the enum.
      
      No new functionality, no new tests.
      
      * platform/image-decoders/gif/GIFImageReader.cpp:
      (GIFImageReader::read):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9b64b525
    • peter@chromium.org's avatar
      [Chromium] Android's build archives have grown from 38M to 102M in 11 days · 85630f81
      peter@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97336
      
      Reviewed by Adam Barth.
      
      Each WebKit target results in four APKs in the out/{Debug,Release}/ directory,
      while we really only need one. Ignoring the unsigned APKs removes six from
      the archive will make sure that we only archive a single APK per target,
      bringing its size back to rougly 40 megabytes.
      
      * BuildSlaveSupport/built-product-archive:
      (archiveBuiltProduct):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129522 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      85630f81
    • commit-queue@webkit.org's avatar
      committers-autocomplete.js works only with WebKit based browsers · 7d518483
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=66752
      
      Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-09-25
      Reviewed by Darin Adler.
      
      Modified the code do only add event listeners to the given inputs,
      and not to the full document.
      
      * committers-autocomplete.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7d518483
    • zandobersek@gmail.com's avatar
      Unreviewed GTK gardening. · a8e8b3d9
      zandobersek@gmail.com authored
      Removing failure expectations for a few passing reftests and reclassifying
      one reftest as flaky.
      
      * platform/gtk/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8e8b3d9
    • mark.lam@apple.com's avatar
      #undef some symbols before redefining them. · c31eb852
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97568.
      
      Reviewed by Michael Saboff.
      
      * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c31eb852
    • tommyw@google.com's avatar
      MediaStream API: Update getUserMedia to match the latest specification · 3cebec07
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97540
      
      Reviewed by Adam Barth.
      
      Source/Platform:
      
      * chromium/public/WebMediaConstraints.h:
      (WebMediaConstraints):
      
      Source/WebCore:
      
      http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia
      Navigator.getUserMedia is changed so that the audio and video members can either
      be a bool or a constraints object.
      
      Existing tests expanded to cover the new change.
      
      * Modules/mediastream/MediaConstraintsImpl.cpp:
      (WebCore::MediaConstraintsImpl::create):
      (WebCore):
      * Modules/mediastream/MediaConstraintsImpl.h:
      (MediaConstraintsImpl):
      * Modules/mediastream/NavigatorMediaStream.cpp:
      (WebCore::NavigatorMediaStream::webkitGetUserMedia):
      * Modules/mediastream/UserMediaRequest.cpp:
      (WebCore::parseOptions):
      (WebCore):
      (WebCore::UserMediaRequest::create):
      (WebCore::UserMediaRequest::UserMediaRequest):
      (WebCore::UserMediaRequest::audio):
      (WebCore::UserMediaRequest::video):
      (WebCore::UserMediaRequest::audioConstraints):
      (WebCore::UserMediaRequest::videoConstraints):
      * Modules/mediastream/UserMediaRequest.h:
      (WebCore):
      (UserMediaRequest):
      * platform/chromium/support/WebMediaConstraints.cpp:
      (WebKit::WebMediaConstraints::WebMediaConstraints):
      (WebKit):
      
      Source/WebKit/chromium:
      
      http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia
      Navigator.getUserMedia is changed so that the audio and video members can either
      be a bool or a constraints object.
      
      * public/WebUserMediaRequest.h:
      (WebKit):
      (WebUserMediaRequest):
      * src/WebUserMediaRequest.cpp:
      (WebKit::WebUserMediaRequest::audioConstraints):
      (WebKit):
      (WebKit::WebUserMediaRequest::videoConstraints):
      
      Tools:
      
      Adding mock support for the enhanced getUserMedia call.
      
      * DumpRenderTree/DumpRenderTree.gypi:
      * DumpRenderTree/chromium/MockConstraints.cpp: Copied from Source/WebCore/platform/chromium/support/WebMediaConstraints.cpp.
      (MockConstraints):
      (MockConstraints::isSupported):
      (MockConstraints::isValid):
      (MockConstraints::verify):
      * DumpRenderTree/chromium/MockConstraints.h: Copied from Tools/DumpRenderTree/chromium/WebUserMediaClientMock.h.
      (WebKit):
      (MockConstraints):
      * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
      (RTCSessionDescriptionRequestSuccededTask::RTCSessionDescriptionRequestSuccededTask):
      (RTCSessionDescriptionRequestFailedTask::RTCSessionDescriptionRequestFailedTask):
      (RTCVoidRequestTask::RTCVoidRequestTask):
      (MockWebRTCPeerConnectionHandler::initialize):
      * DumpRenderTree/chromium/WebUserMediaClientMock.cpp:
      (UserMediaRequestTask):
      (UserMediaRequestTask::UserMediaRequestTask):
      (WebUserMediaClientMock::requestUserMedia):
      * DumpRenderTree/chromium/WebUserMediaClientMock.h:
      (WebUserMediaClientMock):
      (WebUserMediaClientMock::taskList):
      * DumpRenderTree/chromium/WebViewHost.h:
      (WebKit):
      (WebViewHost):
      
      LayoutTests:
      
      Expanding tests to cover the new getUserMedia behaviour.
      
      * fast/mediastream/getusermedia-expected.txt:
      * fast/mediastream/getusermedia.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129517 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3cebec07
    • commit-queue@webkit.org's avatar
      Web Inspector: yellow on-hover pop-up won't go if another pane asynchronously opens · 2fcae4ba
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97120
      
      Patch by mire <mbudaes@adobe.com> on 2012-09-25
      Reviewed by Alexander Pavlov.
      
      Add mouseout event listener to popover element so that the pop-up will go when moving to another panel.
      
      No new tests.
      
      * inspector/front-end/Popover.js:
      (WebInspector.Popover.prototype.show):
      (WebInspector.PopoverHelper.prototype._mouseOut):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129516 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2fcae4ba
    • commit-queue@webkit.org's avatar
      [Qt] Unify the PageViewportController<->Client interface regarding positions · 55a3e5f8
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97220
      
      Patch by Jocelyn Turcotte <jocelyn.turcotte@digia.com> on 2012-09-25
      Reviewed by Kenneth Rohde Christiansen.
      
      - Make sure that css units are used for all position arguments
      - Make sure that all positions represent the viewport relatively to the contents
        rather than the other way around
      - Delay clamping the viewport to the contents size in the controller rather than in the client
      
      * UIProcess/API/qt/qquickwebview.cpp:
      (QQuickWebViewFlickablePrivate::updateViewportSize):
      * UIProcess/PageViewportController.cpp:
      (WebKit::PageViewportController::pageDidRequestScroll):
      (WebKit::PageViewportController::didChangeViewportSize):
      (WebKit::PageViewportController::didChangeContentsVisibility):
      (WebKit::PageViewportController::syncVisibleContents):
      (WebKit::PageViewportController::positionRangeForViewportAtScale):
      * UIProcess/PageViewportController.h:
      (PageViewportController):
      * UIProcess/PageViewportControllerClient.h:
      (PageViewportControllerClient):
      * UIProcess/qt/PageViewportControllerClientQt.cpp:
      (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
      (WebKit::PageViewportControllerClientQt::focusEditableArea):
      (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
      (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
      (WebKit::PageViewportControllerClientQt::setViewportPosition):
      (WebKit::PageViewportControllerClientQt::updateViewportController):
      * UIProcess/qt/PageViewportControllerClientQt.h:
      (PageViewportControllerClientQt):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55a3e5f8
    • commit-queue@webkit.org's avatar
      [Qt] Make sure that desktop pages honour the devicePixelRatio · 528d1e70
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97215
      
      Patch by Jocelyn Turcotte <jocelyn.turcotte@digia.com> on 2012-09-25
      Reviewed by Kenneth Rohde Christiansen.
      
      The desktopWidth given to computeViewportAttributes is expected to be pixel-ratio adjusted already.
      We need to make sure that the viewport size is divided by the pixel ratio to prevent
      the equivalent of a 1.0 devicePixelRatio to be in effect once viewportSize.width() is larger
      than layoutFallbackWidth.
      
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::sendViewportAttributesChanged):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      528d1e70
    • rakuco@webkit.org's avatar
      [EFL] Gardening. · 6edc17a5
      rakuco@webkit.org authored
      Use the right bug number related to
      fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html.
      
      * platform/efl/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6edc17a5