1. 29 Jan, 2013 40 commits
    • oliver@apple.com's avatar
      Add some hardening to methodTable() · b6b94a90
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108253
      
      Reviewed by Mark Hahnenberg.
      
      When accessing methodTable() we now always make sure that our
      structure _could_ be valid.  Added a separate method to get a
      classes methodTable during destruction as it's not possible to
      validate the structure at that point.  This separation might
      also make it possible to improve the performance of methodTable
      access more generally in future.
      
      * heap/MarkedBlock.cpp:
      (JSC::MarkedBlock::callDestructor):
      * runtime/JSCell.h:
      (JSCell):
      * runtime/JSCellInlines.h:
      (JSC::JSCell::methodTableForDestruction):
      (JSC):
      (JSC::JSCell::methodTable):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b6b94a90
    • fpizlo@apple.com's avatar
      offlineasm BaseIndex handling is broken on ARM due to MIPS changes · 02eb3abb
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108261
      
      Reviewed by Oliver Hunt.
              
      Backends shouldn't override each other's methods. That's not cool.
      
      * offlineasm/mips.rb:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02eb3abb
    • aelias@chromium.org's avatar
      [chromium] Disable layout tests impacted by page scale change · fc39343c
      aelias@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108232
      
      Unreviewed, gardening.
      
      After https://codereview.chromium.org/12045002/, these
      tests are expected to fail.  Disabling and creating bugs for follow-up.
      
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc39343c
    • timothy_horton@apple.com's avatar
      Don't updateTileCoverageMap() from setScrollingModeIndication if we don't need to. · 8c9b6307
      timothy_horton@apple.com authored
      Reviewed by Simon Fraser.
      
      Only do the work if the tiled scrolling indicator/map is enabled.
      
      * platform/graphics/ca/mac/TileCache.mm:
      (WebCore::TileCache::setScrollingModeIndication):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c9b6307
    • cfleizach@apple.com's avatar
      AX: Add support for aria-autocomplete="list" on ARIA combobox · ddee4452
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108228
      
      Reviewed by Ryosuke Niwa.
      
      Source/WebCore:
      
      Comboboxes behave much like textfields, and so they need
      to respond like text controls.
      
      Test: platform/mac/accessibility/combox-box-value.html
      
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::isTextControl):
      (WebCore):
      * accessibility/AccessibilityObject.h:
      (AccessibilityObject):
      
      LayoutTests:
      
      * platform/mac/accessibility/combox-box-value-expected.txt: Added.
      * platform/mac/accessibility/combox-box-value.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ddee4452
    • fpizlo@apple.com's avatar
      cloop.rb shouldn't use a method called 'dump' for code generation · 083b1cf3
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108251
      
      Reviewed by Mark Hahnenberg.
              
      Revert http://trac.webkit.org/changeset/141178 and rename 'dump' to 'clDump'.
              
      Also made trivial build fixes for !ENABLE(JIT).
      
      * offlineasm/cloop.rb:
      * runtime/Executable.h:
      (ExecutableBase):
      (JSC::ExecutableBase::intrinsicFor):
      * runtime/JSGlobalData.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      083b1cf3
    • thakis@chromium.org's avatar
      [chromium] Do not mark translation-unit-local functions as extern "C" · e9a69901
      thakis@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108218
      
      Reviewed by Adam Barth.
      
      Requested by darin in https://bugs.webkit.org/show_bug.cgi?id=107845
      This also allows enabling -Wreturn-type-c-linkage again, but I'd like to
      wait for the next clang roll (which tweaks this warning) before undoing
      r140800 (which removed that warning).
      
      No behavior change.
      
      * bindings/v8/npruntime.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e9a69901
    • andersca@apple.com's avatar
      Stop generating the message kind enum · bc2c72a7
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108258
      
      Reviewed by Beth Dakin.
      
      * Platform/CoreIPC/Connection.h:
      (CoreIPC::Connection::send):
      (CoreIPC::Connection::sendSync):
      (CoreIPC::Connection::waitForAndDispatchImmediately):
      * Platform/CoreIPC/MessageSender.h:
      (CoreIPC::MessageSender::send):
      * Scripts/webkit2/messages.py:
      (surround_in_condition):
      (message_to_struct_declaration):
      (generate_messages_header):
      * Scripts/webkit2/messages_unittest.py:
      * Scripts/webkit2/model.py:
      (Message.__init__):
      * Shared/ChildProcessProxy.h:
      (WebKit::ChildProcessProxy::send):
      * Shared/WebConnection.cpp:
      (WebKit::WebConnection::postMessage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bc2c72a7
    • commit-queue@webkit.org's avatar
      MockWeb should be able to serve mock web content · 9160062a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108240
      
      Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-29
      Reviewed by Dirk Pranke.
      
      Added the ability to have MockWeb serve mock web data.
      
      * Scripts/webkitpy/common/host_mock.py:
      (MockHost.__init__):
      * Scripts/webkitpy/common/net/web_mock.py:
      (MockWeb.__init__):
      (MockWeb.get_binary):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9160062a
    • roger_fong@apple.com's avatar
    • commit-queue@webkit.org's avatar
      Fix erroneous semicolon causing build failure: if statement has empty body [-Werror,-Wempty-body] · 6cc7e104
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108241
      
      Patch by Kiran Muppala <cmuppala@apple.com> on 2013-01-29
      Reviewed by Anders Carlsson.
      
      * UIProcess/WebProcessProxy.cpp:
      (WebKit::WebProcessProxy::addExistingWebPage): Remove erroneous
      semicolon following the if condition.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6cc7e104
    • ggaren@apple.com's avatar
      Removed GGC because it has been disabled for a long time · bd41f7e2
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108245
      
      Reviewed by Filip Pizlo.
      
      ../JavaScriptCore: 
      
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * dfg/DFGRepatch.cpp:
      (JSC::DFG::emitPutReplaceStub):
      (JSC::DFG::emitPutTransitionStub):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::writeBarrier):
      * dfg/DFGSpeculativeJIT.h:
      (SpeculativeJIT):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * heap/CardSet.h: Removed.
      * heap/Heap.cpp:
      (JSC::Heap::markRoots):
      (JSC::Heap::collect):
      * heap/Heap.h:
      (Heap):
      (JSC::Heap::shouldCollect):
      (JSC::Heap::isWriteBarrierEnabled):
      (JSC):
      (JSC::Heap::writeBarrier):
      * heap/MarkedBlock.h:
      (MarkedBlock):
      (JSC):
      * heap/MarkedSpace.cpp:
      (JSC):
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::emitWriteBarrier):
      
      ../WebCore: 
      
      * ForwardingHeaders/heap/CardSet.h: Removed.
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141179 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd41f7e2
    • fpizlo@apple.com's avatar
      Remove redundant AST dump method from cloop.rb, since they are already defined in ast.rb · db852a1f
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108247
      
      Reviewed by Oliver Hunt.
              
      Makes offlineasm dumping easier to read and less likely to cause assertion failures.
      Also fixes the strange situation where cloop.rb and ast.rb both defined dump methods,
      but cloop.rb was winning.
      
      * offlineasm/cloop.rb:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      db852a1f
    • andersca@apple.com's avatar
      Remove almost everything from MessageID · 53c527a9
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108244
      
      Reviewed by Beth Dakin.
      
      * Platform/CoreIPC/MessageID.h:
      (CoreIPC::MessageID::MessageID):
      * Platform/CoreIPC/mac/ConnectionMac.cpp:
      (CoreIPC):
      (CoreIPC::Connection::sendOutgoingMessage):
      (CoreIPC::createMessageDecoder):
      (CoreIPC::Connection::receiveSourceEventHandler):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53c527a9
    • mhahnenberg@apple.com's avatar
      Objective-C API: JSObjCClassInfo creates reference cycle with JSContext · 3eeaad56
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=107839
      
      Reviewed by Oliver Hunt.
      
      JSContext has a JSWrapperMap, which has an NSMutableDictionary m_classMap, which has values that
      are JSObjCClassInfo objects, which have strong references to two JSValue *'s, m_prototype and
      m_constructor, which in turn have strong references to the JSContext, creating a reference cycle.
      We should make m_prototype and m_constructor Weak<JSObject>. This gets rid of the strong reference
      to the JSContext and also prevents clients from accidentally creating reference cycles by assigning
      to the prototype of the constructor. If Weak<JSObject> fields are ever garbage collected, we will
      reallocate them.
      
      * API/JSContext.mm:
      (-[JSContext wrapperMap]):
      * API/JSContextInternal.h:
      * API/JSWrapperMap.mm:
      (-[JSObjCClassInfo initWithContext:forClass:superClassInfo:]):
      (-[JSObjCClassInfo dealloc]):
      (-[JSObjCClassInfo allocateConstructorAndPrototypeWithSuperClassInfo:]):
      (-[JSObjCClassInfo allocateConstructorAndPrototype]):
      (-[JSObjCClassInfo wrapperForObject:]):
      (-[JSObjCClassInfo constructor]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141176 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3eeaad56
    • esprehn@chromium.org's avatar
      Refactor ShadowRoot exception handling · 5b16a239
      esprehn@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108209
      
      Reviewed by Dimitri Glazkov.
      
      Source/WebCore:
      
      Many of the exception cases for ShadowRoot are actually impossible and
      should be asserts instead. We can also move the one case of exception logic,
      for elements that don't allow author shadows into Element::createShadowRoot
      instead of having it all over the ShadowRoot and ElementShadow classes. This
      is the first step in centralizing all ShadowRoot creation inside ElementShadow.
      
      No new tests, covered by existing tests.
      
      * WebCore.exp.in:
      * dom/Element.cpp:
      (WebCore::Element::createShadowRoot): Be explicit about what kind of ShadowRoot you're creating.
      (WebCore::Element::ensureUserAgentShadowRoot): No more exceptions.
      * dom/ElementShadow.cpp:
      (WebCore::ElementShadow::addShadowRoot): This never actually throws exceptions, remove ExceptionCode.
      * dom/ElementShadow.h:
      (ElementShadow):
      * dom/ShadowRoot.cpp:
      (WebCore::determineUsageType): Merge with Element::createShadowRoot.
      (WebCore):
      (WebCore::ShadowRoot::ShadowRoot): Moved Histogram logic here since it's actually about the constructor anyway.
      (WebCore::ShadowRoot::create): Removed overload that made the code less obvious.
      * dom/ShadowRoot.h:
      (ShadowRoot):
      * html/HTMLKeygenElement.cpp:
      (WebCore::HTMLKeygenElement::HTMLKeygenElement):
      * html/shadow/TextFieldDecorationElement.cpp:
      (WebCore::getDecorationRootAndDecoratedRoot):
      * testing/Internals.cpp:
      (WebCore::Internals::ensureShadowRoot):
      (WebCore::Internals::createShadowRoot):
      
      Source/WebKit/win:
      
      * WebKit.vcproj/WebKitExports.def.in: Swap ShadowRoot::create export with Element::createShadowRoot.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b16a239
    • andersca@apple.com's avatar
      Get rid of MessageID::is() · 172fb562
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108234
      
      Reviewed by Beth Dakin.
      
      Add explicit message receiver name equality checks instead of using MessageID::is.
      
      * NetworkProcess/NetworkConnectionToWebProcess.cpp:
      (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
      (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
      * Platform/CoreIPC/MessageID.h:
      * PluginProcess/WebProcessConnection.cpp:
      (WebKit::WebProcessConnection::didReceiveMessage):
      (WebKit::WebProcessConnection::didReceiveSyncMessage):
      * Shared/mac/SecItemShim.cpp:
      (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
      * UIProcess/Network/NetworkProcessProxy.cpp:
      (WebKit::NetworkProcessProxy::didReceiveMessage):
      * UIProcess/WebContext.cpp:
      (WebKit::WebContext::didReceiveMessage):
      (WebKit::WebContext::didReceiveSyncMessage):
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::didReceiveMessage):
      (WebKit::WebPageProxy::didReceiveSyncMessage):
      * UIProcess/WebProcessProxy.cpp:
      (WebKit::WebProcessProxy::didReceiveMessage):
      (WebKit::WebProcessProxy::didReceiveSyncMessage):
      (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
      * UIProcess/mac/SecItemShimProxy.cpp:
      (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
      * WebProcess/Network/NetworkProcessConnection.cpp:
      (WebKit::NetworkProcessConnection::didReceiveMessage):
      (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
      * WebProcess/Plugins/PluginProcessConnection.cpp:
      (WebKit::PluginProcessConnection::didReceiveSyncMessage):
      * WebProcess/WebPage/EventDispatcher.cpp:
      (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::didReceiveMessage):
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::didReceiveMessage):
      (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141174 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      172fb562
    • jer.noble@apple.com's avatar
      Allow clients to ask for the WebView/WKView placeholder view when in full screen mode. · 0219d64d
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=103558
      <rdar://problem/12763112>
      
      Reviewed by Benjamin Poulain.
      
      Source/WebKit/mac:
      
      Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
      view when in full screen mode.  Add a simple accessor for the existing placeholder view to
      WebFullScreenController and WebView.
      
      * WebView/WebFullScreenController.h:
      * WebView/WebFullScreenController.mm:
      (-[WebFullScreenController webViewPlaceholder]): Added simple accessor.
      * WebView/WebView.mm:
      (-[WebView fullScreenPlaceholderView]): Added simple accessor.
      
      Source/WebKit2:
      
      Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
      view when in full screen mode.  Add a simple accessor for the existing placeholder view to
      WKFullScreenWindowController and WKView.
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView fullScreenPlaceholderView]): Added simple accessor.
      * UIProcess/API/mac/WKViewPrivate.h:
      * UIProcess/mac/WKFullScreenWindowController.h:
      * UIProcess/mac/WKFullScreenWindowController.mm:
      (-[WKFullScreenWindowController webViewPlaceholder]): Added simple accessor.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0219d64d
    • jberlin@webkit.org's avatar
      run-api-tests should have an option to specify root · c35f48ba
      jberlin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108210
      
      Reviewed by Ryosuke Niwa.
      
      * Scripts/run-api-tests:
      Add the option and use it to set the configuration product directory. Since it is supposed
      to point to the built products, do not build the products if root is specified (this mimics
      the behavior of run-javascriptcore-tests).
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c35f48ba
    • commit-queue@webkit.org's avatar
      [WK2] Call LayerTreeHost::deviceOrPageScaleFactorChanged() when a device or... · 91d65e9f
      commit-queue@webkit.org authored
      [WK2] Call LayerTreeHost::deviceOrPageScaleFactorChanged() when a device or page scale factor is changed.
      https://bugs.webkit.org/show_bug.cgi?id=107802
      
      Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-29
      Reviewed by Simon Fraser.
      
      Currently, LayerTreeHostMac and *GTK call deviceOrPageScaleFactorChanged()
      of the non compositing GraphicsLayer when a device scale factor is changed.
      
      There are two problems.
      1. We don't notify LayerTreeHost when a page scale factor is changed.
      2. When using TiledCoreAnimationDrawingAreaProxy, LayerTreeHostMac does
      not receive the device scale factor changed callback.
      
      So this patch changes three points.
      1. Rename from deviceScaleFactorDidChange() to deviceOrPageScaleFactorChanged()
      in LayerTreeHost.
      2. WebPage::setDeviceScaleFactor() calls LayerTreeHost::deviceScaleFactorDidChange()
      because of dealing with TiledCoreAnimationDrawingAreaProxy.
      3. WebPage::pageScaleFactor() calls LayerTreeHost::deviceScaleFactorDidChange()
      to call deviceOrPageScaleFactorChanged() of the non compositing GraphicsLayer.
      
      Unfortunately, I couldn't think of a way to test this in an automated fashion.
      
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
      (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
      * WebProcess/WebPage/DrawingAreaImpl.cpp:
      (WebKit::DrawingAreaImpl::updateBackingStoreState):
          Don't call LayerTreeHost::deviceScaleFactorDidChange() because this
          method calls WebPage::setDeviceScaleFactor() and then
          LayerTreeHost::deviceScaleFactorDidChange() is called.
      * WebProcess/WebPage/LayerTreeHost.h:
      (LayerTreeHost):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::scalePage):
      (WebKit::WebPage::setDeviceScaleFactor):
      * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
      (WebKit::LayerTreeHostGtk::deviceOrPageScaleFactorChanged):
      * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
      (LayerTreeHostGtk):
      * WebProcess/WebPage/mac/LayerTreeHostMac.h:
      (LayerTreeHostMac):
      * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
      (WebKit::LayerTreeHostMac::deviceOrPageScaleFactorChanged):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      91d65e9f
    • andersca@apple.com's avatar
      Get rid of MessageID::get() · 8cfd633f
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108235
      
      Reviewed by Beth Dakin.
      
      Just check for the message receiver name and message name explicitly instead.
      
      * Platform/CoreIPC/MessageID.h:
      (CoreIPC::MessageID::is):
      * Shared/CoreIPCSupport/WebContextMessageKinds.h:
      (WebContextLegacyMessage::messageReceiverName):
      (WebContextLegacyMessage):
      (WebContextLegacyMessage::postMessageMessageName):
      (WebContextLegacyMessage::postSynchronousMessageMessageName):
      * UIProcess/WebContext.cpp:
      (WebKit::WebContext::didReceiveMessage):
      (WebKit::WebContext::didReceiveSyncMessage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8cfd633f
    • oliver@apple.com's avatar
      REGRESSION (r140594): RELEASE_ASSERT_NOT_REACHED in JSC::Interpreter::execute · 980adad6
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108097
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      LiteralParser was accepting a bogus 'var a.b = c' statement
      
      * runtime/LiteralParser.cpp:
      (JSC::::tryJSONPParse):
      
      LayoutTests:
      
      Add parser test for invalid var a.b syntax
      
      * fast/js/parser-syntax-check-expected.txt:
      * fast/js/script-tests/parser-syntax-check.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141168 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      980adad6
    • commit-queue@webkit.org's avatar
      Add support for enabling process suppression in WebProcesses with no visible pages · b1ebaefe
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108054
      
      Patch by Kiran Muppala <cmuppala@apple.com> on 2013-01-29
      Reviewed by Anders Carlsson.
      
      Provide a preference to enable process suppression in WebProcesses with
      no visible pages even if the application is not completely occluded.
      This provides more opportunities for process suppression to take effect.
      
      Replace the messaging of application occlusion status from UI process to
      ChildProcesses with messages that indicate the current required process
      suppression state.  WebProcessProxy should determine if the process is
      eligible for process suppression based on both application occlusion
      and page visibility.  When either of these parameters changes,
      the proxy should message the child process of the updated process
      suppression state.
      
      * NetworkProcess/NetworkProcess.messages.in: Rename
      SetApplicationIsOccluded to SetProcessSuppressionEnabled.
      * PluginProcess/PluginProcess.messages.in: Ditto.
      * Shared/ChildProcess.h:
      (WebKit::ChildProcess::processSuppressionEnabled): Rename
      applicationIsOccluded.
      * Shared/WebPreferencesStore.h: Add a new preference
      pageVisibilityBasedProcessSuppressionEnabled, to enabled/disable
      process suppression of WebProcesses when all pages are hidden.
      * Shared/mac/ChildProcessMac.mm:
      (WebKit::ChildProcess::setProcessSuppressionEnabled): Rename
      setApplicationIsOccluded.
      (WebKit::ChildProcess::platformInitialize): Replace call to
      setApplicationIsOccluded with setProcessSuppressionEnabled.
      * SharedWorkerProcess/SharedWorkerProcess.messages.in: Rename
      SetApplicationIsOccluded to SetProcessSuppressionEnabled.
      * UIProcess/API/C/WKPreferences.cpp:
      (WKPreferencesSetPageVisibilityBasedProcessSuppressionEnabled):
      (WKPreferencesGetPageVisibilityBasedProcessSuppressionEnabled):
      * UIProcess/API/C/WKPreferencesPrivate.h:
      * UIProcess/Network/NetworkProcessProxy.cpp:
      (WebKit::NetworkProcessProxy::didFinishLaunching): Use setter
      to update process suppression state instead of messaging directly.
      Use WebContext::canEnableProcessSuppressionForNetworkProcess() helper
      method to determine if process suppression should be enabled.
      * UIProcess/Network/NetworkProcessProxy.h: Rename
      setApplicationIsOccluded to setProcessSuppresionEnabled.
      * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
      (WebKit::NetworkProcessProxy::setProcessSuppressionEnabled): Ditto.
      * UIProcess/Plugins/PluginProcessManager.h: Ditto.
      * UIProcess/Plugins/PluginProcessProxy.cpp:
      (WebKit::PluginProcessProxy::didFinishLaunching): Use setter
      to update process suppression state instead of messaging directly.
      Use WebContext::canEnableProcessSuppressionForGlobalChildProcesses()
      helper method to determine if process suppression should be enabled.
      * UIProcess/Plugins/PluginProcessProxy.h: Rename
      setApplicationIsOccluded to setProcessSuppresionEnabled.
      * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
      (WebKit::PluginProcessManager::setProcessSuppressionEnabled): Ditto.
      * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
      (WebKit::PluginProcessProxy::setProcessSuppressionEnabled): Ditto.
      * UIProcess/SharedWorkers/SharedWorkerProcessManager.h: Ditto.
      * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
      (WebKit::SharedWorkerProcessProxy::didFinishLaunching): Use setter
      to update process suppression state instead of messaging directly.
      Use WebContext::canEnableProcessSuppressionForGlobalChildProcesses()
      helper method to determine if process suppression should be enabled.
      * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h: Rename
      setApplicationIsOccluded to setProcessSuppresionEnabled.
      * UIProcess/SharedWorkers/mac/SharedWorkerProcessManagerMac.mm:
      (WebKit::SharedWorkerProcessManager::setProcessSuppressionEnabled):
      Ditto.
      * UIProcess/SharedWorkers/mac/SharedWorkerProcessProxyMac.mm:
      (WebKit::SharedWorkerProcessProxy::setProcessSuppressionEnabled): Ditto.
      * UIProcess/WebContext.h: Replace applicationIsOccluded() getter with
      helper methods to determine if a child process can have process
      suppression enabled.
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::viewStateDidChange): Notify WebProcessProxy of
      page visibility change.
      (WebKit::WebPageProxy::preferencesDidChange): Notify WebProcessProxy of
      change in preferences.
      * UIProcess/WebProcessProxy.cpp:
      (WebKit::WebProcessProxy::WebProcessProxy): Initialize member variable
      tracking process suppression state to false.
      (WebKit::WebProcessProxy::createWebPage): Update set of pages which can
      be process suppressed and the resulting process suppression state for
      the child process.
      (WebKit::WebProcessProxy::addExistingWebPage): Ditto.
      (WebKit::WebProcessProxy::removeWebPage): Ditto.
      (WebKit::WebProcessProxy::pageVisibilityChanged): Ditto.
      (WebKit::WebProcessProxy::pagePreferencesChanged): Ditto.
      (WebKit::WebProcessProxy::didFinishLaunching): Call
      updateProcessSuppressionState().
      * UIProcess/WebProcessProxy.h:
      * UIProcess/mac/WebContextMac.mm:
      (WebKit::updateProcessSuppressionStateOfGlobalChildProcesses): Use new
      helper method canEnableProcessSuppressionForGlobalChildProcesses() to
      determine if process suppression should be enabled.
      (WebKit::applicationOcclusionStateChanged): Update renamed methods
      and variables.
      (WebKit::enableOcclusionNotifications): Move OmitProcessSuppression
      user default check into canEnableProcessSuppression methods.
      (WebKit::omitProcessSuppression):
      (WebKit::WebContext::updateProcessSuppressionStateOfChildProcesses):
      Use new helper method canEnableProcessSuppressionForNetworkProcess() to
      determine if process suppression should be enabled for NetworkProcess.
      Let WebProcess update process suppression state based on application
      occlusion state and page visibility.
      (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
      (WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
      (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):
      (WebKit::WebContext::processSuppressionEnabledChanged): Reevaluate if
      process suppression is enabled for all contexts and update process
      suppression state of global child processes.
      * UIProcess/mac/WebProcessProxyMac.mm:
      (WebKit::WebProcessProxy::pageIsProcessSuppressible):
      (WebKit::WebProcessProxy::allPagesAreProcessSuppressible):
      (WebKit::WebProcessProxy::updateProcessSuppressionState):
      * WebProcess/WebProcess.messages.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b1ebaefe
    • mark.lam@apple.com's avatar
      Change DatabaseContext lookup to be thread-safe. · b811ff14
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=107784.
      
      Reviewed by Geoffrey Garen.
      
      DatabaseContext will no longer be a Supplement of ScriptExecutionContext.
      Instead we will maintain a mutex guarded contextMap in the DatabaseManager
      which maps ScriptExecutionContexts to DatabaseContexts.
      
      Also cleaned up the shutdown mechanism of the DatabaseContext,
      DatabaseThread, and Databases when their owner ScriptExecutionContext
      destructs.
      
      No new tests.
      
      * Modules/webdatabase/AbstractDatabase.cpp:
      (WebCore::AbstractDatabase::AbstractDatabase):
      * Modules/webdatabase/AbstractDatabase.h:
      (WebCore::AbstractDatabase::databaseContext):
      (AbstractDatabase):
      * Modules/webdatabase/Database.cpp:
      (WebCore::Database::Database):
      * Modules/webdatabase/Database.h:
      (WebCore):
      (Database):
      * Modules/webdatabase/DatabaseContext.cpp:
      (WebCore):
      (WebCore::DatabaseContext::DatabaseContext):
      (WebCore::DatabaseContext::~DatabaseContext):
      (WebCore::DatabaseContext::contextDestroyed):
      (WebCore::DatabaseContext::stop):
      (WebCore::DatabaseContext::databaseThread):
      (WebCore::DatabaseContext::stopDatabases):
      * Modules/webdatabase/DatabaseContext.h:
      (DatabaseContext):
      (WebCore::DatabaseContext::scriptExecutionContext):
      (WebCore::DatabaseContext::hasOpenDatabases):
      (WebCore::DatabaseContext::stopDatabases):
      * Modules/webdatabase/DatabaseManager.cpp:
      (WebCore::DatabaseManager::manager):
      (WebCore::DatabaseManager::DatabaseManager):
      (WebCore::DatabaseManager::getExistingDatabaseContext):
      (WebCore):
      (WebCore::DatabaseManager::getDatabaseContext):
      (WebCore::DatabaseManager::registerDatabaseContext):
      (WebCore::DatabaseManager::unregisterDatabaseContext):
      (WebCore::DatabaseManager::notifyDatabaseContextConstructed):
      (WebCore::DatabaseManager::notifyDatabaseContextDestructed):
      (WebCore::DatabaseManager::openDatabase):
      (WebCore::DatabaseManager::openDatabaseSync):
      (WebCore::DatabaseManager::hasOpenDatabases):
      (WebCore::DatabaseManager::stopDatabases):
      (WebCore::DatabaseManager::interruptAllDatabasesForContext):
      * Modules/webdatabase/DatabaseManager.h:
      (WebCore):
      (DatabaseManager):
      (WebCore::DatabaseManager::notifyDatabaseContextConstructed):
      (WebCore::DatabaseManager::notifyDatabaseContextDestructed):
      * Modules/webdatabase/DatabaseSync.cpp:
      (WebCore::DatabaseSync::DatabaseSync):
      * Modules/webdatabase/DatabaseSync.h:
      (WebCore):
      (DatabaseSync):
      * Modules/webdatabase/DatabaseThread.cpp:
      (WebCore::DatabaseThread::~DatabaseThread):
      (WebCore::DatabaseThread::requestTermination):
      * Modules/webdatabase/DatabaseTracker.cpp:
      (WebCore::DatabaseTracker::canEstablishDatabase):
      * dom/ActiveDOMObject.cpp:
      (WebCore::ActiveDOMObject::~ActiveDOMObject):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b811ff14
    • andersca@apple.com's avatar
      Start using the message flag in MessageEncoder/MessageDecoder · 99a52dda
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108227
      
      Reviewed by Beth Dakin.
      
      Stop using the flags in MessageID and store the flags directly in the message instead.
      This is another step towards eliminating MessageID.
      
      * Platform/CoreIPC/Connection.cpp:
      (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
      (CoreIPC::Connection::createSyncMessageEncoder):
      (CoreIPC::Connection::sendMessage):
      (CoreIPC::Connection::sendSyncMessage):
      (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
      (CoreIPC::Connection::dispatchSyncMessage):
      (CoreIPC::Connection::dispatchMessage):
      * Platform/CoreIPC/Connection.h:
      * Platform/CoreIPC/MessageDecoder.cpp:
      (CoreIPC::MessageDecoder::MessageDecoder):
      (CoreIPC::MessageDecoder::isSyncMessage):
      (CoreIPC):
      (CoreIPC::MessageDecoder::shouldDispatchMessageWhenWaitingForSyncReply):
      * Platform/CoreIPC/MessageDecoder.h:
      (MessageDecoder):
      * Platform/CoreIPC/MessageEncoder.cpp:
      (CoreIPC):
      (CoreIPC::MessageEncoder::MessageEncoder):
      (CoreIPC::MessageEncoder::~MessageEncoder):
      (CoreIPC::MessageEncoder::setIsSyncMessage):
      (CoreIPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply):
      * Platform/CoreIPC/MessageEncoder.h:
      (MessageEncoder):
      * Platform/CoreIPC/MessageFlags.h: Copied from Source/WebKit2/Platform/CoreIPC/MessageEncoder.h.
      (CoreIPC):
      * Platform/CoreIPC/MessageID.h:
      * WebKit2.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99a52dda
    • roger_fong@apple.com's avatar
      Unreviewed. Temporarily disable inspector tests. · 592678fc
      roger_fong@apple.com authored
      They are all timing out due to some configuration problem on the bots.
      
      * platform/win/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      592678fc
    • jchaffraix@webkit.org's avatar
      [CSS Grid Layout] Make resolveContentBasedTrackSizingFunctionsForItems reuse... · db640f8e
      jchaffraix@webkit.org authored
      [CSS Grid Layout] Make resolveContentBasedTrackSizingFunctionsForItems reuse distributeSpaceToTracks
      https://bugs.webkit.org/show_bug.cgi?id=108110
      
      Reviewed by Tony Chang.
      
      This change makes us match more closely the specification by reusing distributeSpaceToTracks inside
      resolveContentBasedTrackSizingFunctionsForItems. This also removes some existing code duplication.
      
      Refactoring covered by existing tests.
      
      * rendering/RenderGrid.cpp:
      (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
      Updated after distributeSpaceToTracks new arguments. Copying the tracks to a Vector<GridTrack*> is
      now done here.
      
      (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
      Removed code duplication and switched to using distributeSpaceToTracks.
      
      (WebCore::RenderGrid::distributeSpaceToTracks):
      Refactored distributeSpaceToTracks to implement the distribution of any extra space above max breadth
      as it was required to pass the tests (required to properly handling min-content > max). Also changed
      the arguments of the function to better match the intent of the function.
      
      * rendering/RenderGrid.h: Updated distributeSpaceToTracks's arguments.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      db640f8e
    • esprehn@chromium.org's avatar
      Remove all ShadowRoots during ElementShadow destruction · 59cbde95
      esprehn@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108207
      
      Reviewed by Dimitri Glazkov.
      
      There's no reason to expose removeAllShadowRoots since the only legitimate
      place to call it is right as we're destroying the ElementShadow.
      
      No new tests, just refactoring.
      
      * dom/Element.cpp:
      (WebCore::Element::~Element): Remove call to removeAllShadowRoots()
      * dom/ElementShadow.h:
      (WebCore::ElementShadow::~ElementShadow): Call removeAllShadowRoots().
      (ElementShadow): Make removeAllShadowRoots() private.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141162 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59cbde95
    • junov@google.com's avatar
      REGRESSION (r135628-135632): Double box shadow failure to render · 7e422e21
      junov@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=107833
      
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      Regression caused by http://trac.webkit.org/changeset/135629
      The regression was due to faulty occlusion logic that was assuming
      that drawing the background color of a render box background layer
      could be skipped when the same layer also has an opaque image attached.
      In the case where the background color is drawn for the purpose of
      rendering a box shadow, the shadow is typically not
      completely occluded by the background image because of the shadow
      blur and/or offset.  This patch fixes the problem by not culling a
      background draw if it is used to draw a box shadow.
      
      Test: fast/backgrounds/gradient-background-shadow.html
      
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::paintFillLayerExtended):
      Changing occlusion culling test to never cull background color
      draw if it is used to draw a box shadow. This is because box shadows
      can draw outside the border fill region.
      
      LayoutTests:
      
      New ref test verifies that box shadow is drawn when
      background is an opaque image. Test uses an blue gradient
      as background image. Reference uses blue background color.
      
      * fast/backgrounds/gradient-background-shadow-expected.html: Added.
      * fast/backgrounds/gradient-background-shadow.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141160 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e422e21
    • vollick@chromium.org's avatar
      Add RenderLayer::enclosingStackingContainer · 6c602a8d
      vollick@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108211
      
      Reviewed by Simon Fraser.
      
      No new tests, no change in functionality.
      
      * rendering/RenderLayer.h:
      (WebCore::RenderLayer::enclosingStackingContainer):
        This function is similar to RenderLayer::stackingContainer, but may return the
        layer itself if it's a stacking container.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c602a8d
    • paroga@webkit.org's avatar
      [CMake] Add minimum version information for tool dependencies · e6e7172b
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97592
      
      Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-29
      Reviewed by Kenneth Rohde Christiansen.
      
      Capture the minimum version information for the tools that are required
      to build WebKit for all CMake based build systems.
      
      * CMakeLists.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141157 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e6e7172b
    • paroga@webkit.org's avatar
      Rename TextBreakIteratorWinCE to TextBreakIteratorWchar · ed496760
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108094
      
      Reviewed by Ryosuke Niwa.
      
      TextBreakIteratorWinCE does not contain any Windows CE specific code.
      Rename it to TextBreakIteratorWchar to match the name in wtf/unicode.
      
      * platform/text/wchar/TextBreakIteratorWchar.cpp: Renamed from Source/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ed496760
    • oliver@apple.com's avatar
      Force debug builds to do bounds checks on contiguous property storage · a0099624
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108212
      
      Reviewed by Mark Hahnenberg.
      
      Add a ContiguousData type that we use to represent contiguous property
      storage.  In release builds it is simply a pointer to the correct type,
      but in debug builds it also carries the data length and performs bounds
      checks.  This means we don't have to add as many manual bounds assertions
      when performing operations over contiguous data.
      
      * dfg/DFGOperations.cpp:
      * runtime/ArrayStorage.h:
      (ArrayStorage):
      (JSC::ArrayStorage::vector):
      * runtime/Butterfly.h:
      (JSC::ContiguousData::ContiguousData):
      (ContiguousData):
      (JSC::ContiguousData::operator[]):
      (JSC::ContiguousData::data):
      (JSC::ContiguousData::length):
      (JSC):
      (JSC::Butterfly::contiguousInt32):
      (Butterfly):
      (JSC::Butterfly::contiguousDouble):
      (JSC::Butterfly::contiguous):
      * runtime/JSArray.cpp:
      (JSC::JSArray::sortNumericVector):
      (ContiguousTypeAccessor):
      (JSC::ContiguousTypeAccessor::getAsValue):
      (JSC::ContiguousTypeAccessor::setWithValue):
      (JSC::ContiguousTypeAccessor::replaceDataReference):
      (JSC):
      (JSC::JSArray::sortCompactedVector):
      (JSC::JSArray::sort):
      (JSC::JSArray::fillArgList):
      (JSC::JSArray::copyToArguments):
      * runtime/JSArray.h:
      (JSArray):
      * runtime/JSObject.cpp:
      (JSC::JSObject::copyButterfly):
      (JSC::JSObject::visitButterfly):
      (JSC::JSObject::createInitialInt32):
      (JSC::JSObject::createInitialDouble):
      (JSC::JSObject::createInitialContiguous):
      (JSC::JSObject::convertUndecidedToInt32):
      (JSC::JSObject::convertUndecidedToDouble):
      (JSC::JSObject::convertUndecidedToContiguous):
      (JSC::JSObject::convertInt32ToDouble):
      (JSC::JSObject::convertInt32ToContiguous):
      (JSC::JSObject::genericConvertDoubleToContiguous):
      (JSC::JSObject::convertDoubleToContiguous):
      (JSC::JSObject::rageConvertDoubleToContiguous):
      (JSC::JSObject::ensureInt32Slow):
      (JSC::JSObject::ensureDoubleSlow):
      (JSC::JSObject::ensureContiguousSlow):
      (JSC::JSObject::rageEnsureContiguousSlow):
      (JSC::JSObject::ensureLengthSlow):
      * runtime/JSObject.h:
      (JSC::JSObject::ensureInt32):
      (JSC::JSObject::ensureDouble):
      (JSC::JSObject::ensureContiguous):
      (JSC::JSObject::rageEnsureContiguous):
      (JSObject):
      (JSC::JSObject::indexingData):
      (JSC::JSObject::currentIndexingData):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141154 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a0099624
    • wangxianzhu@chromium.org's avatar
      [Chromium] Correct zoom for focused node when using compositor scaling · c5dcb4ec
      wangxianzhu@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107599
      
      Reviewed by Adam Barth.
      
      When applyDeviceScaleFactorInCompositor, targetScale should exclude device scale factor.
      When applyPageScaleFactorInCompositor, caret size and content sizes are in css pixels and they should be in the viewport of the new scale.
      
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::scrollFocusedNodeIntoRect):
      (WebKit):
      (WebKit::WebViewImpl::computeScaleAndScrollForFocusedNode): Extracted from scrollFocusedNodeIntoRect() to ease testing.
      * src/WebViewImpl.h:
      (WebViewImpl):
      * tests/WebFrameTest.cpp: Updated test DivScrollEditableTest
      * tests/data/get_scale_for_zoom_into_editable_test.html: Moved the logic of onload script (which seems not to work) into WebFrameTest.cpp.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c5dcb4ec
    • bruno.abinader@basyskom.com's avatar
      [EFL] Add Toggle fullscreen (F11) to MiniBrowser · 39d30add
      bruno.abinader@basyskom.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108122
      
      Reviewed by Antonio Gomes.
      
      Adds fullscreen mode toggle (F11) option to MiniBrowser using native API.
      
      * MiniBrowser/efl/main.c:
      (on_key_down): Add 'F11' key handler.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      39d30add
    • tommyw@google.com's avatar
      MediaStream API: A MediaStreamComponent should be able to return the... · 37af3b0b
      tommyw@google.com authored
      MediaStream API: A MediaStreamComponent should be able to return the MediaStreamDescriptor it belongs to
      https://bugs.webkit.org/show_bug.cgi?id=108173
      
      Reviewed by Adam Barth.
      
      Source/Platform:
      
      * chromium/public/WebMediaStreamComponent.h:
      (WebKit):
      (WebMediaStreamComponent):
      
      Source/WebCore:
      
      To be able to return the MediaStreamDescriptor a MediaStreamComponent belongs to the "ownership"
      of the MediaStreamDescriptor needed to move from a MediaStreamTrack to the MediaStreamComponent.
      This is also better from an architectonic view as well.
      
      Patch covered by existing tests.
      
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::MediaStream::MediaStream):
      (WebCore::MediaStream::addTrack):
      (WebCore::MediaStream::addRemoteTrack):
      * Modules/mediastream/MediaStreamTrack.cpp:
      (WebCore::MediaStreamTrack::create):
      (WebCore::MediaStreamTrack::MediaStreamTrack):
      (WebCore::MediaStreamTrack::setEnabled):
      * Modules/mediastream/MediaStreamTrack.h:
      (MediaStreamTrack):
      * Modules/mediastream/RTCStatsRequestImpl.cpp:
      (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
      * platform/chromium/support/WebMediaStreamComponent.cpp:
      (WebKit::WebMediaStreamComponent::stream):
      (WebKit):
      * platform/mediastream/MediaStreamComponent.h:
      (WebCore):
      (WebCore::MediaStreamComponent::create):
      (MediaStreamComponent):
      (WebCore::MediaStreamComponent::stream):
      (WebCore::MediaStreamComponent::setStream):
      (WebCore::MediaStreamComponent::MediaStreamComponent):
      * platform/mediastream/MediaStreamDescriptor.h:
      (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141151 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37af3b0b
    • andersca@apple.com's avatar
      Encode/decode message send flags in the message · 80339bc9
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108208
      
      Reviewed by Beth Dakin.
      
      This is another step towards getting rid of MessageID.
      
      * Platform/CoreIPC/ArgumentDecoder.cpp:
      (CoreIPC::ArgumentDecoder::decodeUInt8):
      (CoreIPC):
      * Platform/CoreIPC/ArgumentDecoder.h:
      (ArgumentDecoder):
      (CoreIPC::ArgumentDecoder::decode):
      (CoreIPC):
      * Platform/CoreIPC/ArgumentEncoder.cpp:
      (CoreIPC::ArgumentEncoder::encode):
      (CoreIPC):
      * Platform/CoreIPC/ArgumentEncoder.h:
      (ArgumentEncoder):
      * Platform/CoreIPC/Connection.cpp:
      (CoreIPC::Connection::sendMessage):
      * Platform/CoreIPC/MessageDecoder.cpp:
      (CoreIPC::MessageDecoder::MessageDecoder):
      * Platform/CoreIPC/MessageDecoder.h:
      (CoreIPC::MessageDecoder::messageSendFlags):
      (MessageDecoder):
      * Platform/CoreIPC/MessageEncoder.cpp:
      (CoreIPC):
      (CoreIPC::MessageEncoder::MessageEncoder):
      (CoreIPC::MessageEncoder::~MessageEncoder):
      (CoreIPC::MessageEncoder::setMessageSendFlags):
      * Platform/CoreIPC/MessageEncoder.h:
      (MessageEncoder):
      * UIProcess/Authentication/AuthenticationChallengeProxy.h:
      (CoreIPC):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      80339bc9
    • bfulgham@webkit.org's avatar
      [Windows, WinCairo] Unreviewed build fix after r141050 · db9a0294
      bfulgham@webkit.org authored
      * JavaScriptCore.vcxproj/JavaScriptCoreExports.def: Update symbols
      to match JavaScriptCore.vcproj version.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141149 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      db9a0294
    • commit-queue@webkit.org's avatar
      Current error reporting method used by check-layout.js should not affect... · c3c1770a
      commit-queue@webkit.org authored
      Current error reporting method used by check-layout.js should not affect subsequent sub-tests using checking data-offset-y.
      https://bugs.webkit.org/show_bug.cgi?id=105407
      
      Patch by Pravin D <pravind.2k4@gmail.com> on 2013-01-29
      Reviewed by Tony Chang.
      
      When a testcase is processed by check-layout.js, the result is written just after the node being processed. This causes
      offsetTop of subsequent sub-testcases to altered. If however if we process the nodes in the reverse order in which they
      appear in the DOM tree, the result of node being processed will not affect the offsetTop of susequent nodes.
      
      * resources/check-layout.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3c1770a
    • alecflett@chromium.org's avatar
      IndexedDB: Pass metadata in to IDBOpenDBRequest.onUpgradeNeeded/onSuccess · 83c5dabe
      alecflett@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=103920
      
      Reviewed by Dimitri Glazkov.
      
      Source/WebCore:
      
      Update IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded to
      pass through a metadata parameter. While there, remove the unused
      IDBTransactionBackendInterface parameter to onUpgradeNeeded.
      
      As this is another step in the IDB refactor, I've simplified future cleanup
      work by making the WebKit API code still use the old API. This
      will make it possible to outright remove code on the chromium side rather
      than another three-step checkin.
      
      No new tests, as this is more refactoring.
      
      * Modules/indexeddb/IDBCallbacks.h:
      (WebCore::IDBCallbacks::onUpgradeNeeded): new method signature.
      (WebCore::IDBCallbacks::onSuccess): new method signature.
      * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
      (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
      (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
      (WebCore::IDBDatabaseBackendImpl::openConnection):
      * Modules/indexeddb/IDBOpenDBRequest.cpp:
      (WebCore::IDBOpenDBRequest::onUpgradeNeeded): use passed-in metadata.
      (WebCore::IDBOpenDBRequest::onSuccess): use passed-in metadata.
      * Modules/indexeddb/IDBOpenDBRequest.h:
      (IDBOpenDBRequest):
      
      Source/WebKit/chromium:
      
      Support the new IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded
      while maintaining chromium compatibility by shimming in the old API
      in the WebKit side. Future code will clean this up so that it is just a
      pass-through as it was before.
      
      * public/WebIDBCallbacks.h:
      (WebKit):
      (WebKit::WebIDBCallbacks::onSuccess): new method signature.
      (WebKit::WebIDBCallbacks::onUpgradeNeeded): new method signature.
      * src/IDBCallbacksProxy.cpp:
      (WebKit::IDBCallbacksProxy::onSuccess): call on new method signature proxies through old API.
      (WebKit):
      (WebKit::IDBCallbacksProxy::onUpgradeNeeded): call on new method signature proxies through old API.
      * src/IDBCallbacksProxy.h:
      (IDBCallbacksProxy):
      * src/WebIDBCallbacksImpl.cpp:
      (WebKit::WebIDBCallbacksImpl::onSuccess): call on old WebKit proxy signature calls new API.
      (WebKit):
      (WebKit::WebIDBCallbacksImpl::onUpgradeNeeded): call on old WebKit proxy signature calls new API.
      * src/WebIDBCallbacksImpl.h:
      (WebIDBCallbacksImpl):
      * tests/IDBAbortOnCorruptTest.cpp: new method signature.
      (WebCore::MockIDBCallbacks::onSuccess):
      * tests/IDBDatabaseBackendTest.cpp: new method signature.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83c5dabe