Permalink
Commits on Nov 27, 2012
  1. Make it possible to run performance tests on Chromium Android

    https://bugs.webkit.org/show_bug.cgi?id=103268
    
    Reviewed by Ryosuke Niwa.
    
    Based on a patch by Peter Beverloo.
    
    This patch (almost) makes it possible to run WebKit performance tests
    on the Chromium port for Android. There are a few things I had to do
    in order to make this happen:
    
    1) The worker number when creating a driver for a port is zero-based
       for layout tests and elsewhere. Android uses this to determine
       which device it has to run on, so make it zero based for performance
       tests as well.
    
    2) Tests aren't available on the Android device, so we start an HTTP
       server that serves the tests to the device or emulator.
    
    The one shortcoming of this patch is that chromium-android produces
    some stderr output that confuses run-perf-tests. I'll address that
    issue in a subsequent CL. This patch also depends on
    https://codereview.chromium.org/11416182 in order to work.
    
    * Scripts/webkitpy/layout_tests/port/chromium_android.py:
    (ChromiumAndroidPort.start_http_server):
    (ChromiumAndroidDriver._command_from_driver_input):
    * Scripts/webkitpy/performance_tests/perftest.py:
    (ReplayPerfTest.prepare):
    * Scripts/webkitpy/performance_tests/perftestsrunner.py:
    (PerfTestsRunner.__init__):
    (PerfTestsRunner._parse_args):
    (PerfTestsRunner._start_servers):
    (PerfTestsRunner):
    (PerfTestsRunner._stop_servers):
    (PerfTestsRunner.run):
    (PerfTestsRunner._run_tests_set):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    abarth@webkit.org committed Nov 27, 2012
  2. [chromium] Add WebLayerTreeViewClient API to request font atlas

    https://bugs.webkit.org/show_bug.cgi?id=102958
    
    Patch by Eberhard Graether <egraether@google.com> on 2012-11-27
    Reviewed by James Robinson.
    
    This change makes the font atlas creation accessible to the WebLayerTreeView.
    
    Source/Platform:
    
    * chromium/public/WebLayerTreeViewClient.h:
    (WebKit):
    (WebLayerTreeViewClient):
    (WebKit::WebLayerTreeViewClient::createFontAtlas):
    
    Source/WebKit/chromium:
    
    * src/WebViewImpl.cpp:
    (WebKit::WebViewImpl::createFontAtlas):
    (WebKit):
    * src/WebViewImpl.h:
    (WebViewImpl):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    commit-queue@webkit.org committed Nov 27, 2012
  3. Unreviewed, updating TestExpectations after input slider change.

    * platform/chromium/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    tony@chromium.org committed Nov 27, 2012
  4. IndexedDB: Simplify transaction timers and event tracking

    https://bugs.webkit.org/show_bug.cgi?id=102984
    
    Reviewed by Tony Chang.
    
    Source/WebCore:
    
    Now that the transaction "commit" decision is made on the front-end, the back end no-longer
    needs to be aware of when individual IDBRequests have dispatched to script or track pending
    events (except for preemptive ones like createIndex). This also lets two timers be collapsed
    into one which significantly simplifies the code flow in IDBTransactionBackendImpl.
    
    No new tests - just simplification. Exercised by storage/indexeddb/transaction-*.html etc.
    
    * Modules/indexeddb/IDBCursorBackendImpl.cpp:
    (WebCore::IDBCursorBackendImpl::prefetchContinueInternal): No more tracking.
    (WebCore::IDBCursorBackendImpl::prefetchReset): No more tracking.
    * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
    (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): No more tracking.
    (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal): No more tracking.
    * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
    (WebCore::IDBObjectStoreBackendImpl::setIndexesReadyInternal): No more tracking.
    (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): No more tracking.
    (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal): No more tracking.
    * Modules/indexeddb/IDBRequest.cpp:
    (WebCore::IDBRequest::dispatchEvent): Order must be:
    1. request is unregistered from transaction (so request list may be empty)
    2. abort transaction if event being dispatched was an error
    3. deactivate transaction (which may commit if #1 left it empty and #2 didn't abort)
    * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
    (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): Need to track if commit
    was requested; previously the front end would have triggered an event timer which, on
    completion, would be the signal that the front end was finished.
    (WebCore::IDBTransactionBackendImpl::scheduleTask): Schedule a timer to service the new
    task, if necessary.
    (WebCore::IDBTransactionBackendImpl::abort):
    (WebCore::IDBTransactionBackendImpl::hasPendingTasks):
    (WebCore::IDBTransactionBackendImpl::commit):
    (WebCore::IDBTransactionBackendImpl::taskTimerFired): Picks up "commit" responsibilities
    from the now deleted taskEventTimerFired, if everything is truly complete done.
    * Modules/indexeddb/IDBTransactionBackendImpl.h:
    (IDBTransactionBackendImpl):
    * Modules/indexeddb/IDBTransactionBackendInterface.h:
    (WebCore::IDBTransactionBackendInterface::didCompleteTaskEvents): Removed from interface.
    
    Source/WebKit/chromium:
    
    Remove now-unused didCompleteTaskEvents() method.
    
    * src/IDBTransactionBackendProxy.cpp:
    * src/IDBTransactionBackendProxy.h:
    (IDBTransactionBackendProxy):
    * src/WebIDBTransactionImpl.cpp:
    * src/WebIDBTransactionImpl.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135927 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    jsbell@chromium.org committed Nov 27, 2012
  5. Unreviewed, updating TestExpectations after input slider change.

    * platform/gtk/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    tony@chromium.org committed Nov 27, 2012
  6. PDFPlugin: Page scale factor should affect subframe PDFs

    https://bugs.webkit.org/show_bug.cgi?id=103291
    <rdar://problem/12555249>
    
    Reviewed by Darin Adler.
    
    For subframe PDFs, hand PDFKit the pageScaleFactor for the parent page
    so it can scale its drawing appropriately.
    
    * WebProcess/Plugins/PDF/PDFPlugin.h: Add updatePageAndDeviceScaleFactors.
    * WebProcess/Plugins/PDF/PDFPlugin.mm:
    (WebKit::PDFPlugin::pdfDocumentDidLoad): Call updatePageAndDeviceScaleFactors
    instead of manually updating PDFLayerController's device scale factor.
    (WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): Hand PDFLayerController
    the "underlying" (non-zoom) content scale, which is the product of the
    device scale and the page scale.
    (WebKit::PDFPlugin::contentsScaleFactorChanged): Use updatePageAndDeviceScaleFactors.
    (WebKit::PDFPlugin::geometryDidChange): Use updatePageAndDeviceScaleFactors to keep
    PDFLayerController's notion of the page scale up to date when the plugin's
    geometry changes.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    timothy_horton@apple.com committed Nov 27, 2012
  7. DFG SetLocal should use forwardSpeculationCheck instead of its own ha…

    …lf-baked version of same
    
    
    https://bugs.webkit.org/show_bug.cgi?id=103353
    
    Reviewed by Oliver Hunt and Gavin Barraclough.
    
    Source/JavaScriptCore: 
    
    Made it possible to use forward speculations for most of the operand classes. Changed the conditional
    direction parameter from being 'bool isForward' to an enum (SpeculationDirection). Changed SetLocal
    to use forward speculations and got rid of its half-baked version of same.
            
    Also added the ability to force the DFG's disassembler to dump all nodes, even ones that are dead.
    
    * dfg/DFGByteCodeParser.cpp:
    (JSC::DFG::ByteCodeParser::parseBlock):
    * dfg/DFGDisassembler.cpp:
    (JSC::DFG::Disassembler::dump):
    * dfg/DFGDriver.cpp:
    (JSC::DFG::compile):
    * dfg/DFGSpeculativeJIT.cpp:
    (JSC::DFG::SpeculativeJIT::speculationCheck):
    (DFG):
    (JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
    (JSC::DFG::SpeculativeJIT::speculationWatchpoint):
    (JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
    (JSC::DFG::SpeculativeJIT::fillStorage):
    * dfg/DFGSpeculativeJIT.h:
    (SpeculativeJIT):
    (JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
    (JSC::DFG::SpeculateIntegerOperand::gpr):
    (SpeculateIntegerOperand):
    (JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
    (JSC::DFG::SpeculateDoubleOperand::fpr):
    (SpeculateDoubleOperand):
    (JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
    (JSC::DFG::SpeculateCellOperand::gpr):
    (SpeculateCellOperand):
    (JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
    (JSC::DFG::SpeculateBooleanOperand::gpr):
    (SpeculateBooleanOperand):
    * dfg/DFGSpeculativeJIT32_64.cpp:
    (JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
    (JSC::DFG::SpeculativeJIT::fillSpeculateInt):
    (JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
    (JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
    (JSC::DFG::SpeculativeJIT::fillSpeculateCell):
    (JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
    (JSC::DFG::SpeculativeJIT::compile):
    * dfg/DFGSpeculativeJIT64.cpp:
    (JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
    (JSC::DFG::SpeculativeJIT::fillSpeculateInt):
    (JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
    (JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
    (JSC::DFG::SpeculativeJIT::fillSpeculateCell):
    (JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
    (JSC::DFG::SpeculativeJIT::compile):
    * runtime/Options.h:
    (JSC):
    
    LayoutTests: 
    
    * fast/js/dfg-intrinsic-side-effect-assignment-osr-exit-expected.txt: Added.
    * fast/js/dfg-intrinsic-side-effect-assignment-osr-exit.html: Added.
    * fast/js/dfg-side-effect-assignment-osr-exit-expected.txt: Added.
    * fast/js/dfg-side-effect-assignment-osr-exit.html: Added.
    * fast/js/jsc-test-list:
    * fast/js/script-tests/dfg-intrinsic-side-effect-assignment-osr-exit.js: Added.
    (foo):
    * fast/js/script-tests/dfg-side-effect-assignment-osr-exit.js: Added.
    (foo):
    (bar):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    fpizlo@apple.com committed Nov 27, 2012
  8. [V8] Replace toWebCoreString()/toWebCoreAtomicString() in CodeGenerat…

    …orV8.pm with V8StringResource
    
    
    https://bugs.webkit.org/show_bug.cgi?id=103391
    
    Reviewed by Adam Barth.
    
    This is an incremental effort for fixing bug 103331.
    I confirmed that this patch causes no performance regression
    for the micro benchmarks (https://bugs.webkit.org/attachment.cgi?id=176178).
    
    No tests. No change in behavior.
    
    * bindings/scripts/CodeGeneratorV8.pm:
    (GenerateNormalAttrSetter):
    (GenerateEventListenerCallback):
    * bindings/scripts/test/V8/V8TestEventTarget.cpp:
    (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
    (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
    * bindings/scripts/test/V8/V8TestObj.cpp:
    (WebCore::TestObjV8Internal::addEventListenerCallback):
    (WebCore::TestObjV8Internal::removeEventListenerCallback):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    haraken@chromium.org committed Nov 27, 2012
  9. [CSS Regions] Elements using transforms are not repainted correctly w…

    …hen rendered in a region
    
    
    https://bugs.webkit.org/show_bug.cgi?id=102826
    
    Reviewed by David Hyatt.
    
    Source/WebCore:
    
    When the page is composited, all the elements will have a composited repaint container. In that case we will
    never catch the repaints in the RenderFlowThread, but they will go directly to the RenderView.
    There's a single case when the parent composited layer of an element inside the RenderFlowThread will get
    its own repaints. That case only happens when the parent composited layer is also part of the same flow thread.
    Right now compositing is disabled for elements inside the RenderFlowThread, so that case doesn't even happen yet.
    That will be fixed in https://bugs.webkit.org/show_bug.cgi?id=84900.
    
    Test: fast/repaint/region-painting-in-composited-view.html
    
    * rendering/RenderObject.cpp:
    (WebCore::RenderObject::containerForRepaint):
    
    LayoutTests:
    
    Added test file to check for repainting inside a RenderFlowThread when the page is in composited mode.
    
    * fast/repaint/region-painting-in-composited-view-expected.html: Added.
    * fast/repaint/region-painting-in-composited-view.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    achicu@adobe.com committed Nov 27, 2012
  10. Unreviewed, win compile fix take 2.

    Try again to force this file to recompile.
    
    * rendering/RenderingAllInOne.cpp:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135920 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    tony@chromium.org committed Nov 27, 2012
  11. Unreviewed, updating TestExpectations after input slider change.

    * platform/efl/TestExpectations:
    * platform/mac/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    tony@chromium.org committed Nov 27, 2012
  12. Unreviewed, win compile fix.

    Touch RenderingAllInOne.cpp to force it to rebuild.
    
    * rendering/RenderingAllInOne.cpp:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    tony@chromium.org committed Nov 27, 2012
  13. Unreviewed Qt gardening.

    * platform/qt/TestExpectations:
    Skipped fast/table/css-table-max-height.html as it is showing a 12px difference.
    The test is actually passing but the output wouldn't make it obvious that it is the case.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135917 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    jchaffraix@webkit.org committed Nov 27, 2012
  14. PDFPlugin: Scroll bars do not grow on hover

    https://bugs.webkit.org/show_bug.cgi?id=103382
    <rdar://problem/12555262>
    
    Reviewed by Beth Dakin.
    
    PDFPlugin needs to forward relevant mouse events to the scrollbars.
    In addition, it needs to implement currentMousePosition so ScrollableArea and friends
    can find the mouse position at arbitrary times.
    
    I also took this opportunity to factor some coordinate space conversion functions out.
    
    * WebProcess/Plugins/PDF/PDFPlugin.h:
    (WebKit::PDFPlugin::currentMousePosition): Added. Return the last mouse position in our coordinate space.
    (WebKit::PDFPlugin::convertFromRootViewToPlugin): Added.
    (WebKit::PDFPlugin::convertFromPluginToPDFView): Added.
    (PDFPlugin):
    * WebProcess/Plugins/PDF/PDFPlugin.mm:
    (WebKit::PDFPlugin::convertFromRootViewToPlugin): Convert a point from content space to plugin space, via the transform we get in geometryDidChange.
    (WebKit::PDFPlugin::convertFromPluginToPDFView): Convert a point from plugin space to PDFLayerController's flipped coordinate space.
    (WebKit::PDFPlugin::geometryDidChange): Use convertFromPluginToPDFView.
    (WebKit::PDFPlugin::nsEventForWebMouseEvent): Cache the mouse position in plugin space instead of PDFLayerController space. Use our new conversion functions.
    (WebKit::PDFPlugin::handleMouseEvent): Forward relevant mouse events to scrollbars:
    Determine which scrollbar the mouse is over now, and which it was previously over, and use that to:
    If the mouse is moved over a scrollbar, send mouseEntered to the scrollbar.
    If the mouse is moved out of a scrollbar, send mouseExited to the scrollbar.
    If the mouse is currently over a scrollbar, send mouseMoved/Up/Down to the scrollbar instead of PDFLayerController.
    If the mouse is currently over the scroll corner, bail, because nobody should get those events.
    
    Export a few WebCore::Scrollbar methods to WebKit(2).
    
    * WebCore.exp.in:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    timothy_horton@apple.com committed Nov 27, 2012
  15. Entering Tab View after a bunch of YouTube pages were opened in backg…

    …round tabs makes all of them start playing simultaneously
    
    
    https://bugs.webkit.org/show_bug.cgi?id=103358
    
    Reviewed by Adele Peterson.
    
    To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
    prevent media from starting automatically when the view is put in a window.
    
    * Shared/WebPageCreationParameters.cpp:
    (WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
    (WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
    * Shared/WebPageCreationParameters.h:
    (WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
    * UIProcess/API/C/WKPage.cpp:
    (WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
    * UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
    to true, the value matching the current behavior.
    (WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
    m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
    (WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
    process creation parameters.
    * UIProcess/WebPageProxy.h:
    (WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
    m_mayStartMediaWhenInWindow.
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
    parameters.
    (WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
    conditional on m_mayStartMediaWhenInWindow.
    (WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
    already in a window when changing from false to true, starts m_setCanStartMediaTimer.
    * WebProcess/WebPage/WebPage.h:
    (WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
    * WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135915 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    mitz@apple.com committed Nov 27, 2012
  16. Regression(r129406): Fix the scope of the WidgetHierarchyUpdateSuspen…

    …sionScope in Element::Attach().
    
    
    https://bugs.webkit.org/show_bug.cgi?id=100803
    
    Reviewed by Abhishek Arya.
    
    Source/WebCore:
    
    Ensures that the suspension scope has gone out of scope before calling into
    resumePostAttachCallbacks().
    
    Test: fast/dom/adopt-node-crash-2.html
    
    * dom/Element.cpp:
    (WebCore::Element::attach):
    
    LayoutTests:
    
    * fast/dom/adopt-node-crash-2-expected.txt: Added.
    * fast/dom/adopt-node-crash-2.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    tsepez@chromium.org committed Nov 27, 2012
  17. Remove hidden limiter div in the input slider shadow DOM

    https://bugs.webkit.org/show_bug.cgi?id=102993
    
    Reviewed by Ojan Vafai.
    
    Source/WebCore:
    
    The shadow DOM for input sliders would have a hidden div (the TrackLimiterElement)
    the size of the thumb which would limit the position of thumb since the width of
    the thumb takes up space in the track. This patch simplifies the shadow DOM by
    removing this hidden div and computing the position of the thumb taking the size of
    the thumb into account.
    
    No new tests, covered by existing tests in fast/forms.
    
    * css/mediaControlsChromium.css:
    (input[type="range"]::-webkit-media-slider-container > div): We were depending on the behavior of the limiter having negative margins, causing the slider div
    to overflow. Moving the negative margin to the slider produces the same effect.
    * css/mediaControlsChromiumAndroid.css:
    (input[type="range"]::-webkit-media-slider-container > div): Ditto.
    * html/RangeInputType.cpp:
    (WebCore::RangeInputType::createShadowSubtree): Remove limiter div.
    * html/shadow/SliderThumbElement.cpp:
    (WebCore::RenderSliderContainer::layout): Adjust the available space for the thumb and correctly position in the vertical case.
    (WebCore::SliderThumbElement::setPositionFromPoint): Adjust the usable track size and simplify RTL code (no need to account for the limiter).
    (WebCore): Delete limiter code.
    * html/shadow/SliderThumbElement.h:
    (WebCore): Delete limiter code.
    * rendering/RenderSlider.cpp:
    (WebCore::RenderSlider::layout): Delete limiter code.
    * rendering/RenderTheme.cpp:
    (WebCore::RenderTheme::paintSliderTicks): Simplify code for painting tick marks.
    
    LayoutTests:
    
    Pixel results should be the same, but the render tree for RenderSlider has one less div.
    
    * platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
    * platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
    * platform/chromium-linux/fast/forms/box-shadow-override-expected.txt:
    * platform/chromium-linux/fast/forms/input-appearance-height-expected.txt:
    * platform/chromium-linux/fast/forms/range/input-appearance-range-expected.txt:
    * platform/chromium-linux/fast/forms/range/range-thumb-height-percentage-expected.txt:
    * platform/chromium-linux/fast/forms/range/slider-padding-expected.txt:
    * platform/chromium-linux/fast/forms/range/slider-thumb-shared-style-expected.txt:
    * platform/chromium-linux/fast/forms/range/slider-thumb-stylability-expected.txt:
    * platform/chromium-linux/fast/multicol/client-rects-expected.txt:
    * platform/chromium-linux/fast/repaint/slider-thumb-drag-release-expected.txt:
    * platform/chromium-linux/fast/repaint/slider-thumb-float-expected.txt:
    * platform/chromium-win/fast/hidpi/video-controls-in-hidpi-expected.txt:
    * platform/chromium-win/fast/layers/video-layer-expected.txt:
    * platform/chromium-win/media/audio-controls-rendering-expected.txt:
    * platform/chromium-win/media/audio-repaint-expected.txt:
    * platform/chromium-win/media/controls-after-reload-expected.txt:
    * platform/chromium-win/media/controls-strict-expected.txt:
    * platform/chromium-win/media/controls-styling-expected.txt:
    * platform/chromium-win/media/controls-styling-strict-expected.txt:
    * platform/chromium-win/media/controls-without-preload-expected.txt:
    * platform/chromium-win/media/media-controls-clone-expected.txt:
    * platform/chromium-win/media/media-document-audio-repaint-expected.txt:
    * platform/chromium-win/media/video-controls-rendering-expected.txt:
    * platform/chromium-win/media/video-display-toggle-expected.txt:
    * platform/chromium-win/media/video-no-audio-expected.txt:
    * platform/chromium-win/media/video-playing-and-pause-expected.txt:
    * platform/chromium-win/media/video-zoom-controls-expected.txt:
    * platform/chromium-win/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.txt:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    tony@chromium.org committed Nov 27, 2012
  18. Remove use of deprecated logging from webkitpy.common and webkitpy.la…

    …yout_tests
    
    
    https://bugs.webkit.org/show_bug.cgi?id=103408
    
    Reviewed by Dirk Pranke.
    
    Remove the use of the deprecated log and error methods by replacing them with
    logging through Python's logging.Logger objects.
    
    This patch covers such changes in webkitpy.common and webkitpy.layout_tests and also
    updates any affected unit test.
    
    * Scripts/webkitpy/common/checkout/changelog.py:
    (ChangeLogEntry._parse_entry):
    * Scripts/webkitpy/common/checkout/checkout.py:
    * Scripts/webkitpy/common/checkout/checkout_unittest.py:
    (CheckoutTest.test_apply_patch):
    * Scripts/webkitpy/common/checkout/deps_mock.py:
    (MockDEPS.write_variable):
    * Scripts/webkitpy/common/checkout/scm/detection.py:
    (SCMDetector.default_scm):
    * Scripts/webkitpy/common/checkout/scm/detection_unittest.py:
    (SCMDetectorTest.test_detect_scm_system):
    * Scripts/webkitpy/common/checkout/scm/git.py:
    (Git._check_git_architecture):
    (Git._commit_on_branch):
    * Scripts/webkitpy/common/checkout/scm/scm.py:
    (SCM.ensure_clean_working_directory):
    (SCM.ensure_no_local_commits):
    (SCM.will.commit_locally_with_message):
    * Scripts/webkitpy/common/checkout/scm/svn.py:
    (SVN.apply_reverse_diff):
    * Scripts/webkitpy/common/net/bugzilla/attachment.py:
    (Attachment._validate_flag_value):
    * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
    (Bugzilla._fetch_bug_page):
    (Bugzilla.bug_id_for_attachment_id):
    (Bugzilla.authenticate):
    (Bugzilla._commit_queue_flag):
    (Bugzilla.add_attachment_to_bug):
    (Bugzilla.add_patch_to_bug):
    (Bugzilla.create_bug):
    (Bugzilla.clear_attachment_flags):
    (Bugzilla.set_flag_on_attachment):
    (Bugzilla.obsolete_attachment):
    (Bugzilla.add_cc_to_bug):
    (Bugzilla.post_comment_to_bug):
    (Bugzilla.close_bug_as_fixed):
    (Bugzilla.reassign_bug):
    (reopen_bug):
    * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
    (MockBugzilla.create_bug):
    (MockBugzilla.reassign_bug):
    (MockBugzilla.set_flag_on_attachment):
    (MockBugzilla.post_comment_to_bug):
    (MockBugzilla.add_attachment_to_bug):
    (MockBugzilla.add_patch_to_bug):
    (MockBugzilla.reopen_bug):
    * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
    (test_add_cc_to_bug):
    (_assert_reopen):
    (test_reopen_bug):
    * Scripts/webkitpy/common/net/buildbot/buildbot_mock.py:
    (MockBuilder.force_build):
    * Scripts/webkitpy/common/net/credentials.py:
    (Credentials._run_security_tool):
    * Scripts/webkitpy/common/net/credentials_unittest.py:
    (_assert_security_call):
    * Scripts/webkitpy/common/net/irc/irc_mock.py:
    (MockIRC.post):
    (MockIRC.disconnect):
    * Scripts/webkitpy/common/net/irc/ircproxy.py:
    (IRCProxy.__init__):
    (IRCProxy.disconnect):
    * Scripts/webkitpy/common/net/irc/ircproxy_unittest.py:
    (IRCProxyTest.test_trivial):
    * Scripts/webkitpy/common/net/layouttestresults.py:
    (ORWTResultsHTMLParser._failures_from_fail_row):
    * Scripts/webkitpy/common/net/layouttestresults_unittest.py:
    (test_failures_from_fail_row):
    * Scripts/webkitpy/common/net/networktransaction.py:
    * Scripts/webkitpy/common/net/resultsjsonparser.py:
    (JSONTestResult._tokenize):
    (JSONTestResult._failure_types_from_actual_result):
    * Scripts/webkitpy/common/net/statusserver.py:
    (StatusServer.update_status):
    (StatusServer.update_svn_revision):
    * Scripts/webkitpy/common/net/statusserver_mock.py:
    (MockStatusServer.release_work_item):
    (MockStatusServer.update_work_items):
    (MockStatusServer.submit_to_ews):
    (MockStatusServer.update_status):
    * Scripts/webkitpy/common/net/unittestresults.py:
    (UnitTestResults.results_from_string):
    * Scripts/webkitpy/common/system/executive_mock.py:
    (MockExecutive.running_pids):
    (MockExecutive.run_and_throw_if_fail):
    (MockExecutive.run_command):
    (MockExecutive.popen):
    * Scripts/webkitpy/common/system/user_mock.py:
    (MockUser.confirm):
    (MockUser.open_url):
    * Scripts/webkitpy/common/system/workspace_unittest.py:
    (WorkspaceTest.test_create_zip):
    (WorkspaceTest.test_create_zip_exception):
    * Scripts/webkitpy/common/watchlist/watchlist_mock.py:
    (MockWatchList.determine_cc_and_messages):
    * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
    (ChromiumWinTest.test_setup_environ_for_server_register_cygwin):
    * Scripts/webkitpy/layout_tests/port/efl_unittest.py:
    (EflPortTest.test_show_results_html_file):
    * Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
    (GtkPortTest.test_show_results_html_file):
    * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
    (test_show_results_html_file):
    * Scripts/webkitpy/layout_tests/port/port_testcase.py:
    (test_build_driver):
    * Scripts/webkitpy/layout_tests/port/qt_unittest.py:
    (QtPortTest.test_show_results_html_file):
    * Scripts/webkitpy/layout_tests/port/win_unittest.py:
    (WinPortTest.test_show_results_html_file):
    * Scripts/webkitpy/layout_tests/port/xvfbdriver_unittest.py:
    (XvfbDriverTest.assertDriverStartSuccessful):
    (XvfbDriverTest.test_start_no_pixel_tests):
    (XvfbDriverTest.test_start_pixel_tests):
    (XvfbDriverTest.test_start_arbitrary_worker_number):
    (XvfbDriverTest.test_start_next_worker):
    (XvfbDriverTest.test_stop):
    * Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
    (TestLayoutTestApacheHttpd.test_start_cmd):
    * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
    (test_run_test_pause_before_testing):
    (test_run_memory_test):
    (_test_run_with_json_output):
    (test_run_respects_no_results):
    (test_run_generates_and_show_results_page):
    (test_run_respects_no_show_results):
    * Scripts/webkitpy/tool/bot/feeders_unittest.py:
    (FeedersTest.test_commit_queue_feeder):
    * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
    (FlakyTestReporterTest.test_create_bug_for_flaky_test):
    (test_report_flaky_tests_creating_bug):
    * Scripts/webkitpy/tool/bot/irc_command_unittest.py:
    (IRCCommandTest.test_rollout_updates_working_copy):
    * Scripts/webkitpy/tool/bot/ircbot_unittest.py:
    (IRCBotTest.test_exception_during_command):
    (IRCBotTest.test_hi):
    (IRCBotTest.test_help):
    (IRCBotTest.test_restart):
    (IRCBotTest.test_rollout):
    (IRCBotTest.test_revert):
    (IRCBotTest.test_roll_chromium_deps):
    (IRCBotTest.test_roll_chromium_deps_to_lkgr):
    (IRCBotTest.test_multi_rollout):
    (IRCBotTest.test_rollout_with_r_in_svn_revision):
    (IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
    (IRCBotTest.test_rollout_bananas):
    (IRCBotTest.test_rollout_invalidate_revision):
    (IRCBotTest.test_rollout_invalidate_reason):
    (test_multi_rollout_invalidate_reason):
    (test_rollout_no_reason):
    (test_multi_rollout_no_reason):
    * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
    (SheriffTest.test_post_blame_comment_on_bug):
    * Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py:
    (ApplyWatchListLocalTest.test_args_parsing):
    (test_args_parsing_with_bug):
    * Scripts/webkitpy/tool/commands/download_unittest.py:
    (test_land_cowboy):
    (test_check_style):
    (test_create_rollout):
    (test_create_rollout_resolved):
    (test_rollout):
    * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
    (AbstractEarlyWarningSystemTest.test_failing_tests_message):
    (EarlyWarningSytemTest._default_expected_logs):
    (EarlyWarningSytemTest._test_builder_ews):
    (EarlyWarningSytemTest._test_testing_ews):
    * Scripts/webkitpy/tool/commands/openbugs_unittest.py:
    (OpenBugsTest.test_args_parsing):
    * Scripts/webkitpy/tool/commands/queries_unittest.py:
    (QueryCommandsTest.test_bugs_to_commit):
    (QueryCommandsTest.test_patches_in_commit_queue):
    * Scripts/webkitpy/tool/commands/queues_unittest.py:
    (FeederQueueTest.test_feeder_queue):
    (AbstractPatchQueueTest.test_next_patch):
    (AbstractPatchQueueTest.test_upload_results_archive_for_patch):
    (CommitQueueTest.test_commit_queue):
    (test_commit_queue_failure):
    (test_commit_queue_failure_with_failing_tests):
    (test_rollout):
    (test_rollout_lands):
    (test_auto_retry):
    (test_manual_reject_during_processing):
    (test_report_flaky_tests):
    (StyleQueueTest.test_style_queue_with_style_exception):
    (test_style_queue_with_watch_list_exception):
    * Scripts/webkitpy/tool/commands/queuestest.py:
    (QueuesTest._default_begin_work_queue_logs):
    * Scripts/webkitpy/tool/commands/roll_unittest.py:
    (RollCommandsTest.test_update_chromium_deps):
    * Scripts/webkitpy/tool/commands/upload_unittest.py:
    (UploadCommandsTest.test_assign_to_committer):
    (test_post):
    (test_attach_to_bug):
    (test_attach_to_bug_no_description_or_comment):
    (test_land_safely):
    (test_prepare):
    (test_upload):
    (test_mark_bug_fixed):
    * Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:
    (ApplyWatchListTest.test_apply_watch_list_local):
    * Scripts/webkitpy/tool/steps/commit_unittest.py:
    (CommitTest._test_check_test_expectations):
    * Scripts/webkitpy/tool/steps/runtests_unittest.py:
    (RunTestsTest.test_webkit_run_unit_tests):
    * Scripts/webkitpy/tool/steps/steps_unittest.py:
    (StepsTest._assert_step_output_with_bug):
    (StepsTest._assert_post_diff_output_for_bug):
    (StepsTest.test_post_diff):
    (StepsTest.test_post_diff_for_commit):
    (StepsTest.test_ensure_bug_is_open_and_assigned):
    (StepsTest.test_runtests_args):
    * Scripts/webkitpy/tool/steps/suggestreviewers_unittest.py:
    (SuggestReviewersTest.test_basic):
    * Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py:
    (ValidateChangeLogsTest._assert_start_line_produces_output):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    zandobersek@gmail.com committed Nov 27, 2012
  19. [chromium] Implement full-featured image cache

    https://bugs.webkit.org/show_bug.cgi?id=99784
    
    Reviewed by Stephen White.
    
    Source/WebCore:
    
    Implement a thread-safe image cache to be used with deferred image
    decoding. Image cache can now be accessed on any thread.
    
    The patch implements the following logic:
    1. Mutex to protect all cache operations.
    2. Cache indexing using key (ImageFrameGenerator*, SkISize scaledSize)
    3. Cache lookup.
    4. Cache insertion.
    5. Generation of cache entry by scaling full size image.
    6. Generation of cache entries by decoding and scaling.
    
    Classes involved:
    
    ImageDecodingStore
    
    Responsible for owning cache entries and indexing. Pruning and memory
    management will be added later.
    
    ImageFrameGenerator
    
    Responsible for generating new cache enties and insert them into
    ImageDecodingStore.
    
    LazyDecodingPixelRef
    
    Responsible for cache lookup and lazy generation of cache entries
    using ImageFrameGenerator. There is a mutex to protect concurrent
    lock operations.
    
    These items are not implemented in this patch:
    1. Cache pruning.
    2. Setting cache memory limit.
    3. Cache deletion.
    4. Caching incomplete images and ImageDecoder.
    
    Unit tests added in ImageFrameGeneratorTest.cpp.
    Layout tests are under platform/chromium/virtual/fast/images.
    
    * platform/graphics/chromium/DeferredImageDecoder.cpp:
    (WebCore::DeferredImageDecoder::~DeferredImageDecoder):
    (WebCore::DeferredImageDecoder::createResizedLazyDecodingBitmap):
    (WebCore::DeferredImageDecoder::setEnabled):
    (WebCore):
    (WebCore::DeferredImageDecoder::frameBufferAtIndex):
    (WebCore::DeferredImageDecoder::createLazyDecodingBitmap):
    * platform/graphics/chromium/DeferredImageDecoder.h:
    (DeferredImageDecoder):
    * platform/graphics/chromium/ImageDecodingStore.cpp:
    (WebCore::ImageDecodingStore::instance):
    (WebCore::ImageDecodingStore::initializeOnce):
    (WebCore::ImageDecodingStore::shutdown):
    (WebCore::ImageDecodingStore::lockCompleteCache):
    Lookup complete cache entry using hash key, increment use count.
    (WebCore::ImageDecodingStore::lockIncompleteCache): TODO.
    (WebCore::ImageDecodingStore::unlockCache):
    Lookup cache entry using hash key, decrement use count.
    (WebCore):
    (WebCore::ImageDecodingStore::insertAndLockCache):
    Insert new cache entry and increment use count.
    (WebCore::ImageDecodingStore::prune): TODO.
    * platform/graphics/chromium/ImageDecodingStore.h:
    (WebCore):
    (ImageDecodingStore):
    (WebCore::ImageDecodingStore::CacheEntry::create):
    (WebCore::ImageDecodingStore::CacheEntry::createAndUse):
    (CacheEntry):
    (WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
    (WebCore::ImageDecodingStore::CacheEntry::~CacheEntry):
    * platform/graphics/chromium/ImageFrameGenerator.cpp:
    (WebCore::ImageFrameGenerator::ImageFrameGenerator):
    (WebCore::ImageFrameGenerator::setData):
    (WebCore::ImageFrameGenerator::decodeAndScale):
    Method for creating new cache entries. This is protected by a mutex
    to prevent concurrent operations. Which means only one thread can
    generate new cache entries for a set of encoded data.
    (WebCore):
    (WebCore::ImageFrameGenerator::tryToLockCache):
    Tries to lookup a cache entry.
    (WebCore::ImageFrameGenerator::tryToScale):
    Tries to lookup a full size cache entry and generate a scaled version.
    (WebCore::ImageFrameGenerator::tryToDecodeAndScale):
    Tries to decode and scale.
    * platform/graphics/chromium/ImageFrameGenerator.h:
    (WebCore):
    (ImageDecoderFactory):
    (WebCore::ImageFrameGenerator::create):
    (ImageFrameGenerator):
    (WebCore::ImageFrameGenerator::setImageDecoderFactoryForTesting):
    * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
    (WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
    (WebCore::LazyDecodingPixelRef::onLockPixels):
    (WebCore::LazyDecodingPixelRef::onUnlockPixels):
    * platform/graphics/chromium/LazyDecodingPixelRef.h:
    (WebCore):
    (LazyDecodingPixelRef):
    * platform/graphics/chromium/ScaledImageFragment.cpp:
    (WebCore::ScaledImageFragment::ScaledImageFragment):
    * platform/graphics/chromium/ScaledImageFragment.h:
    (WebCore):
    (WebCore::ScaledImageFragment::create):
    (ScaledImageFragment):
    (WebCore::ScaledImageFragment::scaledSize):
    * platform/graphics/chromium/SkSizeHash.h: Added.
    (WTF):
    
    Source/WebKit/chromium:
    
    Added ImageFrameGeneratorTest to test cache logic and generation
    of new cache entries.
    
    ImageFrameGeneratorTest.cacheHit
    Test that a complete cached entry is reused.
    
    ImageFrameGeneratorTest.cacheMissWithScale
    Cache miss for a scaled image but cache hit on a full size image.
    Scaled image is created from cached full size image.
    
    ImageFrameGeneratorTest.cacheMissWithDecodeAndScale
    Cache miss for both scaled image and full size image.
    
    ImageFrameGeneratorTest.cacheMissWithIncompleteDecode
    Test the logic for handling incomplete cache objects.
    
    * WebKit.gypi:
    * src/WebKit.cpp:
    (WebKit::initializeWithoutV8):
    * src/WebSettingsImpl.cpp:
    (WebKit::WebSettingsImpl::setDeferredImageDecodingEnabled):
    * tests/DeferredImageDecoderTest.cpp:
    (WebCore::DeferredImageDecoderTest::SetUp):
    (WebCore::DeferredImageDecoderTest::decoderBeingDestroyed):
    (WebCore::DeferredImageDecoderTest::frameBufferRequested):
    (DeferredImageDecoderTest):
    (WebCore::DeferredImageDecoderTest::frameStatus):
    * tests/ImageFrameGeneratorTest.cpp: Added.
    (WebCore):
    (WebCore::fullSize):
    (WebCore::scaledSize):
    (MockImageDecoderFactory):
    (WebCore::MockImageDecoderFactory::create):
    (WebCore::MockImageDecoderFactory::MockImageDecoderFactory):
    (ImageFrameGeneratorTest):
    (WebCore::ImageFrameGeneratorTest::SetUp):
    (WebCore::ImageFrameGeneratorTest::TearDown):
    (WebCore::ImageFrameGeneratorTest::decoderBeingDestroyed):
    (WebCore::ImageFrameGeneratorTest::frameBufferRequested):
    (WebCore::ImageFrameGeneratorTest::frameStatus):
    (WebCore::ImageFrameGeneratorTest::createCompleteImage):
    (WebCore::ImageFrameGeneratorTest::setFrameStatus):
    (WebCore::TEST_F):
    * tests/MockImageDecoder.h:
    (MockImageDecoderClient):
    (WebCore::MockImageDecoder::frameBufferAtIndex):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    hclam@chromium.org committed Nov 27, 2012
  20. Unreviewed gardening: fast/frames/frame-name-reset.html crashing inte…

    …rmittently
    
    
    https://bugs.webkit.org/show_bug.cgi?id=103451
    
    * platform/chromium/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    rjkroege@chromium.org committed Nov 27, 2012
  21. Unreviewed gardening: platform/chromium/virtual/gpu/fast/canvas/font-…

    …update.html
    
    
    https://bugs.webkit.org/show_bug.cgi?id=103449
    
    * platform/chromium/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    rjkroege@chromium.org committed Nov 27, 2012
  22. Expanding variable names in ConsoleMessage.

    https://bugs.webkit.org/show_bug.cgi?id=103436
    
    Reviewed by Adam Barth.
    
    Variable names like 'm' should be replaced with full words, like
    'myOhMyThisIsAnAwesomeVariable' (or something more descriptive).
    
    * inspector/ConsoleMessage.cpp:
    (WebCore::ConsoleMessage::ConsoleMessage):
    * inspector/ConsoleMessage.h:
    (ConsoleMessage):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    mkwst@chromium.org committed Nov 27, 2012
  23. Use-after-free in media player handling

    https://bugs.webkit.org/show_bug.cgi?id=103426
    
    Patch by Aaron Colwell <acolwell@chromium.org> on 2012-11-27
    Reviewed by Eric Carlson.
    
    Source/WebCore:
    
    Fixed use-after-free bugs caused by the MediaSource not being closed before the HTMLMediaElement or the MediaPlayer
    is destroyed. Closing the MediaSource causes it to clear its reference to the MediaPlayer which prevents
    the use-after-free problems from happening.
    
    Test: http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html
    
    * html/HTMLMediaElement.cpp:
    (WebCore::HTMLMediaElement::~HTMLMediaElement):
    (WebCore::HTMLMediaElement::clearMediaPlayer):
    
    LayoutTests:
    
    - Added a test to verify that the MediaSource gets closed when the HTMLMediaElement is destroyed
      after it is removed from the DOM.
    - Updated video-media-source-state-changes-expected.txt to reflect a slight change in event dispatch ordering.
    
    * http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction-expected.txt: Added.
    * http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html: Added.
    * http/tests/media/media-source/video-media-source-state-changes-expected.txt:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    commit-queue@webkit.org committed Nov 27, 2012
  24. IndexedDB: Remove IDBDatabase.setVersion API

    https://bugs.webkit.org/show_bug.cgi?id=94972
    
    Reviewed by Tony Chang.
    
    Source/WebCore:
    
    This has been out of the spec for over a year. No other browser has
    implemented it for close to a year.
    
    Tests - removed.html
    
    * Modules/indexeddb/IDBCallbacks.h:
    (IDBCallbacks):
    * Modules/indexeddb/IDBDatabase.cpp:
    (WebCore::IDBDatabase::IDBDatabase):
    * Modules/indexeddb/IDBDatabase.h:
    (IDBDatabase):
    * Modules/indexeddb/IDBDatabase.idl:
    * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
    (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
    * Modules/indexeddb/IDBDatabaseBackendImpl.h:
    (IDBDatabaseBackendImpl):
    * Modules/indexeddb/IDBDatabaseBackendInterface.h:
    (IDBDatabaseBackendInterface):
    * Modules/indexeddb/IDBRequest.cpp:
    * Modules/indexeddb/IDBRequest.h:
    
    Source/WebKit/chromium:
    
    * src/IDBCallbacksProxy.cpp:
    * src/IDBCallbacksProxy.h:
    (IDBCallbacksProxy):
    * src/IDBDatabaseBackendProxy.cpp:
    * src/IDBDatabaseBackendProxy.h:
    (IDBDatabaseBackendProxy):
    * src/WebIDBCallbacksImpl.cpp:
    * src/WebIDBCallbacksImpl.h:
    (WebIDBCallbacksImpl):
    * src/WebIDBDatabaseImpl.cpp:
    * src/WebIDBDatabaseImpl.h:
    (WebIDBDatabaseImpl):
    
    LayoutTests:
    
    * storage/indexeddb/removed-expected.txt:
    * storage/indexeddb/resources/removed.js:
    (test):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    dgrogan@chromium.org committed Nov 27, 2012
  25. Log to console when autofocus is blocked by sandbox attribute.

    https://bugs.webkit.org/show_bug.cgi?id=103255
    
    Reviewed by Ojan Vafai.
    
    Source/WebCore:
    
    Adding a short log message when autofocus is blocked by a document's
    sandbox flags, as it's currently a black box.
    
    Test: fast/forms/autofocus-in-sandbox-without-allow-scripts.html
    
    * html/HTMLFormControlElement.cpp:
    (WebCore::shouldAutofocus):
    
    LayoutTests:
    
    * fast/forms/autofocus-in-sandbox-without-allow-scripts-expected.txt: Added.
    * fast/forms/autofocus-in-sandbox-without-allow-scripts.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    mkwst@chromium.org committed Nov 27, 2012
  26. Unreviewed gardening: ImageOnlyFailure in fast/canvas/font-update.html

    https://bugs.webkit.org/show_bug.cgi?id=103447
    
    * platform/chromium/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    rjkroege@chromium.org committed Nov 27, 2012
  27. [BlackBerry] http:// origins can navigate to privileged local:// origins

    https://bugs.webkit.org/show_bug.cgi?id=103437
    
    Patch by Jacky Jiang  <zhajiang@rim.com>.
    Reviewed by Yong Li.
    
    PR: 251489
    When we aren't allowed to display the destination origin, we shouldn't
    even create the window for it. In this way we can block the remote
    origins(like http://) window.open local origins(like file:// and
    local://) and avoid further security issues.
    Chrome and Safari will open a blank window and fail to load. Firefox
    will fail to open the window and report a load failure error which has
    the same behavior as us. I would prefer this way as the window would
    be useless and the calls after that would be harmful to us.
    
    * WebCoreSupport/ChromeClientBlackBerry.cpp:
    (WebCore::ChromeClientBlackBerry::createWindow):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    zhajiang@rim.com committed Nov 27, 2012
  28. Unreviewed gardening. Add bug numbers to flaky tests.

    * platform/efl/TestExpectations:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    yael@webkit.org committed Nov 27, 2012
  29. [BlackBerry] Remove unnecessary backing store suspension in InputHand…

    …ler::ensureFocusTextElementVisible
    
    
    https://bugs.webkit.org/show_bug.cgi?id=103441
    
    Patch by Andrew Lo <anlo@rim.com> on 2012-11-27
    Reviewed by Rob Buis.
    Internally reviewed by Mike Fenton.
    
    Remove unnecessary backing store suspension in
    InputHandler::ensureFocusTextElementVisible.
    
    Not necessary anymore since both zoom and scroll adjustments
    happen in an animation.
    
    * WebKitSupport/InputHandler.cpp:
    (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    commit-queue@webkit.org committed Nov 27, 2012
  30. Gardening: Updated TestExpecations for failure in

    http/tests/canvas/canvas-slow-font-loading.html
    https://bugs.webkit.org/show_bug.cgi?id=103446
    
    * platform/chromium/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    rjkroege@chromium.org committed Nov 27, 2012
  31. Attempted build fix after http://trac.webkit.org/changeset/135888.

    * WebCore.exp.in:
    * WebCore.order:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135896 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    dino@apple.com committed Nov 27, 2012
  32. Build fix after r135890. #else, not #elif.

    * platform/graphics/ca/PlatformCALayer.h:
    (PlatformCALayer):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135895 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    rniwa@webkit.org committed Nov 27, 2012
  33. HTMLCollection on Document should be stored on NodeListsNodeData like…

    … other HTMLCollections and LiveNodeLists
    
    
    https://bugs.webkit.org/show_bug.cgi?id=103364
    
    Reviewed by Anders Carlsson.
    
    Replaced the HTMLCollection storage in Document by NodeListsNodeData used by other HTMLCollection's
    and LiveNodeList's. Now NodeListsNodeData is the only storage for HTMLCollection and LiveNodeList.
    
    * dom/Document.cpp:
    (WebCore::Document::Document): Removed code for m_collection since it has been removed.
    (WebCore::Document::~Document): Ditto.
    (WebCore::Document::registerNodeList): Renamed. 
    (WebCore::Document::unregisterNodeList): Ditto.
    (WebCore::Document::ensureCachedCollection): Renamed from cachedCollection to match the convetion
    used elsewhere. Also use NodeListNodeData::addCacheWithAtomicName now that m_collection is gone.
    (WebCore::Document::images):
    (WebCore::Document::applets):
    (WebCore::Document::embeds):
    (WebCore::Document::plugins):
    (WebCore::Document::scripts):
    (WebCore::Document::links):
    (WebCore::Document::forms):
    (WebCore::Document::anchors):
    (WebCore::Document::all):
    (WebCore::Document::windowNamedItems): Use addCacheWithAtomicName.
    (WebCore::Document::documentNamedItems): Ditto.
    (WebCore::Document::reportMemoryUsage): Removed code for m_collection since it has been removed.
    * dom/Document.h:
    (WebCore::Document): Removed m_collections, m_documentNamedItemCollections, and
    m_windowNamedItemCollections.
    * dom/Element.cpp:
    (WebCore::Element::ensureCachedHTMLCollection): Merged ElementRareData::ensureCachedHTMLCollection.
    (WebCore::Element::cachedHTMLCollection): Merged ElementRareData::cachedHTMLCollection.
    * Source/WebCore/dom/ElementRareData.h: Removed ensureCachedHTMLCollection, cachedHTMLCollection,
    and removeCachedHTMLCollection since they're no longer used.
    * dom/LiveNodeList.h:
    (WebCore::LiveNodeListBase::LiveNodeListBase): Call registerNodeList now that LiveNodeList
    and HTMLCollection share the same storage in all nodes.
    (WebCore::LiveNodeListBase::~LiveNodeListBase): Ditto about unregisterNodeList.
    (WebCore::LiveNodeList): Removed the calls to registerNodeList and unregisterNodeList since they
    are now called in the base class.
    * dom/NameNodeList.h:
    (WebCore::NameNodeList::create):
    * dom/NodeRareData.h:
    (WebCore::NodeListsNodeData::addCacheWithAtomicName): Pass in CollectionType as the second argument
    to T::create. This is used in HTMLNameCollection::create. Sevearl LiveNodeList constructors and
    create functions have been modified to support this.
    (WebCore::NodeListsNodeData::adoptTreeScope):
    (WebCore::NodeListsNodeData::namedNodeListKey): CollectionType is no longer restricted in its range.
    * dom/TagNodeList.h:
    (WebCore::TagNodeList::create):
    (WebCore::HTMLTagNodeList::create):
    * html/CollectionType.h: Deleted a bunch of unused inline functions and constants, and cleanup enum.
    * html/HTMLCollection.cpp:
    (WebCore::HTMLCollection::HTMLCollection): Removed the call to registerNodeListCache since it's called
    in LiveNodeListBase now.
    (WebCore::HTMLCollection::~HTMLCollection): Ditto. Also replaced calls to removeCachedHTMLCollection
    of Element and Document by a call to NodeListsNodeData::removeCacheWithAtomicName.
    * html/HTMLFormControlsCollection.cpp:
    (WebCore::HTMLFormControlsCollection::HTMLFormControlsCollection):
    (WebCore::HTMLFormControlsCollection::create):
    * html/HTMLFormControlsCollection.h:
    (HTMLFormControlsCollection):
    * html/HTMLNameCollection.cpp:
    (WebCore::HTMLNameCollection::HTMLNameCollection):
    (WebCore::HTMLNameCollection::~HTMLNameCollection):
    * html/HTMLNameCollection.h:
    (WebCore::HTMLNameCollection::create):
    (HTMLNameCollection):
    * html/HTMLOptionsCollection.cpp:
    (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
    (WebCore::HTMLOptionsCollection::create):
    * html/HTMLOptionsCollection.h:
    (HTMLOptionsCollection):
    * html/HTMLTableRowsCollection.cpp:
    (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
    (WebCore::HTMLTableRowsCollection::create):
    * html/HTMLTableRowsCollection.h:
    (HTMLTableRowsCollection):
    * html/LabelsNodeList.h:
    (WebCore::LabelsNodeList::create):
    * html/RadioNodeList.h:
    (WebCore::RadioNodeList::create):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    rniwa@webkit.org committed Nov 27, 2012
  34. Unreviewed. Skip some flaky video tests on Windows.

    https://bugs.webkit.org/show_bug.cgi?id=103442
    
    * platform/win/TestExpectations:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    roger_fong@apple.com committed Nov 27, 2012
  35. max-height property not respected in case of tables

    https://bugs.webkit.org/show_bug.cgi?id=98633
    
    Patch by Pravin D <pravind.2k4@gmail.com> on 2012-11-27
    Reviewed by Julien Chaffraix.
    
    Source/WebCore:
    
    The max-height property determines the maximum computed height an element can have. In case of tables
    the computed height was not being limited by the max-height property. The current patch fixes the same.
    
    Test: fast/table/css-table-max-height.html
    
    * rendering/RenderTable.cpp:
    (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
      Helper function to compute height from the given style height.
      This function handles style height of type fixed, percent and viewport percent.
      As height of type 'calculated' gets internally resolved to either fixed or percent
      there is no special handling required for the same.
    
    (WebCore):
    (WebCore::RenderTable::layout):
      Logic to compute the logical height of an element such that it does not exceed the max-height value given that
      min-width < Content height < max-height, when min-height < max-height.
      However max-height value is not respected if either min-height > max-height or Content height > max-height.
    
    * rendering/RenderTable.h:
    (RenderTable):
      Function definition for the newly add function convertStyleLogicalHeightToComputedHeight().
    
    LayoutTests:
    
    * fast/table/css-table-max-height-expected.txt: Added.
    * fast/table/css-table-max-height.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    commit-queue@webkit.org committed Nov 27, 2012