[Chromium] Unreviewed gardening: Chromium results for compositing/repaint/newly-composited-on-scroll.html.

* platform/chromium-mac/compositing/repaint/newly-composited-on-scroll-expected.png: Added.
* platform/chromium-win/compositing/repaint/newly-composited-on-scroll-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
css3/calc/transitions-dependent.html was causing css3/calc/transitions.html to fail
https://bugs.webkit.org/show_bug.cgi?id=93515

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-08
Reviewed by Tim Horton.

The transitions-dependent.html test was causing the transitions.html test to fail.
This was a result of a timeout callback set in the first test that was only being fired
in the second test because the first test did not use waitUntilDone/notifyDone.
The second test printed out an extra TypeError: 'undefined' error message because the callback
was defined in the first test and was thus 'undefined' by the time it was called while the second test
was running.

In addition, the test contained the following line:
window.addEventListener("load", function() { waitForAnimationStart(runTest(expectedValues)); }, false);
which does not work as intended because the parameter to waitForAnimationStart should have been a function
that calls runTest, not the call to the runTest function itself, which calls the method immediately.

* css3/calc/transitions-dependent.html:
Added waitUntilDone/notifyDone.
Fixed function parameter.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        [WK2] MiniBrowser crashes on quit if any windows were previously closed
        https://bugs.webkit.org/show_bug.cgi?id=93529

        Reviewed by John Sullivan.

        * MiniBrowser/mac/AppDelegate.h:
        * MiniBrowser/mac/AppDelegate.m:
        (-[BrowserAppDelegate init]):
        (-[BrowserAppDelegate newWindow:]):
        (-[BrowserAppDelegate browserWindowWillClose:]):
        (-[BrowserAppDelegate applicationWillTerminate:]):
        (-[BrowserAppDelegate frontmostBrowserWindowController]):
        Track browser windows explicitly, not relying on [NSApp windows]. Closed windows
        are not automatically removed from the list until deallocated, so a refcounting
        error can result in working on a closed window.

        * MiniBrowser/mac/BrowserWindowController.m:
        (-[BrowserWindowController dealloc]): Moved code from -windowWillClose: here.
        Releasing data members is -dealloc's job.
        (-[BrowserWindowController windowWillClose:]): Notify BrowserAppDelegate that
        the window is no longer open. Autorelease self, making sure that WKView and
        then WebPageProxy get released.
        (-[BrowserWindowController applicationTerminating]): Don't release _webView.pageRef.
        WKView is responsible for its lifetime.
        (closePage): Ditto.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Refactor tile flags.
https://bugs.webkit.org/show_bug.cgi?id=93059

Patch by Eric Penner <epenner@google.com> on 2012-08-08
Reviewed by Adrienne Walker.

Source/WebCore:

This has become a general refactoring patch to make updateTiles easier
to work with. The 'updated' flag had become convoluted and incorrect
and the function had lots of special cases piled into it which
makes for tangled depedancies that are hard to reason with.

This refactors the updated flag into two flags ('validForFrame',
and 'occluded') for the two purposes it is actually used for,
simplifies the use of those flags.

'validForFrame' is improved to work for all tiles that are not dirty
before painting begins, rather than just the tiles that get touched via
updateTiles().

This refactors updateTiles() into several functions that more clearly
illustrate all the depedancies that have accumulated in there. After
doing that I managed to separate the occlusion pass from the painting
passes, ecapsulating the difficult dependancies in one documented
function 'markOcclusionsAndRequestTextures'.

Now update tiles doesn't need the 'idle' flag, and returns didPaint
as an out-param. The last remaining wierd output is m_failedPaint
which is needed in place of m_skipsIdlePaint to prevent infinite
paints from being requested.

As a last step I was going to merge LayerChromium::update() and
LayerChromium::needsMoreUpdates() by having update() just return
a boolean, but this proved to be a big change so I'm holding off
on that. That would let us remove the m_failedPaint and get rid
of needsIdlePaint() altogether.

Tested by many existing tests.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(UpdatableTile):
(WebCore::UpdatableTile::resetUpdateState):
(WebCore::UpdatableTile::markForUpdate):
(WebCore::UpdatableTile::UpdatableTile):
(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore):
(WebCore::TiledLayerChromium::updateTiles):
(WebCore::TiledLayerChromium::markOcclusionsAndRequestTextures):
(WebCore::TiledLayerChromium::haveTexturesForTiles):
(WebCore::TiledLayerChromium::markTilesForUpdate):
(WebCore::TiledLayerChromium::updateTileTextures):
(WebCore::TiledLayerChromium::resetUpdateState):
(WebCore::TiledLayerChromium::updateContentRect):
(WebCore::TiledLayerChromium::needsIdlePaint):
* platform/graphics/chromium/TiledLayerChromium.h:
(TiledLayerChromium):

Source/WebKit/chromium:

Minor fixes to existing tests.

* tests/TiledLayerChromiumTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkit-patch rebaseline-expectations needs to support multiple expectations files
https://bugs.webkit.org/show_bug.cgi?id=89051

Reviewed by Adam Barth.

fixed the bug described above, added unit test in
test_expectations_unittest, and updated the tool tests
to not contain all of the "missing skia expectations" warnings.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations.remove_rebaselined_tests):
(TestExpectations.remove_rebaselined_tests.without_rebaseline_modifier):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(RebaseliningTest.assertRemove):
(RebaseliningTest.test_remove):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineExpectations._update_expectations_files):
(RebaselineExpectations.execute):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaseline.test_rebaseline_updates_expectations_file_noop):
(test_rebaseline_expectations):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125115 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add missing OVERRIDE and virtual annotations in compositor
https://bugs.webkit.org/show_bug.cgi?id=93438

Reviewed by Adrienne Walker.

As the title suggests.

* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
(BitmapCanvasLayerTextureUpdater):
* platform/graphics/chromium/ScrollbarLayerChromium.h:
(ScrollbarLayerChromium):
* platform/graphics/chromium/SolidColorLayerChromium.h:
(SolidColorLayerChromium):
* platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
* platform/graphics/chromium/cc/CCFrameRateController.h:
(CCFrameRateController):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(CCScrollbarLayerImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Fix up includes and types in chromium compositor unit tests
https://bugs.webkit.org/show_bug.cgi?id=93553

Reviewed by Adrienne Walker.

This removes some unused GraphicsContext3DPrivate.h includes and adds some includes that were being implicitely
depending upon - mostly for wtf/PassOwnPtr.h.

* tests/CCLayerTreeHostTest.cpp:
(::CCLayerTreeHostTestCommit::beginTest):
(::CCLayerTreeHostTestCommit::commitCompleteOnCCThread):
* tests/CCRenderSurfaceFiltersTest.cpp:
* tests/CompositorFakeWebGraphicsContext3D.h:
* tests/FakeGraphicsContext3DTest.cpp:
* tests/FakeWebScrollbarThemeGeometry.h:
* tests/TextureCopierTest.cpp:
* tests/ThrottledTextureUploaderTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CanvasRenderContext2D::setFont() should ignore inherited properties and default keyword value
https://bugs.webkit.org/show_bug.cgi?id=93491

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-08
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Treat "inherit" as an invalid value. Also ignore the "default"
keyword that was previously treated as a font family. This second
change was done in the property validation and will also affect the
CSS font parsing, but it is probably harmless since font doesn't
recognize the default keyword anyway.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFamily):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):

LayoutTests:

Unskipped tests that are now passing after this fix and removed wrong
expectations.

* platform/chromium/TestExpectations:
* platform/chromium/canvas/philip/tests/2d.text.font.parse.invalid-expected.txt: Removed.
* platform/efl/Skipped:
* platform/gtk/TestExpectations:
* platform/mac/canvas/philip/tests/2d.text.font.parse.invalid-expected.txt: Removed.
* platform/qt/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
(r124484) inspector/device-orientation-success.html failing on Mac ports
https://bugs.webkit.org/show_bug.cgi?id=93552

Unreviewed test expectations update. inspector/device-orientation-success.html missing console output.

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Avoid ASSERT(m_workerContext->isSharedWorkerContext()) in WorkerScriptController::initScript()
https://bugs.webkit.org/show_bug.cgi?id=93521

Reviewed by Adam Barth.

Source/WebCore:

Changes WorkerContext and its subclasses so that we do not call functions that rely upon subclass
virtual methods from the superclass constructor.

Test: http/tests/security/contentSecurityPolicy/worker-set-timeout-blocked.html

* workers/DedicatedWorkerContext.cpp:
(WebCore):
(WebCore::DedicatedWorkerContext::create):
(WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
* workers/DedicatedWorkerContext.h:
(DedicatedWorkerContext):
* workers/SharedWorkerContext.cpp:
(WebCore):
(WebCore::SharedWorkerContext::create):
(WebCore::SharedWorkerContext::SharedWorkerContext):
* workers/SharedWorkerContext.h:
(SharedWorkerContext):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::WorkerContext):
(WebCore::WorkerContext::applyContentSecurityPolicyFromString):
(WebCore):
* workers/WorkerContext.h:
(WorkerContext):

LayoutTests:

* http/tests/security/contentSecurityPolicy/resources/worker-set-timeout.js: Added.
* http/tests/security/contentSecurityPolicy/worker-set-timeout-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/worker-set-timeout-blocked.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Fix "-fPIC" define in the BlackBerry build
https://bugs.webkit.org/show_bug.cgi?id=93548

Patch by Ming Xie <mxie@rim.com> on 2012-08-08
Reviewed by Rob Buis.

In the current CMake release (version 2.8.5), ${CMAKE_SHARED
_LIBRARY_C_FLAGS} and ${CMAKE_SHARED_LIBRARY_CXX_FLAGS} is
set to empty (See cmake/Modules/Platform/QNX.cmake)

This breaks the assumption which WebKit CMake build system
makes in Source/cmake/WebKitHelper.cmake

* Source/cmake/OptionsBlackBerry.cmake:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Creating "basic waveform" Oscillator nodes is not efficient
https://bugs.webkit.org/show_bug.cgi?id=93194

Patch by Raymond Toy <rtoy@google.com> on 2012-08-08
Reviewed by Chris Rogers.

Source/WebCore:

Cache the wavetables for the basic types so they don't have to be
recomputed every time.

Also fix a bug where oscillator type was always set to CUSTOM
instead of the specified oscillator type.  Test added for this.

Test: webaudio/oscillator-basic.html

* Modules/webaudio/Oscillator.cpp:
(WebCore):
(WebCore::Oscillator::setType): Use cached wavetables; fix bug in
setting the oscillator type.
* Modules/webaudio/Oscillator.h:
(Oscillator): Define static variables to hold cached wavetables.

LayoutTests:

Add test to verify that the returned oscillator type is the same
as what was set.

* webaudio/oscillator-basic-expected.txt: Added.
* webaudio/oscillator-basic.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add Perf EWS IRC bot
https://bugs.webkit.org/show_bug.cgi?id=92913

Reviewed by Dirk Pranke.

Adds the preliminary implementation of perfalizer, a IRC bot that runs performance tests
based on IRC requests.

* Scripts/webkitpy/common/checkout/scm/scm_mock.py:
(MockSCM.head_svn_revision): The actual implementation returns string, so match that.
(MockSCM.svn_revision): Ditto.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla.add_attachment_to_bug): Added mimetype.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
(MockBugzilla.add_attachment_to_bug): Ditto.
* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.copytree): Added.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.copytree): Added.
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Rebaselined tests
that had assumed revision numbers were integers.
(test_run_with_json_output):
(test_run_with_description):
(test_run_generates_json_by_default):
(test_run_generates_and_show_results_page):
(test_run_with_json_source):
(test_run_with_multiple_repositories):
* Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
* Scripts/webkitpy/tool/commands/__init__.py:
* Scripts/webkitpy/tool/commands/perfalizer.py: Added.
(PerfalizerTask):
(PerfalizerTask.__init__):
(PerfalizerTask._copy_build_product_without_patch):
(PerfalizerTask.run):
(PerfalizerTask.parent_command):
(PerfalizerTask.run_webkit_patch):
(PerfalizerTask._json_path):
(PerfalizerTask._results_page_path):
(PerfalizerTask._run_perf_test):
(PerfalizerTask.run_command):
(PerfalizerTask.command_passed):
(PerfalizerTask.command_failed):
(PerfalizerTask.refetch_patch):
(PerfalizerTask.expected_failures):
(PerfalizerTask.build_style):
(PerfTest): IRC command.
(PerfTest.execute):
(Perfalizer): IRC bot.
(Perfalizer.begin_work_queue):
(Perfalizer.work_item_log_path):
(Perfalizer._is_old_failure):
(Perfalizer.next_work_item):
(Perfalizer.process_work_item):
(Perfalizer.handle_unexpected_error):
(Perfalizer.handle_script_error):
* Scripts/webkitpy/tool/commands/perfalizer_unittest.py: Added.
(PerfalizerTaskTest):
(PerfalizerTaskTest._create_and_run_perfalizer):
(PerfalizerTaskTest._create_and_run_perfalizer.logger):
(PerfalizerTaskTest._create_and_run_perfalizer.run_webkit_patch):
(PerfalizerTaskTest._create_and_run_perfalizer.run_perf_test):
(PerfalizerTaskTest.test_run):
(PerfalizerTaskTest.test_run_with_clean_fails):
(PerfalizerTaskTest.test_run_with_update_fails):
(PerfalizerTaskTest.test_run_with_build_fails):
(PerfalizerTaskTest.test_run_with_perf_test_fails):
(PerfalizerTaskTest.test_run_without_results_page):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(AbstractPatchQueueTest.test_upload_results_archive_for_patch): Rebaselined.
* Scripts/webkitpy/tool/commands/upload_unittest.py:
(test_attach_to_bug): Ditto.
(test_attach_to_bug_no_description_or_comment): Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Google search query text reverts to original search query after multiple searches
<rdar://problem/10800686> and https://bugs.webkit.org/show_bug.cgi?id=93544

Reviewed by Darin Adler.

Source/WebCore:

For security sensitive fields we normally clear "autocomplete=off" form elements when
restoring a page from the page cache.

If the element is textual and has a defaultValue then "clearing" it actually restores
the default value.

There's no scenario we can imagine where that makes sense so we should not reset the
value in such fields.

Test: fast/forms/autocomplete-off-with-default-value-does-not-clear.html

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute): Update suspension callback registration as needed.
(WebCore::HTMLInputElement::needsSuspensionCallback): Don't reset text fields with a non-empty default value.

LayoutTests:

* fast/forms/autocomplete-off-with-default-value-does-not-clear-expected.txt: Added.
* fast/forms/autocomplete-off-with-default-value-does-not-clear.html: Added.
* fast/forms/resources/go-back.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125124 268f45cc-cd09-0410-ab3c-d52691b4dbfc