Unreviewed build fix; remove unintentional semicolon.

* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::finish):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove leftover files for ENABLE_PAGE_POPUP and ENABLE_CALENDAR_PICKER
https://bugs.webkit.org/show_bug.cgi?id=116999

Reviewed by Anders Carlsson.

.:

* ManualTests/forms/calendar-picker-crash-by-type-change.html: Removed.
* ManualTests/forms/calendar-picker.html: Removed.
* ManualTests/forms/color-suggestion-picker.html: Removed.
* ManualTests/forms/date-suggestion-picker.html: Removed.

Source/WebCore:

* Resources/pagepopups/colorSuggestionPicker.css: Removed.
* Resources/pagepopups/colorSuggestionPicker.js: Removed.
* Resources/pagepopups/pickerCommon.css: Removed.
* Resources/pagepopups/pickerCommon.js: Removed.
* Resources/pagepopups/suggestionPicker.css: Removed.
* Resources/pagepopups/suggestionPicker.js: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add more accurate activity state tracking
https://bugs.webkit.org/show_bug.cgi?id=116893

Reviewed by Gavin Barraclough.

Source/WebCore:

Add a hysteresis to Page activity throttling.  We do this
through a PageThrottler class that now handles entering and
exiting throttling state, and adds a hysteresis to we can
limit the amount of on/off bouncing on the throttle.

Media elements now make use of this to disable timer throttling
while they are playing, and plugins use it to momentarily bounce
from throttled to unthrottled state.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::pageThrottlerIfPossible):
(WebCore):
(WebCore::HTMLMediaElement::playInternal):
(WebCore::HTMLMediaElement::pauseInternal):
* html/HTMLMediaElement.h:
(WebCore):
* html/MediaController.cpp:
(MediaController::unpause):
* page/ChromeClient.h:
(WebCore::ChromeClient::incrementActivePageCount):
(WebCore::ChromeClient::decrementActivePageCount):
(ChromeClient):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::setThrottled):
* page/Page.h:
(WebCore):
(Page):
(WebCore::Page::pageThrottler):
* page/PageThrottleState.h: Added.
* page/PageThrottler.cpp: Added.
(WebCore):
(WebCore::PageThrottler::PageThrottler):
(WebCore::PageThrottler::~PageThrottler):
(WebCore::PageThrottler::clearPage):
(WebCore::PageThrottler::throttlePage):
(WebCore::PageThrottler::unthrottlePage):
(WebCore::PageThrottler::setThrottled):
(WebCore::PageThrottler::preventThrottling):
(WebCore::PageThrottler::allowThrottling):
(WebCore::PageThrottler::stopThrottleHysteresisTimer):
(WebCore::PageThrottler::reportInterestingEvent):
(WebCore::PageThrottler::startThrottleHysteresisTimer):
(WebCore::PageThrottler::throttleHysteresisTimerFired):
* page/PageThrottler.h: Added.
(WebCore):
(PageThrottler):
(WebCore::PageThrottler::create):
(WebCore::PageThrottler::shouldThrottleAnimations):
(WebCore::PageThrottler::shouldThrottleTimers):

Source/WebKit2:

This extends the logic in WebCore from a Page to Process
granularity, so we will avoid lowering the child process
priority if there is active content.  This also plumbs in
the logic to allow plugins to report that they have done
something "interesting".  Currently this is somewhat conservative
but even this is sufficient to fix some stuttering issues
that we've seen.

* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::ChildProcess):
* Shared/ChildProcess.h:
(ChildProcess):
(WebKit::ChildProcess::processSuppressionEnabled):
(WebKit::ChildProcess::incrementActiveTaskCount):
(WebKit::ChildProcess::decrementActiveTaskCount):
* Shared/mac/ChildProcessMac.mm:
(WebKit):
(WebKit::ChildProcess::setProcessSuppressionEnabledInternal):
(WebKit::ChildProcess::setProcessSuppressionEnabled):
(WebKit::ChildProcess::incrementActiveTaskCount):
(WebKit::ChildProcess::decrementActiveTaskCount):
(WebKit::ChildProcess::suspensionHysteresisTimerFired):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
(WebKit::NPRuntimeObjectMap::evaluate):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
(WebCore):
(NPRuntimeObjectMap):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::PluginView):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::incrementActivePageCount):
(WebKit):
(WebKit::WebChromeClient::decrementActivePageCount):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WKViews using shouldClipToVisibleRect=YES should respect prepareContentInRect: if called
https://bugs.webkit.org/show_bug.cgi?id=116989
<rdar://problem/14007440>

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView prepareContentInRect:]):
If prepareContentInRect: is called, save the rect and set a flag so we know we should use it.

(-[WKView _updateViewExposedRect]):
Give the WebPage (and later the DrawingArea) the union of the rect handed to prepareContentInRect:
and the WKView's visibleRect, if we're in that mode, so that applications that do their own scrolling
can cause tiles to be created in currently offscreen views (for overdraw).

(-[WKView setFrameSize:]):
(-[WKView _updateWindowAndViewFrames]):
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
(-[WKView enableFrameSizeUpdates]):
(-[WKView setShouldClipToVisibleRect:]):
(-[WKView forceAsyncDrawingAreaSizeUpdate:]):
Use [_updateViewExposedRect].


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit should expose HSTS APIs to determine whether a host is in the HSTS cache and to reset HSTS policies
https://bugs.webkit.org/show_bug.cgi?id=117010
<rdar://problem/13689666>

Reviewed by Tim Horton.

* UIProcess/API/C/mac/WKContextPrivateMac.h:
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
* UIProcess/API/C/mac/WKPagePrivateMac.cpp:
* UIProcess/API/C/mac/WKPagePrivateMac.h:
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/mac/WebContextMac.mm:
(WebKit):
(WebKit::privateBrowsingSession):
(WebKit::WebContext::isURLKnownHSTSHost):
(WebKit::WebContext::resetHSTSHosts):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
prepare-Changelog should not be generating namespace-only or class-name-only lines like "(WebCore):"
https://bugs.webkit.org/show_bug.cgi?id=113221

Patch by Ruth Fong <ruth_fong@apple.com> on 2013-05-29
Reviewed by Ryosuke Niwa.

Teach prepare-Changelog to not list the names of modified namespaces,
classes, or structs in C++ files. Thus, if a change is made
within a namespace/class/struct yet outside a function, it will
not be reflected in the ChangeLog entry.
See https://bugs.webkit.org/show_bug.cgi?id=113221#c8
for more details on how ChangeLog entries are affected.

* Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_cpp):
(delete_namespaces_from_ranges_for_cpp): Added.
(is_function_in_namespace): Added.
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests-expected.txt: Updated
to reflect revised definition of a function (i.e. excludes namespaces, classes, structs)

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMAKE] cmake errors when CMAKE_BUILD_TYPE is not specified.
https://bugs.webkit.org/show_bug.cgi?id=116899

Reviewed by Laszlo Gombos.

* CMakeLists.txt: Fixed if statement to escape when find command fails.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-webkit-text-underline-position should not be inherited
https://bugs.webkit.org/show_bug.cgi?id=116363

Reverting http://trac.webkit.org/changeset/150366
It was an incorrect fix referring to an old specification.

Source/WebCore:

* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

LayoutTests:

* fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position-expected.txt:
* fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a special case for SelectorDataList::execute when there is only one selector
https://bugs.webkit.org/show_bug.cgi?id=116891

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-29
Reviewed by Andreas Kling.

In the vast majority of cases, querySelector is called with a single selector.

This patch takes that input into account to improve the performance of
SelectorDataList::execute(). For the case of a single selector, we avoid three
branches executed for every node of the traversal.

This improves QuerySelector's time by 2.3%.

* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::execute):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Take ComputedStyleExtractor for a spin.
<http://webkit.org/b/116968>

Reviewed by Antti Koivisto.

Convert some editing and SVG code to use ComputedStyleExtractor instead of creating full
blown CSSComputedStyleDeclaration objects.

* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::highestEmbeddingAncestor):
(WebCore::ApplyStyleCommand::computedFontSize):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
(WebCore::EditingStyle::textDirectionForSelection):
(WebCore::getIdentifierValue):
(WebCore::backgroundColorInEffect):
* editing/EditingStyle.h:
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::computeCSSPropertyValue):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Store form control list with RefPtr
https://bugs.webkit.org/show_bug.cgi?id=116910

Reviewed by Kent Tamura.

Merge https://chromium.googlesource.com/chromium/blink/+/582132773280455ead1d42b0073be37efdeaf989.

Unfortunately, the Blink change doesn't provide much insight as to what kind of crashes are fixed
by this code change but it cleans up the way form elements with state are registered to the form
controller so it seems benefitial to merge it anyway.

* dom/Document.cpp:
(WebCore::Document::dispose):
* html/FormController.cpp:
(WebCore::FormController::createSavedFormStateMap):
(WebCore::FormController::registerFormElementWithState):
(WebCore::FormController::unregisterFormElementWithState):
(WebCore):
* html/FormController.h:
(FormController):
* html/HTMLFormControlElementWithState.cpp:
(WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
(WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
(WebCore::HTMLFormControlElementWithState::insertedInto):
(WebCore):
(WebCore::HTMLFormControlElementWithState::removedFrom):
* html/HTMLFormControlElementWithState.h:
(HTMLFormControlElementWithState):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::insertedInto):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: get rid of obsolete InspectorFrontendHost.hiddenPanels()
https://bugs.webkit.org/show_bug.cgi?id=60152

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-05-29
Reviewed by Andreas Kling.

* WebCoreSupport/WebInspectorClient.mm:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix paint-related milestones to not fire when the layer tree is frozen
https://bugs.webkit.org/show_bug.cgi?id=117012

Source/WebCore:

Reviewed by Tim Horton.

In the previous code, it was possible to paint some layer and schedule
the m_paintRelatedMilestonesTimer, but then the layer tree was put into
a frozen state because the page redirected. However, the paint-related
milestones timer would still fire. This caused woes with header/footer
banners.

Fix by not firing paint-related milestones if the layer tree is frozen,
which we know via a new ChromeClient callback. When unfrozen, we'll
paint again, and fire the timer later.

* page/ChromeClient.h:
(WebCore::ChromeClient::layerTreeStateIsFrozen):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):

Source/WebKit2:

Reviewed by Tim Horton.

Implement ChromeClient::layerTreeStateIsFrozen() to return
the frozen state of the drawing area.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::layerTreeStateIsFrozen):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ProgressEvent should not be cancelable
https://bugs.webkit.org/show_bug.cgi?id=114444

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2013-05-29
Reviewed by Darin Adler.

Source/WebCore:

Parameter "cancelable" in ProgressEvent is set to false, by default, as mentioned in the specification. The spec link is given below.

Spec: http://www.w3.org/TR/2011/CR-progress-events-20110922/#suggested-names-for-events-using-the-progressevent-interface

No new tests. file-reader-event-listener.html and infoOnProgressEvent-expected.txt are updated.

* dom/ProgressEvent.cpp:
(WebCore::ProgressEvent::ProgressEvent):
(WebCore):

LayoutTests:

file-reader-event-listener.html, xmlhttprequest-get-expected.txt and infoOnProgressEvent-expected.txt are updated.

* fast/files/file-reader-event-listener-expected.txt:
* fast/files/file-reader-event-listener.html:
* fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
* http/tests/xmlhttprequest/infoOnProgressEvent-expected.txt:
* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Expose incrementalRenderingSuppressionTimeout via WK2
https://bugs.webkit.org/show_bug.cgi?id=117015
<rdar://problem/13992853>

Reviewed by Darin Adler.

* dom/Document.cpp:
(WebCore::Document::setVisualUpdatesAllowed):
Inform the FrameLoader that we're ready to transition the page, if
nothing else already has. This will be forwarded to the FrameLoaderClient,
and WebKit2's implementation will go ahead and un-freeze the layer tree,
so that the incremental rendering suppression watchdog timer actually works.

(WebCore::Document::setVisualUpdatesAllowedByClient):
Make incremental rendering suppression extension tokens play nice with the
watchdog timer; allow setVisualUpdatesAllowedByClient=true to re-enable updates
if either the page is in the "completed" state or the watchdog has already fired.

* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
(WebCore::FrameLoader::forcePageTransitionIfNeeded): Added.
Forward to the client.

* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::forcePageTransitionIfNeeded): Added.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferencesPrivate.h:
Add IncrementalRenderingSuppressionTimeout preference.

* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetIncrementalRenderingSuppressionTimeout): Added.
(WKPreferencesGetIncrementalRenderingSuppressionTimeout): Added.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebKit::WebFrameLoaderClient::forcePageTransitionIfNeeded): Added.
Call didCompletePageTransition, which un-freezes the layer tree.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCompletePageTransition):
Fix some indentation.

(WebKit::WebPage::updatePreferences):
Forward the timeout value through to WebCore.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150950 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove requires_http_server as Chromium Android was the only port that needed this
https://bugs.webkit.org/show_bug.cgi?id=117018

Reviewed by Benjamin Poulain.

Removed the unused code that existed for Chromium Android port.

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests):
(LayoutTestRunner._handle_finished_test_list):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._run_tests):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._collect_tests):
(PerfTestsRunner.run):
* Scripts/webkitpy/port/base.py:
(Port.to.start_helper):
* Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_build_path):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Cleanup TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=117005

Unreviewed GTK gardening.

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-30

* platform/gtk/TestExpectations: Get rid of duplicate entry line.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove obsolete forward declaration from InspectorFrontendHost.h
https://bugs.webkit.org/show_bug.cgi?id=117017

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-30
Reviewed by Joseph Pecoraro.

Remove obsolete forward declaration and fix style issue as well.

No change in behavior, no new tests.

* inspector/InspectorFrontendHost.h:
(WebCore):
(InspectorFrontendHost):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get rid of Position::computedStyle
https://bugs.webkit.org/show_bug.cgi?id=117024

Reviewed by Andreas Kling.

Removed the function.

* dom/Position.cpp:
* dom/Position.h:
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::positionToComputeInlineStyleChange): We need a position
inside the dummy element since we'll get the containing element's style instead
if we had the position before the dummy element.
* editing/EditingStyle.cpp:
(WebCore::StyleChange::StyleChange):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: tests in PerformanceTests/inspector/ are timing out
https://bugs.webkit.org/show_bug.cgi?id=77024

Reviewed by Andreas Kling.

PerformanceTests:

These tests have been disabled for ages and don't conform to the standard format.

* Skipped:
* inspector: Removed.
* inspector/console-300-lines.html: Removed.
* inspector/first-open-elements.html: Removed.
* inspector/first-open-resources.html: Removed.
* inspector/first-open-scripts.html.broken: Removed.
* inspector/heap-snapshot-advanced.html: Removed.
* inspector/heap-snapshot-performance-test.js: Removed.
* inspector/heap-snapshot.html: Removed.
* inspector/inspector-startup-time.html: Removed.
* inspector/network-append-30-requests.html.broken: Removed.
* inspector/performance-test.js: Removed.
* inspector/show-panel.html.broken: Removed.

Tools:

Remove inspector performance tests since they have been disabled for ages,
and they don't use the standard parser-style performance output.

It's adding a lot of code complexity to our infrastructure.

* Scripts/webkitpy/performance_tests/perftest.py:
(SingleProcessPerfTest.__init__):
(PerfTestFactory):
* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTestFactory.test_regular_test):
* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
(TestDriver.run_test):
(MainTest.run_test):
(MainTest._tests_for_runner):
(MainTest.test_run_test_set_kills_drt_per_run):
(MainTest._test_run_with_json_output):
(MainTest):
(MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):


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