WebKit-https.git
8 years agoDashboard cleanup: Remove globals g_buildersThatFailedToLoad and g_staleBuilders
jparent@chromium.org [Tue, 8 Jan 2013 20:33:08 +0000 (20:33 +0000)]
Dashboard cleanup: Remove globals g_buildersThatFailedToLoad and g_staleBuilders
https://bugs.webkit.org/show_bug.cgi?id=106356

g_buildersThatFailedToLoad and g_staleBuilders were globals defined in
dashboard_base, assigned by Loader, and used only by dashboard_base to
create error messages.  Moved the variables to be privates on the Loader
object, moved error message creation to _getLoadingErrorMessages on the
Loader object, and now pass the errors back to dashboard base via the
resourceLoadingComplete callback.

Also removed the now unused clearError function, it was only being used
by unit tests to clean up global state.

Reviewed by Dirk Pranke.

* TestResultServer/static-dashboards/dashboard_base.js:
(resourceLoadingComplete):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
* TestResultServer/static-dashboards/loader.js:
(.):
* TestResultServer/static-dashboards/loader_unittests.js:

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

8 years agoPlug-ins shouldn’t be added to list to autostart if you start a plugin in private...
bweinstein@apple.com [Tue, 8 Jan 2013 20:31:37 +0000 (20:31 +0000)]
Plug-ins shouldn’t be added to list to autostart if you start a plugin in private browsing.
https://bugs.webkit.org/show_bug.cgi?id=106348
<rdar://problem/12968442>

Reviewed by Anders Carlsson.

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Don't call addAutoStartOrigin if we are
    in private browsing mode.

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

8 years ago[EFL][GTK] Make the PulseAudioSanitizer an object on the EflPort, GtkPort
zandobersek@gmail.com [Tue, 8 Jan 2013 20:23:47 +0000 (20:23 +0000)]
[EFL][GTK] Make the PulseAudioSanitizer an object on the EflPort, GtkPort
https://bugs.webkit.org/show_bug.cgi?id=106354

Reviewed by Eric Seidel.

Put the PulseAudioSanitizer object on the EflPort and GtkPort interfaces
instead of those two inheriting from it. Also add a mock object of the
sanitizer that's used in unit tests.

* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort):
(EflPort.__init__):
(EflPort.setup_test_run):
(EflPort.clean_up_test_run):
* Scripts/webkitpy/layout_tests/port/efl_unittest.py: Also correct the
importing order.
(EflPortTest.make_port): Put a mock PulseAudioSanitizer on the instance.
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort):
(GtkPort.__init__):
(GtkPort.setup_test_run):
(GtkPort.clean_up_test_run):
* Scripts/webkitpy/layout_tests/port/gtk_unittest.py: Also correct the
importing order.
(GtkPortTest.make_port): Put a mock PulseAudioSanitizer on the instance.
* Scripts/webkitpy/layout_tests/port/pulseaudio_sanitizer.py:
(PulseAudioSanitizer.unload_pulseaudio_module): Stylize the method as public.
(PulseAudioSanitizer.restore_pulseaudio_module): Ditto.
* Scripts/webkitpy/layout_tests/port/pulseaudio_sanitizer_mock.py: Added.
(PulseAudioSanitizerMock): A simple mock interface for PulseAudioSanitizer.
(PulseAudioSanitizerMock.unload_pulseaudio_module):
(PulseAudioSanitizerMock.restore_pulseaudio_module):

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

8 years agoIf array allocation profiling causes a new_array to allocate double arrays, then...
fpizlo@apple.com [Tue, 8 Jan 2013 20:21:36 +0000 (20:21 +0000)]
If array allocation profiling causes a new_array to allocate double arrays, then the holes should end up being correctly initialized
https://bugs.webkit.org/show_bug.cgi?id=106363

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* runtime/JSArray.h:
(JSC::JSArray::tryCreateUninitialized):

LayoutTests:

* fast/js/jsc-test-list:
* fast/js/new-array-double-with-holes-expected.txt: Added.
* fast/js/new-array-double-with-holes.html: Added.
* fast/js/script-tests/new-array-double-with-holes.js: Added.
(foo):

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

8 years agoTweak sandbox profile
andersca@apple.com [Tue, 8 Jan 2013 20:12:49 +0000 (20:12 +0000)]
Tweak sandbox profile
https://bugs.webkit.org/show_bug.cgi?id=106362
<rdar://problem/12884745>

Reviewed by Sam Weinig.

* WebProcess/com.apple.WebProcess.sb.in:
Allow access to com.apple.CoreServices.launchservicesd.

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

8 years agoAdd a crashing test expectation to a test added in r139029.
rniwa@webkit.org [Tue, 8 Jan 2013 20:05:43 +0000 (20:05 +0000)]
Add a crashing test expectation to a test added in r139029.
The failure is tracked by the bug 106361.

* platform/mac/TestExpectations:

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

8 years agoAX: native popup buttons should not use textUnderElement for their title
cfleizach@apple.com [Tue, 8 Jan 2013 19:52:53 +0000 (19:52 +0000)]
AX: native popup buttons should not use textUnderElement for their title
https://bugs.webkit.org/show_bug.cgi?id=106349

Reviewed by Ryosuke Niwa.

Native popup buttons (<select> elements) were calculating its title based on the text
under the element. When Bug 103794 introduced a more complete way of getting render text,
it causes popup buttons to start returning a title.
The fix is that we should not be calculating a title for a native popup button from its children.

Existing tests cover this functionality. This will fix a failing test.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::visibleText):

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

8 years ago[chromium] move dumpFrameLoadCallbacks and friends to the TestRunner library
jochen@chromium.org [Tue, 8 Jan 2013 19:49:34 +0000 (19:49 +0000)]
[chromium] move dumpFrameLoadCallbacks and friends to the TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=106324

Reviewed by Adam Barth.

Since the frame load callbacks are part of the WebFrameClient, the
WebTestProxy is now intercepting both WebViewClient and WebFrameClient
methods.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestInterfaces.h:
(WebTestInterfaces):
* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebKit):
(WebTestProxyBase):
(WebTestRunner):
(WebTestRunner::WebTestProxy::WebTestProxy):
(WebTestProxy):
(WebTestRunner::WebTestProxy::didInvalidateRect):
(WebTestRunner::WebTestProxy::didScrollRect):
(WebTestRunner::WebTestProxy::scheduleComposite):
(WebTestRunner::WebTestProxy::scheduleAnimation):
(WebTestRunner::WebTestProxy::setWindowRect):
(WebTestRunner::WebTestProxy::show):
(WebTestRunner::WebTestProxy::didAutoResize):
(WebTestRunner::WebTestProxy::postAccessibilityNotification):
(WebTestRunner::WebTestProxy::startDragging):
(WebTestRunner::WebTestProxy::shouldBeginEditing):
(WebTestRunner::WebTestProxy::shouldEndEditing):
(WebTestRunner::WebTestProxy::shouldInsertNode):
(WebTestRunner::WebTestProxy::shouldInsertText):
(WebTestRunner::WebTestProxy::shouldChangeSelectedRange):
(WebTestRunner::WebTestProxy::shouldDeleteRange):
(WebTestRunner::WebTestProxy::shouldApplyStyle):
(WebTestRunner::WebTestProxy::didBeginEditing):
(WebTestRunner::WebTestProxy::didChangeSelection):
(WebTestRunner::WebTestProxy::didChangeContents):
(WebTestRunner::WebTestProxy::didEndEditing):
(WebTestRunner::WebTestProxy::registerIntentService):
(WebTestRunner::WebTestProxy::dispatchIntent):
(WebTestRunner::WebTestProxy::willPerformClientRedirect):
(WebTestRunner::WebTestProxy::didCancelClientRedirect):
(WebTestRunner::WebTestProxy::didStartProvisionalLoad):
(WebTestRunner::WebTestProxy::didReceiveServerRedirectForProvisionalLoad):
(WebTestRunner::WebTestProxy::didFailProvisionalLoad):
(WebTestRunner::WebTestProxy::didCommitProvisionalLoad):
(WebTestRunner::WebTestProxy::didReceiveTitle):
(WebTestRunner::WebTestProxy::didFinishDocumentLoad):
(WebTestRunner::WebTestProxy::didHandleOnloadEvents):
(WebTestRunner::WebTestProxy::didFailLoad):
(WebTestRunner::WebTestProxy::didFinishLoad):
(WebTestRunner::WebTestProxy::didChangeLocationWithinPage):
(WebTestRunner::WebTestProxy::didDisplayInsecureContent):
(WebTestRunner::WebTestProxy::didRunInsecureContent):
(WebTestRunner::WebTestProxy::didDetectXSS):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::setTestIsRunning):
(WebTestRunner::WebTestRunner::shouldDumpFrameLoadCallbacks):
(WebTestRunner::WebTestRunner::setShouldDumpFrameLoadCallbacks):
(WebTestRunner::WebTestRunner::shouldDumpUserGestureInFrameLoadCallbacks):
(WebTestRunner::WebTestRunner::stopProvisionalFrameLoads):
(WebTestRunner::WebTestRunner::shouldDumpTitleChanges):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::setTestIsRunning):
(WebTestRunner):
(WebTestRunner::TestRunner::shouldDumpFrameLoadCallbacks):
(WebTestRunner::TestRunner::setShouldDumpFrameLoadCallbacks):
(WebTestRunner::TestRunner::shouldDumpUserGestureInFrameLoadCallbacks):
(WebTestRunner::TestRunner::stopProvisionalFrameLoads):
(WebTestRunner::TestRunner::shouldDumpTitleChanges):
(WebTestRunner::TestRunner::dumpFrameLoadCallbacks):
(WebTestRunner::TestRunner::dumpUserGestureInFrameLoadCallbacks):
(WebTestRunner::TestRunner::setStopProvisionalFrameLoads):
(WebTestRunner::TestRunner::dumpTitleChanges):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp:
(WebTestInterfaces::Internal):
(WebTestRunner::WebTestInterfaces::Internal::webView):
(WebTestRunner::WebTestInterfaces::Internal::Internal):
(WebTestRunner::WebTestInterfaces::Internal::setWebView):
(WebTestRunner):
(WebTestRunner::WebTestInterfaces::Internal::setTestIsRunning):
(WebTestRunner::WebTestInterfaces::setWebView):
(WebTestRunner::WebTestInterfaces::setTestIsRunning):
(WebTestRunner::WebTestInterfaces::webView):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::willPerformClientRedirect):
(WebTestRunner):
(WebTestRunner::WebTestProxyBase::didCancelClientRedirect):
(WebTestRunner::WebTestProxyBase::didStartProvisionalLoad):
(WebTestRunner::WebTestProxyBase::didReceiveServerRedirectForProvisionalLoad):
(WebTestRunner::WebTestProxyBase::didFailProvisionalLoad):
(WebTestRunner::WebTestProxyBase::didCommitProvisionalLoad):
(WebTestRunner::WebTestProxyBase::didReceiveTitle):
(WebTestRunner::WebTestProxyBase::didFinishDocumentLoad):
(WebTestRunner::WebTestProxyBase::didHandleOnloadEvents):
(WebTestRunner::WebTestProxyBase::didFailLoad):
(WebTestRunner::WebTestProxyBase::didFinishLoad):
(WebTestRunner::WebTestProxyBase::didChangeLocationWithinPage):
(WebTestRunner::WebTestProxyBase::didDisplayInsecureContent):
(WebTestRunner::WebTestProxyBase::didRunInsecureContent):
(WebTestRunner::WebTestProxyBase::didDetectXSS):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::runFileTest):
(TestShell::testFinished):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::didStartProvisionalLoad):
(WebViewHost::didReceiveServerRedirectForProvisionalLoad):
(WebViewHost::didFailProvisionalLoad):
(WebViewHost::didCommitProvisionalLoad):
(WebViewHost::didReceiveTitle):
(WebViewHost::didFailLoad):
(WebViewHost::didFinishLoad):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

8 years agotext controls are sized too small when a percentage height is set
ojan@chromium.org [Tue, 8 Jan 2013 19:40:40 +0000 (19:40 +0000)]
text controls are sized too small when a percentage height is set
https://bugs.webkit.org/show_bug.cgi?id=106277

Reviewed by Tony Chang.

Source/WebCore:

This makes our behavior match Firefox 17, IE 9 and Opera 12.
The current logic came from http://trac.webkit.org/changeset/13723,
which itself was copy-pasted from RenderReplaced and no longer has this clause..

Test: fast/forms/percent-height-auto-width-form-controls.html

* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::computePreferredLogicalWidths):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::computePreferredLogicalWidths):
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::computePreferredLogicalWidths):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computePreferredLogicalWidths):

LayoutTests:

* fast/forms/percent-height-auto-width-form-controls-expected.txt: Added.
* fast/forms/percent-height-auto-width-form-controls.html: Added.

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

8 years ago[GTK] Lower the default timeout value for WebKitTestRunner
zandobersek@gmail.com [Tue, 8 Jan 2013 19:35:54 +0000 (19:35 +0000)]
[GTK] Lower the default timeout value for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=106353

Reviewed by Dirk Pranke.

The default timeout value for WebKitTestRunner should be lowered.
The current value (80 seconds) is irrational and just leads to producing
text failures for layout tests that genuinely time out. This just leads
to more deviation from the GTK WK1 port in terms of test expectations.

The value used is the same as when running the DumpRenderTree, that's
6 seconds in release builds and 12 seconds in debug builds.

* Scripts/webkitpy/layout_tests/port/gtk.py:
* Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
(GtkPortTest.test_default_timeout_ms):

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

8 years ago[Chromium] Modify Android's user agent CSS to not set a border-radius on select elements
peter@chromium.org [Tue, 8 Jan 2013 19:28:34 +0000 (19:28 +0000)]
[Chromium] Modify Android's user agent CSS to not set a border-radius on select elements
https://bugs.webkit.org/show_bug.cgi?id=106327

Reviewed by Adam Barth.

Android's user agent CSS overrides the style applied to <select>
elements with a @size or @multiple attribute, and then applies
(among other things) a border-radius of 5 pixels. While select
elements with a larger size or multiple selection should appear
as drop-down boxes for now, setting the border radius causes
Chromium to skip rendering the background and border, making
them hard to read when the page relies on the default styling.

This is covered by existing pixel tests.

* css/themeChromiumAndroid.css:
(select[size][multiple]):

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

8 years agoAdd OWNERS file.
weinig@apple.com [Tue, 8 Jan 2013 19:27:30 +0000 (19:27 +0000)]
Add OWNERS file.

* OWNERS: Added.

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

8 years agoCSP: 'none' should take effect only if no other source expression is present.
mkwst@chromium.org [Tue, 8 Jan 2013 19:22:00 +0000 (19:22 +0000)]
CSP: 'none' should take effect only if no other source expression is present.
https://bugs.webkit.org/show_bug.cgi?id=106314

Reviewed by Adam Barth.

Source/WebCore:

WebKit's handling of 'none' in Content Security Policy source lists
doesn't quite match the spec. Currently, we're treating any source list
that contains 'none' as its first token as an empty list. That is:
"script-src 'none'" is handled in the same way as
"script-src 'none' example.com". Based on a bit of public-webappsec@
discussion[1], the behavior we actually want should treat the first as
an empty list, while treating the second as "script-src example.com". In
other words, 'none' in a source list is a no-op, unless it is the _only_
item in the source list.

This patch adjusts our parsing behavior accordingly, and tweaks the
console log we emit for invalid source expressions to warn specifically
about this case.

[1]: http://lists.w3.org/Archives/Public/public-webappsec/2013Jan/0006.html

Test: http/tests/security/contentSecurityPolicy/source-list-parsing-none.html

* page/ContentSecurityPolicy.cpp:
(WebCore::isSourceListNone):
    A new static method that returns true when given a string that
    contains only 'none' (potentially surrounded by whitespace), and
    false otherwise.
(WebCore):
(WebCore::CSPSourceList::parse):
    Move the 'none' check into the initial layer of parsing, which means
    that we can drop the 'isFirstSourceInList' check entirely.
(WebCore::CSPSourceList::parseSource):
    Since we've already checked for 'none' in ::parse, we can at this
    point safely treat any occurance of 'none' in the source list as an
    invalid expression.
(WebCore::ContentSecurityPolicy::reportInvalidSourceExpression):
    If the invalid expression is 'none', add a clarification to the
    console message, noting that 'none' only has effect when it's all
    alone.

LayoutTests:

* http/tests/security/contentSecurityPolicy/source-list-parsing-none-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/source-list-parsing-none.html: Added.

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

8 years agotest-webkitpy shows failure output on my linux box
zandobersek@gmail.com [Tue, 8 Jan 2013 19:19:37 +0000 (19:19 +0000)]
test-webkitpy shows failure output on my linux box
https://bugs.webkit.org/show_bug.cgi?id=101261

Reviewed by Eric Seidel.

Mock out the PulseAudioSanitizer methods when creating testing instances
of EflPort and GtkPort interfaces in unit tests. This stops throwing up
PulseAudio output when the sanitizer was trying to unload modules which
were already unloaded by another unit test that was being run in parallel.

* Scripts/webkitpy/layout_tests/port/efl_unittest.py:
(EflPortTest):
(EflPortTest.make_port):
* Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
(GtkPortTest):
(GtkPortTest.make_port):

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

8 years agoAdded OpaqueRegionSkia::currentTrackingOpaqueRect
alokp@chromium.org [Tue, 8 Jan 2013 19:15:56 +0000 (19:15 +0000)]
Added OpaqueRegionSkia::currentTrackingOpaqueRect

[chromium] Add OpaqueRegionSkia::currentTrackingOpaqueRect
https://bugs.webkit.org/show_bug.cgi?id=106267

Reviewed by Stephen White.

No new tests needed. No change in functionality.

* platform/graphics/skia/OpaqueRegionSkia.cpp:
(WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
(WebCore::OpaqueRegionSkia::markRectAsOpaque):
(WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
(WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
(WebCore::OpaqueRegionSkia::currentTrackingOpaqueRect):
(WebCore):
* platform/graphics/skia/OpaqueRegionSkia.h:
(OpaqueRegionSkia):

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

8 years agoDashboard Cleanup: Remove g_hasDoneInitialPageGeneration
jparent@chromium.org [Tue, 8 Jan 2013 19:00:33 +0000 (19:00 +0000)]
Dashboard Cleanup: Remove g_hasDoneInitialPageGeneration
https://bugs.webkit.org/show_bug.cgi?id=106254

Remove the global variable g_hasDoneInitialPageGeneration.  It was used
only to figure out if we should call addBuilderLoadErrors during
handleLocationChange, which was called when the loader completed and on
any hash change, but we only ever wanted to call addBuilderLoadErrors
on the initial loader load.  Moved the call of addBuilderLoadErrors to
resourceLoadingComplete rather than handleLocationChange, so now we
only call it when we want to, and the check can go away completely.

Reviewed by Dirk Pranke.

* TestResultServer/static-dashboards/dashboard_base.js:
(addBuilderLoadErrors):
(resourceLoadingComplete):
(handleLocationChange):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

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

8 years ago[GTK] Build failures when building with python 3.3
zandobersek@gmail.com [Tue, 8 Jan 2013 18:54:35 +0000 (18:54 +0000)]
[GTK] Build failures when building with python 3.3
https://bugs.webkit.org/show_bug.cgi?id=106194

Reviewed by Dirk Pranke.

Python 3.3 introduced changes to dictionaries which can result in changed
iteration order. More about these changes:
http://docs.python.org/3.3/whatsnew/3.3.html#pep-412-key-sharing-dictionary
http://www.python.org/dev/peps/pep-0412/#cons

This causes the Source/WebCore/inspector/generate-inspector-protocol-version
script to fail the self-testing when using Python 3.3. These changes work
around this problem by not checking for expected errors in order but rather
for their presence in the error output sequence. The number of actual errors
is also checked to be equal to the number of expected errors.

No new tests - no new functionality.

* inspector/generate-inspector-protocol-version:
(self_test):

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

8 years ago<track> element's mode set to "disabled" after load although it was explicitly set...
commit-queue@webkit.org [Tue, 8 Jan 2013 18:49:48 +0000 (18:49 +0000)]
<track> element's mode set to "disabled" after load although it was explicitly set to "hidden"
https://bugs.webkit.org/show_bug.cgi?id=105536

Source/WebCore:

Remove all concept of "showing by default". This means removing the showingByDefault()
and setShowingByDefault() methods on TextTrack. As I was going  through this code,
I also noticed that in HTMLMediaElement::configureTextTrackGroup(), we would set
defaultTrack to textTrack.get() even though defaultTrack was created to be a RefPtr<TextTrack>.

As a result, we can now pass an additional 8 tests from the Opera-submitted test suite:

LayoutTests/media/track/opera/interfaces/TextTrack/addCue.html
LayoutTests/media/track/opera/interfaces/TextTrack/removeCue.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/endTime.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/startTime.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/align.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/id.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/pauseOnExit.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/track.html

Patch by Antoine Quint <graouts@apple.com> on 2013-01-08
Reviewed by Eric Carlson.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::configureTextTrackGroup):
(WebCore::HTMLMediaElement::toggleTrackAtIndex):
* html/track/TextTrack.cpp:
(WebCore::TextTrack::TextTrack):
(WebCore::TextTrack::setMode):
(WebCore::TextTrack::isRendered):
* html/track/TextTrack.h:
(WebCore::TextTrack::mode):
(TextTrack):

LayoutTests:

Patch by Antoine Quint <graouts@apple.com> on 2013-01-08
Reviewed by Eric Carlson.

* media/track/opera/interfaces/TextTrack/addCue-expected.txt:
* media/track/opera/interfaces/TextTrack/removeCue-expected.txt: Added.
* media/track/opera/interfaces/TextTrackCue/align-expected.txt: Added.
* media/track/opera/interfaces/TextTrackCue/endTime-expected.txt:
* media/track/opera/interfaces/TextTrackCue/id-expected.txt: Added.
* media/track/opera/interfaces/TextTrackCue/pauseOnExit-expected.txt: Added.
* media/track/opera/interfaces/TextTrackCue/startTime-expected.txt:
* media/track/opera/interfaces/TextTrackCue/track-expected.txt: Added.
* platform/chromium/TestExpectations: Skipping newly failing test on Chrome.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 8 Jan 2013 18:47:58 +0000 (18:47 +0000)]
Unreviewed GTK gardening.

Unifying accessibility layout test failure expectations in the WK2
TestExpectations file, with each expectation given an appropriate bug modifier.
Removing three failure expectations for transitions tests that are now passing
on WK2.

* platform/gtk-wk2/TestExpectations:

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

8 years agoRemoved the need for the ProposedDatabase mechanism.
mark.lam@apple.com [Tue, 8 Jan 2013 18:47:28 +0000 (18:47 +0000)]
Removed the need for the ProposedDatabase mechanism.
https://bugs.webkit.org/show_bug.cgi?id=106292.

Reviewed by Sam Weinig.

Source/WebCore:

No new tests.

* Modules/webdatabase/AbstractDatabase.cpp:
(WebCore::AbstractDatabase::details):
(WebCore):
* Modules/webdatabase/AbstractDatabase.h:
(AbstractDatabase):
* Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::databaseExceededQuota):
* Modules/webdatabase/DatabaseContext.h:
(DatabaseContext):
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
* Modules/webdatabase/DatabaseTracker.h:
(DatabaseTracker):
* Modules/webdatabase/SQLTransactionClient.cpp:
(WebCore::SQLTransactionClient::didExceedQuota):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::exceededDatabaseQuota):
* page/ChromeClient.h:
(ChromeClient):

Source/WebKit/blackberry:

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
* WebCoreSupport/ChromeClientBlackBerry.h:
(ChromeClientBlackBerry):

Source/WebKit/chromium:

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::exceededDatabaseQuota):
* src/ChromeClientImpl.h:
(ChromeClientImpl):

Source/WebKit/efl:

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::exceededDatabaseQuota):
* WebCoreSupport/ChromeClientEfl.h:
(ChromeClientEfl):

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::exceededDatabaseQuota):
* WebCoreSupport/ChromeClientGtk.h:
(ChromeClient):

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::exceededDatabaseQuota):

Source/WebKit/qt:

* WebCoreSupport/ChromeClientQt.cpp:
* WebCoreSupport/ChromeClientQt.h:
(ChromeClientQt):

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::exceededDatabaseQuota):
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

Source/WebKit/wince:

* WebCoreSupport/ChromeClientWinCE.cpp:
(WebKit::ChromeClientWinCE::exceededDatabaseQuota):
* WebCoreSupport/ChromeClientWinCE.h:
(ChromeClientWinCE):

Source/WebKit/wx:

* WebKitSupport/ChromeClientWx.cpp:
(WebCore::ChromeClientWx::exceededDatabaseQuota):
* WebKitSupport/ChromeClientWx.h:
(ChromeClientWx):

Source/WebKit2:

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

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

8 years agoAX: PopUpButtons do not report that AXValueAttribute is supported
cfleizach@apple.com [Tue, 8 Jan 2013 18:40:12 +0000 (18:40 +0000)]
AX: PopUpButtons do not report that AXValueAttribute is supported
https://bugs.webkit.org/show_bug.cgi?id=106333

Reviewed by Ryosuke Niwa.

Source/WebCore:

The Mac platform expects that AXPopUpButton's expose the AXValue attribute.

Test: platform/mac/accessibility/popup-button-exposes-axvalue.html

* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isPopUpButton):
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):

LayoutTests:

* platform/mac/accessibility/popup-button-exposes-axvalue-expected.txt: Added.
* platform/mac/accessibility/popup-button-exposes-axvalue.html: Added.

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

8 years agoRemove dead Connection members in ChildProcess subclasses (and their users)
weinig@apple.com [Tue, 8 Jan 2013 18:34:38 +0000 (18:34 +0000)]
Remove dead Connection members in ChildProcess subclasses (and their users)
https://bugs.webkit.org/show_bug.cgi?id=106347
<rdar://problem/12973955>

Reviewed by Alexey Proskuryakov.

This also fixes a crash when entering fullscreen with a plug-in.

* PluginProcess/PluginProcess.h:
Remove dead m_connection member.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::setModalWindowIsShowing):
(WebKit::PluginProcess::setFullscreenWindowIsShowing):
Replace use of m_connection, which is dead, with parentProcessConnection().

* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
Remove dead m_connection member.

* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::createWebProcessConnection):
Replace use of m_connection, which is dead, with parentProcessConnection().

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

8 years agoAdd aboxhall@chromium.org to accessibility watchlist.
dmazzoni@google.com [Tue, 8 Jan 2013 18:17:04 +0000 (18:17 +0000)]
Add aboxhall@chromium.org to accessibility watchlist.

Unreviewed.

* Scripts/webkitpy/common/config/watchlist:

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

8 years agoUpdate expectations for fast/text/justify-ideograph*.
dglazkov@chromium.org [Tue, 8 Jan 2013 18:15:55 +0000 (18:15 +0000)]
Update expectations for fast/text/justify-ideograph*.

* platform/chromium-linux-x86/fast/text/justify-ideograph-vertical-expected.txt: Added.
* platform/chromium-linux/fast/text/justify-ideograph-vertical-expected.png: Added.
* platform/chromium-linux/fast/text/justify-ideograph-vertical-expected.txt: Added.
* platform/chromium-mac-lion/fast/text/justify-ideograph-simple-expected.png:
* platform/chromium-mac-lion/fast/text/justify-ideograph-vertical-expected.png:
* platform/chromium-mac-snowleopard/fast/text/justify-ideograph-simple-expected.png:
* platform/chromium-mac-snowleopard/fast/text/justify-ideograph-vertical-expected.png:
* platform/chromium-mac/fast/text/justify-ideograph-simple-expected.png:
* platform/chromium-mac/fast/text/justify-ideograph-vertical-expected.png:

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

8 years agoUpdate expectations for webaudio/realtimeanalyser-fft-sizing.html.
dglazkov@chromium.org [Tue, 8 Jan 2013 18:14:37 +0000 (18:14 +0000)]
Update expectations for webaudio/realtimeanalyser-fft-sizing.html.

* platform/chromium-linux/webaudio/realtimeanalyser-fft-sizing-expected.txt: Added.

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

8 years ago[Chromium] context-creation-and-destruction.html is slow and flaky.
dglazkov@chromium.org [Tue, 8 Jan 2013 18:13:19 +0000 (18:13 +0000)]
[Chromium] context-creation-and-destruction.html is slow and flaky.
https://bugs.webkit.org/show_bug.cgi?id=92287

* platform/chromium/TestExpectations: Adjusted expectations.

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

8 years agoTools: Add Apache 2.4 support for Fedora 18
danw@gnome.org [Tue, 8 Jan 2013 18:10:07 +0000 (18:10 +0000)]
Tools: Add Apache 2.4 support for Fedora 18
https://bugs.webkit.org/show_bug.cgi?id=104478

Reviewed by Martin Robinson.

Apache 2.4's httpd.conf is slightly incompatible with 2.2's, so we
need a separate config.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port._apache_version):
(Port._apache_config_file_name_for_platform):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
* Scripts/run-webkit-httpd:
* Scripts/webkitperl/httpd.pm:
(getApacheVersion):
(getDefaultConfigForTestDirectory):
(getHTTPDConfigPathForTestDirectory):

LayoutTests: Updates for Apache 2.4
https://bugs.webkit.org/show_bug.cgi?id=104478

Reviewed by Martin Robinson.

Apache 2.4 requires a slightly different config from 2.2, so split
fedora-httpd.conf into separate 2.2 and 2.4 versions.

2.4 is also more picky about passing request headers to CGI
scripts, and will ignore headers that aren't valid according to
the HTTP grammar, so change underscores to hyphens to fix them.

* http/conf/fedora-httpd-2.2.conf: Renamed from
LayoutTests/http/conf/fedora-httpd.conf.
* http/conf/fedora-httpd-2.4.conf: Based on
LayoutTests/http/conf/fedora-httpd.conf and updated for 2.4.
* http/tests/cookies/resources/cookies-test-pre.js:
(setCookies):
(clearCookies):
* http/tests/navigation/ping-cookie.html:
* http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html:

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

8 years agotransition-delay and transition-duration return incorrect values when querying using...
alexis@webkit.org [Tue, 8 Jan 2013 18:08:02 +0000 (18:08 +0000)]
transition-delay and transition-duration return incorrect values when querying using the computed style.
https://bugs.webkit.org/show_bug.cgi?id=105432

Reviewed by Dean Jackson.

Source/WebCore:

When setting the transition-delay to 10ms for example the value of transition-delay
on the computed style was incorrect, it should return 0.01s but it was
returning something like 0.0099999999...s. In fact the bug was after
the parsing step when creating the Animation object where a conversion
from a double to float was done. This conversion is not needed as the
animation class expects double for delay and transition times.

Test: transitions/transitions-parsing.html

* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapAnimationDelay):
(WebCore::CSSToStyleMap::mapAnimationDuration):

LayoutTests:

Uncomment existing tests to cover the bug.

* transitions/transitions-parsing-expected.txt:
* transitions/transitions-parsing.html:

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

8 years ago[Chromium] Tweak expectations for random-array-gc-stress.html to reflect reality.
dglazkov@chromium.org [Tue, 8 Jan 2013 18:06:28 +0000 (18:06 +0000)]
[Chromium] Tweak expectations for random-array-gc-stress.html to reflect reality.
https://bugs.webkit.org/show_bug.cgi?id=84802

* platform/chromium/TestExpectations: Tweaked expectations.

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

8 years agoDFG should backwards-propagate NodeUsedAsValue for Phantom
fpizlo@apple.com [Tue, 8 Jan 2013 17:56:22 +0000 (17:56 +0000)]
DFG should backwards-propagate NodeUsedAsValue for Phantom
https://bugs.webkit.org/show_bug.cgi?id=106299

Reviewed by Mark Hahnenberg.

This is currently benign because Phantom is only inserted by the bytecode parser for
things that already happen to be used in contexts that backwards propagate
NodeUsedAsValue. But that doesn't change the fact that the semantics of Phantom are
that the value can be arbitrarily used by the baseline JIT.

* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):

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

8 years ago[Chromium] Skip http/tests/misc/authentication-redirect-4/authentication-sent-to...
dglazkov@chromium.org [Tue, 8 Jan 2013 17:51:48 +0000 (17:51 +0000)]
[Chromium] Skip http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url.html, because
it's been timing out since it was added.
https://bugs.webkit.org/show_bug.cgi?id=106332

* platform/chromium/TestExpectations: Adjusted expectations.

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

8 years ago [WK2] NetworkProcess should have a Keychain shim
ap@apple.com [Tue, 8 Jan 2013 17:50:51 +0000 (17:50 +0000)]
    [WK2] NetworkProcess should have a Keychain shim
        https://bugs.webkit.org/show_bug.cgi?id=106286

        Reviewed by Sam Weinig.

        Renamed WebProcessShim to SecItemShim. Use it with NetworkProcess, too.

        * WebProcess/mac/SecItemShimLibrary.h: Copied from Source/WebKit2/WebProcess/mac/WebProcessShim.h.
        * WebProcess/mac/SecItemShimLibrary.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessShim.mm.
        This code lives in SecItemShim.dylib.
        "Library" in the name is to avoid conflicting with SecItemShim class in WebKit2.

        * Shared/mac/SecItemShim.cpp:
        (WebKit::sendSecItemRequest):
        (WebKit::SecItemShim::initialize):
        * Shared/mac/SecItemShim.h:
        Take a ChildProcess pointer at initialization instead of using using WebProcess::shared().

        * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::addDYLDEnvironmentAdditions):
        Use SecItemShim with NetworkProcess too.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::initializeConnection):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/mac/NetworkProcessMac.mm:
        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::didFinishLaunching):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeConnection):
        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformInitializeProcess):
        * WebProcess/mac/WebProcessMainMac.mm:
        (WebKit::WebProcessMainDelegate::doPreInitializationWork):
        * WebProcess/mac/WebProcessServiceEntryPoints.mm:
        (webProcessServiceMain):
        (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
        * WebProcess/mac/WebProcessShim.h: Removed.
        * WebProcess/mac/WebProcessShim.mm: Removed.
        * WebProcessService/Info.plist:

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

8 years agoMake the override-feature-defines script compatible with Python v3
zandobersek@gmail.com [Tue, 8 Jan 2013 17:33:02 +0000 (17:33 +0000)]
Make the override-feature-defines script compatible with Python v3
https://bugs.webkit.org/show_bug.cgi?id=105742

Reviewed by Martin Robinson.

Instead of printing output through a statement, use the print function and format
the output using the str.format method. This makes the script runnable with Python v3.

* gtk/override-feature-defines:
(adjust_feature_defines_makefile):

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

8 years ago[Shadow DOM] Refactoring: invalidateParentDistributionIfNecessary() calls are too...
morrita@google.com [Tue, 8 Jan 2013 17:29:32 +0000 (17:29 +0000)]
[Shadow DOM] Refactoring: invalidateParentDistributionIfNecessary() calls are too intrusive
https://bugs.webkit.org/show_bug.cgi?id=106305

Reviewed by Dimitri Glazkov.

Scattering invalidateParentDistributionIfNecessary() looks bad because
- it has long name whose terminology is cryptic for people who don't know much about Shadow DOM standard.
- its calls are always paired with setNeedsStyleRecalc() and people do setNeedsStyleRecalc()
  need to be aware about distribution feature bit tracking. Separate invalidateParentDistributionIfNecessary()
  call doesn't help that recognition.

This change introduces Element::didAffectSelector() to replace a setNeedsStyleRecalc()-i37y() call sequence.
SelectRuleFeatureSet::FeatureRule is renamed AffectedSelectorType so that it explains its purpose
in a bit more plain WebKit term.

No new tests. Refactoring.

* dom/Document.cpp:
(WebCore::Document::setCSSTarget): Adopted didAffectSelector.
* dom/Element.cpp:
(WebCore::Element::didAffectSelector): Added.
(WebCore):
* dom/Element.h:
(Element):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::didAffectSelector): Morphed from invalidateParentDistributionIfNecessary().
* dom/ElementShadow.h:
(ElementShadow):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAttribute): Adopted didAffectSelector
* html/HTMLDetailsElement.cpp:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::disabledAttributeChanged): Adopted didAffectSelector
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked): Adopted didAffectSelector
(WebCore::HTMLInputElement::setIndeterminate): Adopted didAffectSelector
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::parseAttribute): Adopted didAffectSelector
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::parseAttribute): Adopted didAffectSelector
(WebCore::HTMLOptionElement::setSelectedState): Adopted didAffectSelector
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::didElementStateChange): Adopted didAffectSelector
* html/HTMLSummaryElement.cpp:
* html/shadow/HTMLContentElement.cpp:
* html/shadow/SelectRuleFeatureSet.cpp:
(WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector): Followed renaming.
* html/shadow/SelectRuleFeatureSet.h: Followed renaming.
(WebCore::SelectRuleFeatureSet::hasSelectorForChecked):
(WebCore::SelectRuleFeatureSet::hasSelectorForEnabled):
(WebCore::SelectRuleFeatureSet::hasSelectorForDisabled):
(WebCore::SelectRuleFeatureSet::hasSelectorForIndeterminate):
(WebCore::SelectRuleFeatureSet::hasSelectorForLink):
(WebCore::SelectRuleFeatureSet::hasSelectorForTarget):
(WebCore::SelectRuleFeatureSet::hasSelectorForVisited):
(WebCore::SelectRuleFeatureSet::hasSelectorFor):
(WebCore::SelectRuleFeatureSet::setSelectRuleFeature):

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

8 years ago[Qt] Fix build with --web-audio
sergio@webkit.org [Tue, 8 Jan 2013 16:47:55 +0000 (16:47 +0000)]
[Qt] Fix build with --web-audio
https://bugs.webkit.org/show_bug.cgi?id=106328

Reviewed by Philippe Normand.

Build fix, no new tests required.

* Target.pri: addded missing OfflineAudioContext.[cpp|h].

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

8 years ago[GTK] Login & password shown in browsers' URL entry after successful HTTP authentication
mrobinson@webkit.org [Tue, 8 Jan 2013 16:45:55 +0000 (16:45 +0000)]
[GTK] Login & password shown in browsers' URL entry after successful HTTP authentication
https://bugs.webkit.org/show_bug.cgi?id=105190

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Test: http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url.html

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::restartedCallback): After sending a redirect with credentials to libsoup, strip
the credentials from the request. This ensures that the credentials do not show up in
the user agent or in document.location.

LayoutTests:

Add a new test that checks that the URL of a page that redirects and uses
authentication. This verifies correct behavior for ports that communicates
a request's credentials to the platform networking layer by setting them in the URL.
The credentials should not remain in the URL string itself.

* http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt: Added.
* http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url.html: Added.
* http/tests/misc/authentication-redirect-4/resources/auth-echo.php: Added.
* http/tests/misc/authentication-redirect-4/resources/auth-then-redirect.php: Added.

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

8 years agoUnreviwed gardening.
zandobersek@gmail.com [Tue, 8 Jan 2013 16:36:00 +0000 (16:36 +0000)]
Unreviwed gardening.

Removing failure expectations/skip entries for fast/dom/Window/window-postmessage-arrays.html.
The test was fixed by r138964.

Also further remove failure expectations for now-passing tests on the GTK builders.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

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

8 years ago[BlackBerry] Can't select text out of current focused input
commit-queue@webkit.org [Tue, 8 Jan 2013 16:28:49 +0000 (16:28 +0000)]
[BlackBerry] Can't select text out of current focused input
https://bugs.webkit.org/show_bug.cgi?id=106322

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2013-01-08
Reviewed by Rob Buis.

PR270755
Internally reviewed by Mike Fenton

When selection changed, the selection handler clips new selection with
current focused node's boundary. So we clear focus before selectObject.
This patch clear focus when selectObject is at a point but not at a node.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectObject):

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 8 Jan 2013 15:26:51 +0000 (15:26 +0000)]
Unreviewed GTK gardening.

Changing a timeout expectation for inspector/timeline/timeline-decode-resize.html
to a failure expectation. The test doesn't time out anymore due to added WebP support.

Adding a timeout expectation for two proximity layout tests added in r139050.

* platform/gtk/TestExpectations:

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

8 years ago[Chromium] Don't confine page popups to root view on Mac
keishi@webkit.org [Tue, 8 Jan 2013 14:12:11 +0000 (14:12 +0000)]
[Chromium] Don't confine page popups to root view on Mac
https://bugs.webkit.org/show_bug.cgi?id=106315

Reviewed by Kent Tamura.

Source/WebCore:

No new tests.

* Resources/pagepopups/pickerCommon.js:
(adjustWindowRect): Remove code to confine to root view.

Source/WebKit/chromium:

Page popups on Mac no longer get clipped to the web view so we can
remove the code to confine to root view.

* src/ColorChooserPopupUIController.cpp:
(WebKit::ColorChooserPopupUIController::writeDocument): Removing parameters confineToRootView and rootViewRectInScreen.
* src/DateTimeChooserImpl.cpp:
(WebKit::DateTimeChooserImpl::writeDocument): Ditto.

LayoutTests:

* platform/chromium/fast/forms/page-popup/page-popup-adjust-rect.html: Remove setting parameters confineToRootView and rootViewRectInScreen.

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

8 years agoMake RenderLayer::updateNeedsCompositedScrolling scrollbars agnostic
tonikitoo@webkit.org [Tue, 8 Jan 2013 14:06:37 +0000 (14:06 +0000)]
Make RenderLayer::updateNeedsCompositedScrolling scrollbars agnostic
https://bugs.webkit.org/show_bug.cgi?id=95494

Reviewed by James Robinson.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Some ports (including Qt-wk1 and BlackBerry) allow disabling
scrollbars at FrameView creation level. That said, cheking for the
scrollbars presence in order to determine if we should promote a
RenderLayer to use composited scrolling is not ideal, as done in
RenderLayerCompositor::updateNeedsCompositedScrolling()

Instead, this patch makes the RenderLayer class to query its FrameView
if it has been cached as scrollable by the later.

Least, patch also takes this opportunity to remove RenderLayer::allowsScrolling,
which became unused.

No new tests added, since there is no *practical* behavior change: ports
like Chromium and others who currently check for the scrollbars presence
in order to determine either to promote or not layers to benefit of composited
scrolling should not be affected.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateNeedsCompositedScrolling):
* rendering/RenderLayer.h:
(RenderLayer):

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

8 years agoIntroduce a compositing trigger for scrollable frames
tonikitoo@webkit.org [Tue, 8 Jan 2013 14:05:37 +0000 (14:05 +0000)]
Introduce a compositing trigger for scrollable frames
https://bugs.webkit.org/show_bug.cgi?id=105573

Reviewed by James Robinson.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Source/WebCore:

Make requiresCompositingForScrollableFrame to check the
newly added compositing trigger instead of the associated setting.

It introduces no have behavior change, so no new tests. Patch basically
does some preparation work for adding support to composite scrollable inner
frames independently from "force compositing mode" bit.

* page/ChromeClient.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):

Source/WebKit/chromium:

Set the newly added scrollable-inner-frames bit to compositing-trigger
bitset in accordance to the respective setting value.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::allowedCompositingTriggers):

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

8 years ago[Qt] Fix libxml2 config test
commit-queue@webkit.org [Tue, 8 Jan 2013 13:28:41 +0000 (13:28 +0000)]
[Qt] Fix libxml2 config test
https://bugs.webkit.org/show_bug.cgi?id=106317

Patch by Heikki Paajanen <heikki.paajanen@palm.com> on 2013-01-08
Reviewed by Simon Hausmann.

Don't assume standard include/libxml2, libxml-2.0.pc should know
where it's headers are.

* qmake/config.tests/libxml2/libxml2.cpp: Fix include

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

8 years ago[Qt] Unreviewed gardening, skip a new failing test.
ossy@webkit.org [Tue, 8 Jan 2013 11:54:04 +0000 (11:54 +0000)]
[Qt] Unreviewed gardening, skip a new failing test.

* platform/qt/TestExpectations:

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

8 years agoAdd DeviceProximityController to support Device Proximity Events.
kihong.kwon@samsung.com [Tue, 8 Jan 2013 11:34:22 +0000 (11:34 +0000)]
Add DeviceProximityController to support Device Proximity Events.
https://bugs.webkit.org/show_bug.cgi?id=97630

Reviewed by Hajime Morita.

Source/WebCore:

Implement DeviceProximityController which is inherited from DeviceController to support Device Proximity Events.
DeviceProximityController has two major functionalities.
- When listener is added, DeviceProximityController stores DOMWindow pointer to m_listeners
  and start gathering proximity event.
- When DeviceProximityController receives a proximity event from client, fire an event using m_listeners.
In addition, setDeviceProximity function is added to Internals for layout test.

Tests: proximity/add-listener-from-callback.html
       proximity/basic-operation.html
       proximity/create-event.html
       proximity/event-after-navigation.html
       proximity/multiple-frames.html
       proximity/no-page-cache.html
       proximity/optional-event-properties.html
       proximity/updates.html
       proximity/window-property.html

* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Modules/proximity/DeviceProximityClient.h: Added.
(WebCore):
(DeviceProximityClient):
(WebCore::DeviceProximityClient::~DeviceProximityClient):
* Modules/proximity/DeviceProximityController.cpp: Added.
(WebCore):
(WebCore::DeviceProximityController::DeviceProximityController):
(WebCore::DeviceProximityController::create):
(WebCore::DeviceProximityController::didChangeDeviceProximity):
(WebCore::DeviceProximityController::deviceProximityClient):
(WebCore::DeviceProximityController::hasLastData):
(WebCore::DeviceProximityController::getLastEvent):
(WebCore::DeviceProximityController::supplementName):
(WebCore::DeviceProximityController::from):
(WebCore::DeviceProximityController::isActiveAt):
(WebCore::provideDeviceProximityTo):
* Modules/proximity/DeviceProximityController.h: Added.
(WebCore):
(DeviceProximityController):
(WebCore::DeviceProximityController::~DeviceProximityController):
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.xcodeproj/project.pbxproj:
* history/PageCache.cpp:
When a page has Device Proximity Event Listener, it has not to be cached like Device Orientation.
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCache):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):
* testing/Internals.cpp:
(WebCore::Internals::setDeviceProximity):
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit2:

Add initial WebDeviceProximityClient class which is inherited DeviceProximityClient.
But startUpdating and stopUpdating need to be implemented.

* CMakeLists.txt:
* WebProcess/WebCoreSupport/WebDeviceProximityClient.cpp: Added.
(WebKit):
(WebKit::WebDeviceProximityClient::WebDeviceProximityClient):
(WebKit::WebDeviceProximityClient::startUpdating):
(WebKit::WebDeviceProximityClient::stopUpdating):
(WebKit::WebDeviceProximityClient::hasLastData):
* WebProcess/WebCoreSupport/WebDeviceProximityClient.h: Added.
(WebKit):
(WebDeviceProximityClient):
(WebKit::WebDeviceProximityClient::~WebDeviceProximityClient):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

LayoutTests:

Add layout test cases for the DeviceProximityController.

* proximity/add-listener-from-callback-expected.txt: Added.
* proximity/add-listener-from-callback.html: Added.
* proximity/basic-operation-expected.txt: Added.
* proximity/basic-operation.html: Added.
* proximity/create-event-expected.txt: Added.
* proximity/create-event.html: Added.
* proximity/event-after-navigation-expected.txt: Added.
* proximity/event-after-navigation.html: Added.
* proximity/multiple-frames-expected.txt: Added.
* proximity/multiple-frames.html: Added.
* proximity/no-page-cache-expected.txt: Added.
* proximity/no-page-cache.html: Added.
* proximity/optional-event-properties-expected.txt: Added.
* proximity/optional-event-properties.html: Added.
* proximity/resources/cached-page-1.html: Added.
* proximity/resources/cached-page-2.html: Added.
* proximity/resources/event-after-navigation-new.html: Added.
* proximity/updates-expected.txt: Added.
* proximity/updates.html: Added.
* proximity/window-property-expected.txt: Added.
* proximity/window-property.html: Added.

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 8 Jan 2013 10:17:28 +0000 (10:17 +0000)]
Unreviewed GTK gardening.

Adding failure expectation for an a11y test added in r139002.

* platform/gtk/TestExpectations:

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

8 years ago[GTK] Make Tools/gtk/generate-gtkdoc compatible with Python 3
zandobersek@gmail.com [Tue, 8 Jan 2013 10:10:24 +0000 (10:10 +0000)]
[GTK] Make Tools/gtk/generate-gtkdoc compatible with Python 3
https://bugs.webkit.org/show_bug.cgi?id=106195

Reviewed by Philippe Normand.

Perform changes in the generate-gtkdoc script and common and gtkdoc modules
to make the Python code compatible with Python 3. This includes modifying
print statements, exception handling, dictionary iteration and
byte-sequence-to-string conversion.

* gtk/common.py:
(get_build_path):
(pkg_config_file_variable):
(gtk_version_of_pkg_config_file):
* gtk/generate-gtkdoc:
(print_missing_api):
* gtk/gtkdoc.py:
(GTKDoc.__init__):
(GTKDoc._run_command):

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

8 years ago[Qt][WK2] Unreviewed gardening after r138932.
ossy@webkit.org [Tue, 8 Jan 2013 09:37:53 +0000 (09:37 +0000)]
[Qt][WK2] Unreviewed gardening after r138932.

* platform/qt-5.0-wk2/fast/ruby/ruby-beforeafter-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-beforeafter-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-empty-rt-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-empty-rt-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-length-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-length-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-run-break-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-run-break-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-spans-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-spans-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-rp-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-rp-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-trailing-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-trailing-expected.txt: Added.

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

8 years ago[GTK] Add WebP image support
sergio@webkit.org [Tue, 8 Jan 2013 09:31:56 +0000 (09:31 +0000)]
[GTK] Add WebP image support
https://bugs.webkit.org/show_bug.cgi?id=105915

Reviewed by Martin Robinson.

.:

WebP is from now on a dependency for WebKitGtk+.

* configure.ac: added WebP library detection.

Source/WebCore:

* GNUmakefile.am: add WTF_USE_WEBP definition.
* GNUmakefile.list.am: properly sort image decoders in the sources list.

Source/WebKit/gtk:

* GNUmakefile.am: link against WebP library.

Source/WebKit2:

* GNUmakefile.am: link against WebP library.

LayoutTests:

* platform/gtk/TestExpectations: unskipped two tests passing now
that we have WebP support.

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

8 years agoRename 'IntSize toSize(const IntPoint&)' to 'toIntSize'
commit-queue@webkit.org [Tue, 8 Jan 2013 09:27:08 +0000 (09:27 +0000)]
Rename 'IntSize toSize(const IntPoint&)' to 'toIntSize'
https://bugs.webkit.org/show_bug.cgi?id=106307

This matches other method names which distinguish between sizes and
points. See https://bugs.webkit.org/show_bug.cgi?id=105992#c4.

Patch by Steve Block <steveblock@chromium.org> on 2013-01-08
Reviewed by Kentaro Hara.

Source/WebCore:

Refactoring only, no functional change.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::scrollTo):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
* platform/ScrollView.h:
(WebCore::ScrollView::scrollOffset):
* platform/graphics/IntPoint.h:
(WebCore::toIntSize):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::positionNewlyCreatedOverflowControls):
(WebCore::RenderLayer::paintOverflowControls):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

Source/WebKit/blackberry:

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):

Source/WebKit/chromium:

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setViewport):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::minimumScrollOffset):
(WebKit::WebFrameImpl::maximumScrollOffset):

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

8 years agoDragging over an element with scrollbars should scroll the element when dragging...
yosin@chromium.org [Tue, 8 Jan 2013 08:57:56 +0000 (08:57 +0000)]
Dragging over an element with scrollbars should scroll the element when dragging near edges
https://bugs.webkit.org/show_bug.cgi?id=39725

Reviewed by Hajime Morita.

Source/WebCore:

This patch introduces auto scrolling functionality during drag-and-drop
when drop source is near edge of scrollable element.

When drop source is inside 20px of scrollable element more than 200ms,
scrollable element is automatically scrolled every 50ms toward drop
source position, e.g. vertically scroll up when drop source is in top
edge.

Test: fast/events/drag-and-drop-autoscroll.html

* page/AutoscrollController.cpp:
(WebCore::AutoscrollController::AutoscrollController): Changed to initialize m_dragAndDropAutoscrollStartTime.
(WebCore::AutoscrollController::updateDragAndDrop): Added for start/stop autoscroll during drag-and-drop.
(WebCore::AutoscrollController::autoscrollTimerFired): Changed to add autoscroll for drag-and-drop, and to pass last know position to RenderBox::autoscroll().
* page/AutoscrollController.h:
(AutoscrollController): Changed to add updateDragAndDrop() and m_dragAndDropAutoscrollReferencePosition and m_dragAndDropAutoscrollStartTime.
* page/EventHandler.cpp:
(WebCore::EventHandler::updateDragAndDrop): Changed to call AutoscrollController::updateDragAndDrop().
* rendering/RenderBox.cpp:
(WebCore::RenderBox::autoscroll): Changed for new parameter position.
(WebCore::RenderBox::calculateAutoscrollDirection): Added for autoscroll.
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::autoscroll):  Changed for new parameter position and move updateSelectionForMouseDrag() to AutoscrollController.
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::autoscroll):  Changed for new parameter position.
* rendering/RenderListBox.h:
(RenderListBox):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::autoscroll):  Changed for new parameter position.
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):

Source/WebKit/chromium:

This patch removes DragScrollTimer used for automatic scrolling of main
frame drag-and-drop which is now implemented in EventHandler.

Another patch will remove DragScrollTimer.{cpp,h} and update GYP files to
make patch size small.

No tests. Existing test covers this change.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl): Changed to remove m_dragScrollTimer.
(WebKit::WebViewImpl::dragSourceEndedAt): ditto
(WebKit::WebViewImpl::dragSourceMovedTo): ditto
(WebKit::WebViewImpl::dragTargetDrop): ditto
(WebKit::WebViewImpl::dragTargetDragEnterOrOver): ditto
* src/WebViewImpl.h:
(WebKit): Chagned to remove DragScrollTimer.

LayoutTests:

This patch adds new test for autoscroll during drag-and-drop.

* fast/events/drag-and-drop-autoscroll-expected.txt: Added.
* fast/events/drag-and-drop-autoscroll.html: Added.

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

8 years agoREGRESSION(r139036): 'WebCore::DateTimeSymbolicFieldElement::isInRange' hides overloa...
jochen@chromium.org [Tue, 8 Jan 2013 08:40:10 +0000 (08:40 +0000)]
REGRESSION(r139036): 'WebCore::DateTimeSymbolicFieldElement::isInRange' hides overloaded virtual function
https://bugs.webkit.org/show_bug.cgi?id=106311

Unreviewed build fix.

* html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::stepDown):
(WebCore::DateTimeSymbolicFieldElement::stepUp):
* html/shadow/DateTimeSymbolicFieldElement.h:
(WebCore::DateTimeSymbolicFieldElement::indexIsInRange): renamed method to avoid hiding Element::isInRange

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

8 years agoHTMLTreeBuilder shouldn't keep a Document pointer
abarth@webkit.org [Tue, 8 Jan 2013 08:23:01 +0000 (08:23 +0000)]
HTMLTreeBuilder shouldn't keep a Document pointer
https://bugs.webkit.org/show_bug.cgi?id=106268

Reviewed by Eric Seidel.

The tree builder shouldn't interact with the Document directly.
Instead, the tree builder should use the HTMLConstructionSite to
interact with the document.

Unfortunately, the HTMLTreeBuilder does need to read back one bit of
information (the quirks mode) from the Document. Currently the
HTMLConstructionSite reads the information directly from the Document.
If/when we move the parser onto its own thread, we'll need to keep
track of this bit on the parser thread. (We should be able to
encapsulate all that logic in the HTMLConstructionSite.)

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::setDefaultCompatibilityMode):
(WebCore):
(WebCore::HTMLConstructionSite::finishedParsing):
(WebCore::HTMLConstructionSite::inQuirksMode):
* html/parser/HTMLConstructionSite.h:
(HTMLConstructionSite):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::detach):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::defaultForInitial):
(WebCore::HTMLTreeBuilder::finished):
* html/parser/HTMLTreeBuilder.h:
(HTMLTreeBuilder):

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

8 years ago[Qt][Win] Unreviewed buildfix, partially revert
ossy@webkit.org [Tue, 8 Jan 2013 08:15:16 +0000 (08:15 +0000)]
[Qt][Win] Unreviewed buildfix, partially revert
r139003, because Qt port still uses these files.

* Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Added.
* Platform/CoreIPC/win/ConnectionWin.cpp: Added.
* Platform/win/SharedMemoryWin.cpp: Added.
* Platform/win/WorkQueueWin.cpp: Added.

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

8 years agoFloat block's logical top margin is illegal in vertical writing mode.
commit-queue@webkit.org [Tue, 8 Jan 2013 08:12:49 +0000 (08:12 +0000)]
Float block's logical top margin is illegal in vertical writing mode.
https://bugs.webkit.org/show_bug.cgi?id=96597

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2013-01-08
Reviewed by Hajime Morita.

Source/WebCore:

flipFloatForWritingModeForChild() should use child->renderer()->width() not child->width() like horizontal writing mode.

Test: fast/writing-mode/vertical-float-margin.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::flipFloatForWritingModeForChild):

LayoutTests:

Specify margin to float block in vertical writing mode.

* fast/writing-mode/vertical-float-margin-expected.html: Added.
* fast/writing-mode/vertical-float-margin.html: Added.
* platform/chromium/TestExpectations: Add need rebaseline.

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

8 years agoAdd chromium.org email address for Steve Block.
steveblock@google.com [Tue, 8 Jan 2013 07:53:05 +0000 (07:53 +0000)]
Add chromium.org email address for Steve Block.

Unreviewed.

* Scripts/webkitpy/common/config/committers.py:

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

8 years agoREGRESSION(r137406): Text inside an empty optgroup prevents subsequent options from...
tkent@chromium.org [Tue, 8 Jan 2013 07:49:21 +0000 (07:49 +0000)]
REGRESSION(r137406): Text inside an empty optgroup prevents subsequent options from appearing
https://bugs.webkit.org/show_bug.cgi?id=106298

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/forms/select/select-empty-optgroup.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::recalcListItems):
Traverse to the first element within the 'current' only if it exists.

LayoutTests:

* fast/forms/select/select-empty-optgroup-expected.html: Added.
* fast/forms/select/select-empty-optgroup.html: Added.

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

8 years agoUse toSize() to convert from Int/FloatPoint to Int/FloatSize
commit-queue@webkit.org [Tue, 8 Jan 2013 07:46:58 +0000 (07:46 +0000)]
Use toSize() to convert from Int/FloatPoint to Int/FloatSize
https://bugs.webkit.org/show_bug.cgi?id=105992

Patch by Steve Block <steveblock@chromium.org> on 2013-01-07
Reviewed by Kentaro Hara.

Source/WebCore:

Refactoring only, no change in behavior.

* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::computePath):
* platform/ScrollView.h:
(WebCore::ScrollView::scrollOffset):
* platform/graphics/FloatPoint.h:
(WebCore::toFloatSize):
Add 'inline FloatSize toFloatSize(const FloatPoint&)' to match IntPoint.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

Source/WebKit/chromium:

* src/LinkHighlight.cpp:
(WebKit::LinkHighlight::computeHighlightLayerPathAndPosition):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::minimumScrollOffset):
(WebKit::WebFrameImpl::maximumScrollOffset):

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

8 years agoINPUT_MULTIPLE_FIELDS_UI: Step-up/-down of month/day field should respect min/max...
commit-queue@webkit.org [Tue, 8 Jan 2013 07:19:15 +0000 (07:19 +0000)]
INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of month/day field should respect min/max attributes
https://bugs.webkit.org/show_bug.cgi?id=106212

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2013-01-07
Reviewed by Kent Tamura.

Source/WebCore:

Make step-up/-down of the month and day fields respect the min/max
attributes of the element.
Note that these fields still accept any keyboard inputs (the element
becomes 'invalid' state when out-of-bounds values entered).

Tests: fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html
       fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html
       fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html
       fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer.html

* css/html.css: Add CSS rules for month and day fields.
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditBuilder::visitField):
Compute minimum/maximum values of month/day fields from the min/max
parameters of the element. If minimum, maximum, and current value is
the same, makes the field read-only.
* html/shadow/DateTimeFieldElements.cpp:
(WebCore::DateTimeAMPMFieldElement::DateTimeAMPMFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement): Ditto.
(WebCore::DateTimeDayFieldElement::create): Ditto.
(WebCore::DateTimeDayFieldElement::clampValueForHardLimits): Added.
(WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeMonthFieldElement::create): Ditto.
(WebCore::DateTimeMonthFieldElement::clampValueForHardLimits): Added.
(WebCore::DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeSymbolicMonthFieldElement::create): Ditto.
* html/shadow/DateTimeFieldElements.h:
(DateTimeDayFieldElement): Add mininum/maximum arguments and declare clampValueForHardLimits.
(DateTimeMonthFieldElement): Ditto.
(DateTimeSymbolicMonthFieldElement): Add mininum/maximum arguments.
* html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeSymbolicFieldElement::maximum): Returns m_maximumIndex + 1 as it assumes 1-origin value.
(WebCore::DateTimeSymbolicFieldElement::minimum): Ditto.
(WebCore::DateTimeSymbolicFieldElement::stepDown): Restrict value to m_minimumIndex-m_maximumIndex.
(WebCore::DateTimeSymbolicFieldElement::stepUp): Ditto.
* html/shadow/DateTimeSymbolicFieldElement.h:
(DateTimeSymbolicFieldElement): Add m_minimumIndex and m_maximumIndex.
(WebCore::DateTimeSymbolicFieldElement::isInRange): Added.

LayoutTests:

* fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield-expected.txt:
* fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html: Add tests for month and day fields.
* fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield-expected.txt: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer-expected.txt: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer.html: Added.

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

8 years ago[CoordinatedGraphics] compositing/repaint/resize-repaint.html is failing
christophe.dumez@intel.com [Tue, 8 Jan 2013 07:07:02 +0000 (07:07 +0000)]
[CoordinatedGraphics] compositing/repaint/resize-repaint.html is failing
https://bugs.webkit.org/show_bug.cgi?id=104637

Reviewed by Noam Rosenthal.

Source/WebKit2:

r137526 attempted to fix excessive repainting when compositing layers
change size. However, the fix did not suffice for ports using Coordinated
Graphics because CoordinatedGraphicsLayer::setSize() was calling
setNeedsDisplay() causing a full repaint.

This patch removes the call to setNeedsDisplay() in
CoordinatedGraphicsLayer::setSize() so that we don't unconditionally
repaint CoordinatedGraphics layers when their size changes.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setSize):

LayoutTests:

Unskip compositing/repaint/resize-repaint.html now that Coordinated
Graphics is no longer repainting unconditionally compositing layers
when their size changes.

* platform/efl-wk2/TestExpectations:

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

8 years ago[EFL][WK2][WebGL] The top left side of the screen is shown inside the canvas element
commit-queue@webkit.org [Tue, 8 Jan 2013 06:53:30 +0000 (06:53 +0000)]
[EFL][WK2][WebGL] The top left side of the screen is shown inside the canvas element
https://bugs.webkit.org/show_bug.cgi?id=105136

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-01-07
Reviewed by Noam Rosenthal.

Use glXSwapBuffers to force resize of GL surface after X window resize.

Fixes fast/canvas/webgl/webgl-composite-modes.html pixel test on EFL platform.

* platform/graphics/surfaces/glx/X11WindowResources.cpp:
(WebCore::X11OffScreenWindow::reSizeWindow):

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

8 years agoUse explicit constructor to convert from Int/FloatSize to Int/FloatPoint
commit-queue@webkit.org [Tue, 8 Jan 2013 06:07:55 +0000 (06:07 +0000)]
Use explicit constructor to convert from Int/FloatSize to Int/FloatPoint
https://bugs.webkit.org/show_bug.cgi?id=106209

Patch by Steve Block <steveblock@chromium.org> on 2013-01-07
Reviewed by Kentaro Hara.

Refactoring only, no functional change.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

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

8 years ago[CoordinatedGraphics] Support invalidation tracking for CoordinatedGraphicsLayer
christophe.dumez@intel.com [Tue, 8 Jan 2013 06:03:20 +0000 (06:03 +0000)]
[CoordinatedGraphics] Support invalidation tracking for CoordinatedGraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=106002

Reviewed by Noam Rosenthal.

Source/WebKit2:

Add calls to addRepaintRect() to CoordinatedGraphicsLayer so that
we can track invalidation in the composited layer.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setNeedsDisplay): Pass a FloatRect instead
of an IntRect to setNeedsDisplayInRect() since it is what it expects.
(WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):

LayoutTests:

Unskip several tests that require invalidation tracking for EFL WK2 now that
it is supported by Coordinated Graphics.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt: Added.
Use same expectation as mac port.
* platform/efl/fast/images/repaint-subrect-grid-expected.txt: Added. We are sometimes
1 pixel off compared to the global expectation likely due to lack for subpixel layout
support.

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

8 years ago[EFL][WebGL] Crash of WebKitTestRunner when running webgl layout tests
commit-queue@webkit.org [Tue, 8 Jan 2013 04:58:03 +0000 (04:58 +0000)]
[EFL][WebGL] Crash of WebKitTestRunner when running webgl layout tests
https://bugs.webkit.org/show_bug.cgi?id=105936

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-01-07
Reviewed by Laszlo Gombos.

If canvas window becomes invalid don't create pixmap from it and don't
use it for painting.

Improves stability of existing webgl layout tests.

* platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurfacePrivate::createPixmap):
(WebCore::GraphicsSurfacePrivate::size):
(WebCore::GraphicsSurface::platformGetTextureID):
(WebCore::GraphicsSurface::platformPaintToTextureMapper):

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

8 years agoDocument::m_activeNode should be always an Element.
morrita@google.com [Tue, 8 Jan 2013 04:39:39 +0000 (04:39 +0000)]
Document::m_activeNode should be always an Element.
https://bugs.webkit.org/show_bug.cgi?id=106193

Reviewed by Ryosuke Niwa.

Source/WebCore:

r137277 tightened an invariant that assumes that active node is
always an element. But Document::updateHoverActiveState() didn't
respect that assumption. This change forces it.

Test: svg/custom/text-use-click-crash.html

* dom/Document.cpp:
(WebCore::Document::removedLastRef):
(WebCore::Document::detach):
(WebCore::Document::setActiveNode):
(WebCore::Document::activeChainNodeDetached):
(WebCore::Document::updateHoverActiveState):
* dom/Document.h:
(WebCore::Document::activeElement): Renamed from m_activeNode for the clarification.
(Document):

LayoutTests:

* svg/custom/text-use-click-crash-expected.txt: Added.
* svg/custom/text-use-click-crash.html: Added.

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

8 years ago[Chromium] Expose compositedScrollingForFramesEnabled setting in WebKit API
wangxianzhu@chromium.org [Tue, 8 Jan 2013 04:24:14 +0000 (04:24 +0000)]
[Chromium] Expose compositedScrollingForFramesEnabled setting in WebKit API
https://bugs.webkit.org/show_bug.cgi?id=106262

Reviewed by James Robinson.

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setCompositedScrollingForFramesEnabled):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):

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

8 years agoWebKit should compile on Mac with --shadow-dom
morrita@google.com [Tue, 8 Jan 2013 03:00:52 +0000 (03:00 +0000)]
WebKit should compile on Mac with --shadow-dom
https://bugs.webkit.org/show_bug.cgi?id=105469

Reviewed by Dimitri Glazkov.

No new tests. Just changing build files.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* dom/Element.idl:

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

8 years agoAdd a flag to control canvas antialiasing.
senorblanco@chromium.org [Tue, 8 Jan 2013 02:58:15 +0000 (02:58 +0000)]
Add a flag to control canvas antialiasing.
https://bugs.webkit.org/show_bug.cgi?id=106255

Reviewed by Darin Fisher.

Source/WebCore:

This flag is not exposed through TestRunner or DRT, so no testing is
possible yet.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer):
* page/Settings.in:

Source/WebKit/chromium:

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setAntialiased2dCanvasEnabled):
* src/WebSettingsImpl.h:

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

8 years ago[CSS Grid Layout] Implement grid items sizing for fixed minmax grid tracks
jchaffraix@webkit.org [Tue, 8 Jan 2013 02:41:22 +0000 (02:41 +0000)]
[CSS Grid Layout] Implement grid items sizing for fixed minmax grid tracks
https://bugs.webkit.org/show_bug.cgi?id=104700

Reviewed by Tony Chang.

Source/WebCore:

This change implements parts of the minmax() track sizing algorithm. The chosen subset enables us
to resolve any sizing function that doesn't size based on the content (min-content, max-content).

Tests: fast/css-grid-layout/minmax-fixed-logical-height-only.html
       fast/css-grid-layout/minmax-fixed-logical-width-only.html

* rendering/RenderGrid.cpp:
(WebCore::GridTrack::GridTrack):
Added a new member to hold the maximum track breadth.

(WebCore::RenderGrid::computePreferredLogicalWidths):
(WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
Updated these functions to work on both min and max track breadth. In order to match
the specification, if max track breadth < min track breadth, we ignore the max track breadth.
For computedUsedBreadthOfGridTracks, it also involves calling distributeSpaceToTracks.

(WebCore::RenderGrid::computeUsedBreadthOfLength):
New helper function that compute a single length's size.

(WebCore::sortByGridTrackGrowthPotential):
Ordering function for the sorting the track: it orders the track per increasing potential
growth (defined as the difference between max breadth and the currently used breadth).

(WebCore::RenderGrid::distributeSpaceToTracks):
Added this function that matches the specification's algorithm. Only the relevant bits from
the specification were implemented for now (for example, SubsetOfTracksForGrowthBeyondTrackGrowthConstraint
is always the empty set so it was omitted).

* rendering/RenderGrid.h:
Added the new functions and declared GridTrack as public into the WebCore namespace.

* rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::minTrackBreadth):
(WebCore::GridTrackSize::maxTrackBreadth):
Removed 2 ASSERTs as the layout algorithm doesn't care if the min / max were
set from a single track breadth or through minmax().

LayoutTests:

* fast/css-grid-layout/minmax-fixed-logical-height-only-expected.txt: Added.
* fast/css-grid-layout/minmax-fixed-logical-height-only.html: Added.
* fast/css-grid-layout/minmax-fixed-logical-width-only-expected.txt: Added.
* fast/css-grid-layout/minmax-fixed-logical-width-only.html: Added.

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

8 years agoAdd a setting to enable composited scrolling for frames
wangxianzhu@chromium.org [Tue, 8 Jan 2013 01:51:14 +0000 (01:51 +0000)]
Add a setting to enable composited scrolling for frames
https://bugs.webkit.org/show_bug.cgi?id=104950

Reviewed by James Robinson.

Source/WebCore:

Test: compositing/iframes/iframe-composited-scrolling.html

* page/FrameView.cpp:
(WebCore::FrameView::usesCompositedScrolling): Returns true if compositedScrollingForFramesEnabled and the frame is in forced compositing mode (which is set when forced compositing mode and compositing for scrollable frames are enabled), so that ScrollingCoordinator won't include the region of the frame in the nonFastScrollableRegion.
(WebCore):
* page/FrameView.h:
(FrameView):
* page/Settings.in: Add compositedScrollingForFramesEnabled setting.
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated): Changed the comment about which ScrollableAreas are non-fast-scrollable.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidScroll): Let ScrollongCoordinator know when the scrolling changes for a frame with composited scrolling enabled.

LayoutTests:

Test case to ensure iframes are not added into nonFastScrollableRegion when acceleratedCompositingForScrollableFramesEnabled and compositedScrollingForFramesEnabled.

* compositing/iframes/iframe-composited-scrolling-expected.txt: Added.
* compositing/iframes/iframe-composited-scrolling.html: Added.

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

8 years agoRemove PLATFORM(WIN) #ifdefs
andersca@apple.com [Tue, 8 Jan 2013 01:45:07 +0000 (01:45 +0000)]
Remove PLATFORM(WIN) #ifdefs
https://bugs.webkit.org/show_bug.cgi?id=106279

Reviewed by Sam Weinig.

* Platform/CoreIPC/BinarySemaphore.cpp:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::waitForSyncReply):
* Platform/CoreIPC/Connection.h:
(Client):
* Platform/Module.cpp:
(WebKit::Module::Module):
* Platform/Module.h:
(Module):
* Platform/PlatformProcessIdentifier.h:
(WebKit):
* Shared/CommandLine.h:
(CommandLine):
* Shared/FontSmoothingLevel.h:
* Shared/LayerTreeContext.h:
(LayerTreeContext):
* Shared/NativeWebKeyboardEvent.h:
(NativeWebKeyboardEvent):
* Shared/NativeWebMouseEvent.h:
(NativeWebMouseEvent):
* Shared/NativeWebWheelEvent.h:
(NativeWebWheelEvent):
* Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):
* Shared/PlatformPopupMenuData.h:
(PlatformPopupMenuData):
* Shared/Plugins/PluginModuleInfo.h:
(PluginModuleInfo):
(WebKit::PluginModuleInfo::isolatedCopy):
* Shared/ShareableBitmap.h:
(ShareableBitmap):
* Shared/WebCoreArgumentCoders.h:
* Shared/WebEvent.h:
(WebMouseEvent):
* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
* Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode):
(WebKit::WebMouseEvent::decode):
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
* Shared/WebPreferencesStore.h:
(WebKit):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
* Shared/WebURLRequest.h:
* Shared/WebURLResponse.h:
* Shared/cg/ShareableBitmapCG.cpp:
(WebKit::ShareableBitmap::makeCGImageCopy):
* UIProcess/API/C/WKAPICast.h:
(WebKit::toFontSmoothingLevel):
(WebKit::toAPI):
* UIProcess/API/C/WKPage.cpp:
* UIProcess/BackingStore.h:
(BackingStore):
* UIProcess/PageClient.h:
(WebKit):
(PageClient):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebFullScreenManagerProxy.h:
(WebKit):
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::WebInspectorProxy):
* UIProcess/WebInspectorProxy.h:
(WebInspectorProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performDragControllerAction):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::creationParameters):
(WebKit):
* UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* WebKit2Prefix.h:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameCopyWebArchiveFilteringSubframes):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
* WebProcess/InjectedBundle/InjectedBundle.h:
(WebKit):
(InjectedBundle):
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_GetValue):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
(NetscapePlugin):
* WebProcess/Plugins/PluginController.h:
(PluginController):
* WebProcess/Plugins/PluginView.cpp:
* WebProcess/Plugins/PluginView.h:
(PluginView):
* WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
(WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection):
(WebKit):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebProcess/WebCoreSupport/WebDragClient.cpp:
(WebKit):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::respondToChangedSelection):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebCoreSupport/WebPopupMenu.cpp:
(WebKit::WebPopupMenu::updateFromElement):
* WebProcess/WebKitMain.cpp:
* WebProcess/WebPage/DrawingArea.h:
(WebKit):
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::createGraphicsContext):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::create):
* WebProcess/WebPage/LayerTreeHost.h:
(WebCore):
(WebKit):
(LayerTreeHost):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit):
* WebProcess/WebPage/WebFrame.h:
(WebFrame):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::installPageOverlay):
(WebKit::WebPage::uninstallPageOverlay):
(WebKit::WebPage::getWebArchiveOfFrame):
(WebKit):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::ensurePrivateBrowsingSession):
(WebKit::WebProcess::destroyPrivateBrowsingSession):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/WebProcess.messages.in:
* config.h:

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

8 years agoDivide gesture scroll delta by scale factor
aelias@chromium.org [Tue, 8 Jan 2013 01:39:04 +0000 (01:39 +0000)]
Divide gesture scroll delta by scale factor
https://bugs.webkit.org/show_bug.cgi?id=106263

Reviewed by Adam Barth.

Gesture scroll deltas were not being adjusted by the frame's scale
factors, resulting in overly fast main-thread scrolling when zoomed
in.

New test: fast/events/touch/gesture/touch-gesture-scroll-div-scaled.html

* page/EventHandler.cpp:
(WebCore::EventHandler::handleGestureScrollCore):

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

8 years agoRationalize closure call heuristics and profiling
fpizlo@apple.com [Tue, 8 Jan 2013 01:23:38 +0000 (01:23 +0000)]
Rationalize closure call heuristics and profiling
https://bugs.webkit.org/show_bug.cgi?id=106270

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

Did a number of things:

- CallLinkInfo now remembers if it was ever a closure call, and CallLinkStatus uses
  this. Reduces the likelihood that we will inline a closure call as if it was a
  normal call.

- Made InlineCallFrame print inferred function names, and refactored
  CodeBlock::inferredName() to better use FunctionExecutable's API.

- Made bytecode dumping print frequent exit sites that led to recompilation.

- Made bytecode dumping for op_call and op_construct print what the CallLinkStatus
  saw.

* bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::CallLinkInfo):
(CallLinkInfo):
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFor):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::inferredName):
(JSC::CodeBlock::dumpBytecodeCommentAndNewLine):
(JSC::CodeBlock::printCallOp):
* bytecode/CodeOrigin.cpp:
(JSC::CodeOrigin::dump):
(JSC::InlineCallFrame::inferredName):
(JSC):
(JSC::InlineCallFrame::dumpBriefFunctionInformation):
(JSC::InlineCallFrame::dump):
* bytecode/CodeOrigin.h:
(InlineCallFrame):
* bytecode/DFGExitProfile.cpp:
(JSC::DFG::ExitProfile::exitSitesFor):
(DFG):
* bytecode/DFGExitProfile.h:
(ExitProfile):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):

Source/WTF:

Reviewed by Oliver Hunt.

Add a macro to add a method to a class that returns a dumper. Allows you to have
secondary dump() methods for dumping either more or less information.

* wtf/PrintStream.h:
(WTF):

Tools:

Reviewed by Oliver Hunt.

Add ability to use display-profiler-output via a pipe, and add the ability to dump
all generated code ('display *' or 'd *').

* Scripts/display-profiler-output:

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

8 years agoHTMLTreeBuilder should not depend on Frame
abarth@webkit.org [Tue, 8 Jan 2013 01:21:43 +0000 (01:21 +0000)]
HTMLTreeBuilder should not depend on Frame
https://bugs.webkit.org/show_bug.cgi?id=106256

Reviewed by Eric Seidel.

Source/WebCore:

Rather than have the tree builder ask the Frame whether scripting and
plugins are enabled, we now push that information to the tree builder
via HTMLParserOptions, letting us remove the Frame dependency from the
tree builder.

As a consequence of this change, the "script enabled" bit in the parser
is now locked in when the parser starts. This bit doesn't actually
control when script execute, only how the <noscript> element is parsed.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::tokenizerStateForContextElement):
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
* html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
(WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
* html/parser/HTMLParserOptions.cpp:
(WebCore::HTMLParserOptions::HTMLParserOptions):
* html/parser/HTMLParserOptions.h:
(HTMLParserOptions):
(WebCore::HTMLParserOptions::HTMLParserOptions):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
(WebCore::HTMLPreloadScanner::processToken):
* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::HTMLTokenizer::nextToken):
(WebCore::HTMLTokenizer::updateStateFor):
* html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::create):
(HTMLTokenizer):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
* html/parser/HTMLTreeBuilder.h:
* html/parser/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
(WebCore::HTMLViewSourceParser::updateTokenizerState):

LayoutTests:

I needed to update this test slightly because now we lock in the
"script enabled" bit for the parser when the parser starts. That means
we'll parse the document in a consistent way even if the "script
enabled" bit gets flipped later.

* fast/parser/noscript-with-javascript-disabled-expected.txt:
* fast/parser/noscript-with-javascript-disabled.html:

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

8 years ago [WK2] Delete more obsolete Keychain code
ap@apple.com [Tue, 8 Jan 2013 01:19:30 +0000 (01:19 +0000)]
    [WK2] Delete more obsolete Keychain code
        https://bugs.webkit.org/show_bug.cgi?id=106276

        Reviewed by Sam Weinig.

        Deleting dead code.

        * Shared/mac/KeychainAttribute.cpp: Removed.
        * Shared/mac/KeychainAttribute.h: Removed.
        * WebKit2.xcodeproj/project.pbxproj:

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

8 years ago [WK2] Merge SecItemShimMethods files into SecItemShim
ap@apple.com [Tue, 8 Jan 2013 01:17:44 +0000 (01:17 +0000)]
    [WK2] Merge SecItemShimMethods files into SecItemShim
        https://bugs.webkit.org/show_bug.cgi?id=106278

        Reviewed by Anders Carlsson.

        Now that we have a SecItemShim class, there is no reason to split implementation
        into a separate file.

        * Shared/mac/SecItemShim.cpp:
        (WebKit::responseMap):
        (WebKit::generateSecItemRequestID):
        (WebKit::sendSecItemRequest):
        (WebKit::webSecItemCopyMatching):
        (WebKit::webSecItemAdd):
        (WebKit::webSecItemUpdate):
        (WebKit::webSecItemDelete):
        (WebKit::SecItemShim::secItemResponse):
        (WebKit::SecItemShim::install):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/mac/SecItemShimMethods.h: Removed.
        * WebProcess/mac/SecItemShimMethods.mm: Removed.

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

8 years agoDon't use double tap zoom if minimum and maximum page scale is the same
commit-queue@webkit.org [Tue, 8 Jan 2013 01:08:12 +0000 (01:08 +0000)]
Don't use double tap zoom if minimum and maximum page scale is the same
https://bugs.webkit.org/show_bug.cgi?id=106272

Patch by Yusuf Ozuysal <yusufo@google.com> on 2013-01-07
Reviewed by James Robinson.

We should only try to computed relevant scale and scrollOffset and start the animation
if the page is zoomable. This now creates an undesired animation for mobile pages which
are not zoomable.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):

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

8 years agoRemove more internals.settings that are autogenerated
tony@chromium.org [Tue, 8 Jan 2013 01:00:44 +0000 (01:00 +0000)]
Remove more internals.settings that are autogenerated
https://bugs.webkit.org/show_bug.cgi?id=106253

Reviewed by Adam Barth.

Source/WebCore:

Remove 8 methods that are autogenerated by Settings.in.

No new tests, this is a refactor and is convered by existing tests.

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup): Remove backup.
(WebCore::InternalSettings::Backup::restoreTo): Remove restore.
* testing/InternalSettings.h:
(Backup): Remove member variables and functions.
(InternalSettings):
* testing/InternalSettings.idl: Remove functions.

LayoutTests:

These tests were manually trying to reset setMediaPlaybackRequiresUserGesture
when the test ended because they weren't using the InternalSettings::Backup to
save/restore the prefs. The autogenerated code will properly reset these prefs
before the next test.

* media/no-autoplay-with-user-gesture-requirement.html:
* media/video-load-require-user-gesture.html:
* media/video-play-require-user-gesture.html:

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

8 years agoAnother incremental build fix after r139013.
rniwa@webkit.org [Tue, 8 Jan 2013 00:59:08 +0000 (00:59 +0000)]
Another incremental build fix after r139013.

* mathml/MathMLAllInOne.cpp:

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

8 years agoIncremental build system on Windows port does not necessarily rebuild RenderBox.cpp...
rniwa@webkit.org [Tue, 8 Jan 2013 00:52:38 +0000 (00:52 +0000)]
Incremental build system on Windows port does not necessarily rebuild RenderBox.cpp after r139013.

* rendering/RenderingAllInOne.cpp:

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

8 years agoREGRESSION(SUBPIXEL_LAYOUT): el.offsetWidth < el.clientWidth for elements of a certai...
eae@chromium.org [Tue, 8 Jan 2013 00:39:06 +0000 (00:39 +0000)]
REGRESSION(SUBPIXEL_LAYOUT): el.offsetWidth < el.clientWidth for elements of a certain size
https://bugs.webkit.org/show_bug.cgi?id=106107

Source/WebCore:

Reviewed by Levi Weintraub.

Add overloaded pixelSnappedOffsetWidth|Height methods to
RenderBox that do pixel snapping with the same offset
as clientWidth/height to ensure consistent rounding.

Test: fast/sub-pixel/client-and-offset-width.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::pixelSnappedOffsetWidth):
(WebCore::RenderBox::pixelSnappedOffsetHeight):
Snap using the same offset as the clientWidth/height versions.

* rendering/RenderBox.h:
Remove out of date FIXME and add OVERRIDE keyword.

* rendering/RenderBoxModelObject.h:
Mark pixelSnappedOffsetWidth|Height as virtual.

LayoutTests:

Reviewed by Levi Weintraub.

Add test for clientWidth/offsetWidth rounding.

* fast/sub-pixel/client-and-offset-width-expected.txt: Added.
* fast/sub-pixel/client-and-offset-width.html: Added.

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

8 years agoSource/JavaScriptCore: Sorted the xcodeproj file.
rniwa@webkit.org [Tue, 8 Jan 2013 00:38:54 +0000 (00:38 +0000)]
Source/JavaScriptCore: Sorted the xcodeproj file.

* JavaScriptCore.xcodeproj/project.pbxproj:

Tools: Sorted more xcodeproj files.

* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:

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

8 years agoUnreviewed. Rolled DEPS.
tony@chromium.org [Tue, 8 Jan 2013 00:38:21 +0000 (00:38 +0000)]
Unreviewed.  Rolled DEPS.

* DEPS:

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

8 years agoSource/WebKit: Sorted the xcodeproj file.
rniwa@webkit.org [Tue, 8 Jan 2013 00:30:20 +0000 (00:30 +0000)]
Source/WebKit: Sorted the xcodeproj file.

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit2: Sorted the xcodeproj file.

* WebKit2.xcodeproj/project.pbxproj:

Source/WTF: Sorted the xcodeproj file.

* WTF.xcodeproj/project.pbxproj:

Tools: Sorted xcodeprojs files.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

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

8 years ago [WK2] Make SecItemShim messages work with any process
ap@apple.com [Tue, 8 Jan 2013 00:20:54 +0000 (00:20 +0000)]
    [WK2] Make SecItemShim messages work with any process
        https://bugs.webkit.org/show_bug.cgi?id=106269

        Reviewed by Sam Weinig.

        Add SecItemShim and SecItemShimProxy classes to manage message sending, and moved
        relevant code from WebProcess(Proxy).

        * DerivedSources.make:
        * Platform/CoreIPC/MessageID.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::didFinishLaunching):
        * UIProcess/WebProcessProxy.h:
        (WebProcessProxy):
        * UIProcess/WebProcessProxy.messages.in:
        * Shared/mac/SecItemShim.cpp: Added.
        (WebKit::SecItemShim::shared):
        (WebKit::SecItemShim::SecItemShim):
        (WebKit::SecItemShim::secItemResponse):
        (WebKit::SecItemShim::install):
        (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
        * Shared/mac/SecItemShim.h: Added.
        * Shared/mac/SecItemShim.messages.in: Added.
        * UIProcess/mac/SecItemShimProxy.cpp: Added.
        (WebKit::SecItemShimProxy::shared):
        (WebKit::SecItemShimProxy::SecItemShimProxy):
        (WebKit::handleSecItemRequest):
        (WebKit::dispatchFunctionOnQueue):
        (WebKit::SecItemShimProxy::secItemRequest):
        (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
        * UIProcess/mac/SecItemShimProxy.h: Added.
        * UIProcess/mac/SecItemShimProxy.messages.in: Added.
        * UIProcess/mac/WebProcessProxyMac.mm:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeConnection):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:
        * WebProcess/mac/SecItemShimMethods.mm:
        (WebKit::sendSeqItemRequest):
        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformInitializeProcess):

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

8 years agoIntroduce HTMLParserOptions to encapsulate HTML parser options
abarth@webkit.org [Tue, 8 Jan 2013 00:20:20 +0000 (00:20 +0000)]
Introduce HTMLParserOptions to encapsulate HTML parser options
https://bugs.webkit.org/show_bug.cgi?id=106251

Reviewed by Eric Seidel.

Currently, the HTMLTreeBuilder (and potentially other parts of the
parser) use their Document* to read configuration information from the
Document (such as Settings). This patch introduces the
HTMLParserOptions class to encapsulate that information, making it
easier to move the HTML parser to a background thread (because the
HTMLTreeBuilder won't need to talk to the Document directly).

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
* html/parser/HTMLPreloadScanner.h:
(WebCore):
(HTMLPreloadScanner):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
* html/parser/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::create):
(HTMLTreeBuilder):
* html/parser/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::HTMLViewSourceParser):

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

8 years agoAdd Mac Lion result after r138986.
rniwa@webkit.org [Mon, 7 Jan 2013 23:59:33 +0000 (23:59 +0000)]
Add Mac Lion result after r138986.

* platform/mac-lion/platform/mac/fast/text/vertical-no-sideways-expected.txt: Added.

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

8 years agoMinor improvements to HTMLMediaElement
joepeck@webkit.org [Mon, 7 Jan 2013 23:57:33 +0000 (23:57 +0000)]
Minor improvements to HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=105353

Reviewed by Eric Carlson.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canPlayType):
(WebCore::createFileURLForApplicationCacheResource):
(WebCore::stringForNetworkState):
(WebCore::HTMLMediaElement::preload):
(WebCore::HTMLMediaElement::getPluginProxyParams):
Use ASCIILiteral for literal strings becoming WTFStrings.

(WebCore::HTMLMediaElement::setLoop):
By going through setAttribute, parseAttribute would already take care of
updating the disable sleep, so the call here is not needed.

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

8 years agoString improvements in geolocation and notifications modules
joepeck@webkit.org [Mon, 7 Jan 2013 23:57:30 +0000 (23:57 +0000)]
String improvements in geolocation and notifications modules
https://bugs.webkit.org/show_bug.cgi?id=105352

Reviewed by Sam Weinig.

* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::GeoNotifier::timerFired):
(WebCore::Geolocation::startRequest):
(WebCore::Geolocation::requestUsesCachedPosition):
(WebCore::Geolocation::makeCachedPositionCallbacks):
(WebCore::Geolocation::setIsAllowed):
(WebCore::Geolocation::cancelRequests):
(WebCore::Geolocation::handlePendingPermissionNotifiers):
* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::positionChanged):
* Modules/notifications/WorkerContextNotifications.cpp:
Use ASCIILiteral for constant strings becoming WTFStrings.

(WebCore::WorkerContextNotifications::from):
Use AtomicString::ConstructFromLiteral for the static local.

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

8 years agoUnreviewed, it should be possible to build JSC on ARM.
fpizlo@apple.com [Mon, 7 Jan 2013 23:49:29 +0000 (23:49 +0000)]
Unreviewed, it should be possible to build JSC on ARM.

Source/JavaScriptCore:

* API/JSBase.h:
* jit/JITStubs.cpp:
(JSC::performPlatformSpecificJITAssertions):
(JSC):
* jit/JITStubs.h:
(JSC):
* jit/JITThunks.cpp:
(JSC::JITThunks::JITThunks):
* jit/JITThunks.h:
(JITThunks):
* offlineasm/armv7.rb:
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):

Source/WTF:

* wtf/FastMalloc.cpp:
(WTF::TCMalloc_PageHeap::IncrementalScavenge):

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

8 years agoRemove Windows files from WebKit2
andersca@apple.com [Mon, 7 Jan 2013 23:35:40 +0000 (23:35 +0000)]
Remove Windows files from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=106264

Reviewed by Sam Weinig.

* Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
* Platform/CoreIPC/win/ConnectionWin.cpp: Removed.
* Platform/win/ModuleWin.cpp: Removed.
* Platform/win/SharedMemoryWin.cpp: Removed.
* Platform/win/WorkQueueWin.cpp: Removed.
* Shared/API/c/win/WKBaseWin.h: Removed.
* Shared/API/c/win/WKCertificateInfoWin.cpp: Removed.
* Shared/API/c/win/WKCertificateInfoWin.h: Removed.
* Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed.
* Shared/cg/win/ShareableBitmapCGWin.cpp: Removed.
* Shared/win/CoalescedWindowGeometriesUpdater.cpp: Removed.
* Shared/win/CoalescedWindowGeometriesUpdater.h: Removed.
* Shared/win/CommandLineWin.cpp: Removed.
* Shared/win/LayerTreeContextWin.cpp: Removed.
* Shared/win/NativeWebKeyboardEventWin.cpp: Removed.
* Shared/win/NativeWebMouseEventWin.cpp: Removed.
* Shared/win/NativeWebWheelEventWin.cpp: Removed.
* Shared/win/PlatformCertificateInfo.cpp: Removed.
* Shared/win/PlatformCertificateInfo.h: Removed.
* Shared/win/ShareableBitmapWin.cpp: Removed.
* Shared/win/WebCoreArgumentCodersWin.cpp: Removed.
* Shared/win/WebEventFactory.cpp: Removed.
* Shared/win/WebEventFactory.h: Removed.
* Shared/win/WebKitBundle.cpp: Removed.
* Shared/win/WebKitBundle.h: Removed.
* Shared/win/WebURLRequestWin.cpp: Removed.
* Shared/win/WebURLResponseWin.cpp: Removed.
* Shared/win/WindowGeometry.cpp: Removed.
* Shared/win/WindowGeometry.h: Removed.
* UIProcess/API/C/win/WKAPICastWin.h: Removed.
* UIProcess/API/C/win/WKContextPrivateWin.h: Removed.
* UIProcess/API/C/win/WKContextWin.cpp: Removed.
* UIProcess/API/C/win/WKView.cpp: Removed.
* UIProcess/API/C/win/WKView.h: Removed.
* UIProcess/API/C/win/WKViewPrivate.cpp: Removed.
* UIProcess/API/C/win/WKViewPrivate.h: Removed.
* UIProcess/Launcher/win/ProcessLauncherWin.cpp: Removed.
* UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Removed.
* UIProcess/win/BackingStoreWin.cpp: Removed.
* UIProcess/win/TextCheckerWin.cpp: Removed.
* UIProcess/win/WebContextMenuProxyWin.cpp: Removed.
* UIProcess/win/WebContextMenuProxyWin.h: Removed.
* UIProcess/win/WebContextWin.cpp: Removed.
* UIProcess/win/WebFullScreenManagerProxyWin.cpp: Removed.
* UIProcess/win/WebInspectorProxyWin.cpp: Removed.
* UIProcess/win/WebPageProxyWin.cpp: Removed.
* UIProcess/win/WebPopupMenuProxyWin.cpp: Removed.
* UIProcess/win/WebPopupMenuProxyWin.h: Removed.
* UIProcess/win/WebProcessProxyWin.cpp: Removed.
* UIProcess/win/WebUndoClient.cpp: Removed.
* UIProcess/win/WebUndoClient.h: Removed.
* UIProcess/win/WebView.cpp: Removed.
* UIProcess/win/WebView.h: Removed.
* WebProcess/Downloads/cf/win/DownloadCFWin.cpp: Removed.
* WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp: Removed.
* WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Removed.
* WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Removed.
* WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebDragSource.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebDragSource.h: Removed.
* WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Removed.
* WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Removed.
* WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: Removed.
* WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Removed.
* WebProcess/WebPage/ca/win/WKCACFViewWindow.cpp: Removed.
* WebProcess/WebPage/ca/win/WKCACFViewWindow.h: Removed.
* WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Removed.
* WebProcess/WebPage/win/LayerTreeHostWin.cpp: Removed.
* WebProcess/WebPage/win/WebInspectorWin.cpp: Removed.
* WebProcess/WebPage/win/WebPageWin.cpp: Removed.
* WebProcess/win/WebProcessMainWin.cpp: Removed.
* WebProcess/win/WebProcessWin.cpp: Removed.

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

8 years agoAX: the text of render counters are not exposed to Accessibility
cfleizach@apple.com [Mon, 7 Jan 2013 23:32:39 +0000 (23:32 +0000)]
AX: the text of render counters are not exposed to Accessibility
https://bugs.webkit.org/show_bug.cgi?id=103794

Reviewed by Ryosuke Niwa.

Source/WebCore:

Support RenderText objects that don't have nodes (like RenderCounter).

Test: accessibility/render-counter-text.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):

LayoutTests:

* accessibility/render-counter-text-expected.txt: Added.
* accessibility/render-counter-text.html: Added.

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

8 years ago[qt] Fix ENABLE_IFRAME_SEAMLESS=0 builds.
mkwst@chromium.org [Mon, 7 Jan 2013 23:29:12 +0000 (23:29 +0000)]
[qt] Fix ENABLE_IFRAME_SEAMLESS=0 builds.
https://bugs.webkit.org/show_bug.cgi?id=106252

Reviewed by Eric Seidel.

Wrap the call to setSeamlessIFramesEnabled in an ifdef in order
to ensure that it's only called when IFRAME_SEAMLESS is enabled.

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::setSeamlessIFramesEnabled):

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

8 years ago[mac] WebKit1 clients can’t tell when a frame has been removed from the hierarchy
mitz@apple.com [Mon, 7 Jan 2013 23:26:41 +0000 (23:26 +0000)]
[mac] WebKit1 clients can’t tell when a frame has been removed from the hierarchy
https://bugs.webkit.org/show_bug.cgi?id=106261

Reviewed by Simon Fraser.

Source/WebKit/mac:

Test: TestWebKitAPI/Tests/mac/WebViewDidRemoveFrameFromHierarchy.mm.

Added -[WebFrameLoadDelegate webView:didRemoveFrameFromHierarchy:].

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::detachedFromParent2): Added a call to the new frame load delegate
method.
* WebView/WebDelegateImplementationCaching.h:
(WebFrameLoadDelegateImplementationCache): Added the new method to the cache.
* WebView/WebFrameLoadDelegatePrivate.h: Declared the new delegate method.
* WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]): Added the new method to the cache.

Tools:

Added a test for -[WebFrameLoadDelegate webView:didRemoveFrameFromHierarchy:].

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/WebViewDidRemoveFrameFromHierarchy.mm: Added.
(-[DidRemoveFrameFromHierarchyFrameLoadDelegate webView:didFinishLoadForFrame:]):
(-[DidRemoveFrameFromHierarchyFrameLoadDelegate webView:didRemoveFrameFromHierarchy:]):
(TestWebKitAPI):
(TestWebKitAPI::TEST):

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

8 years agoTiled-layer TileCaches shouldn't unparent offscreen tiles
timothy_horton@apple.com [Mon, 7 Jan 2013 23:17:36 +0000 (23:17 +0000)]
Tiled-layer TileCaches shouldn't unparent offscreen tiles
https://bugs.webkit.org/show_bug.cgi?id=106258
<rdar://problem/12969116>

Reviewed by Simon Fraser.

Add a setting on TiledBacking (implemented on TileCache) that controls whether or not
the TileCache should unparent offscreen tiles. We can't use this behavior for tiled-layer TileCaches
currently because m_isInWindow is not updated for tiled-layer TileCaches, and because we haven't
decided exactly what their behavior should be. So, revert to the old behavior for them.

* platform/graphics/TiledBacking.h:
* platform/graphics/ca/mac/TileCache.h:
(TileCache): Add setUnparentsOffscreenTiles/unparentsOffscreenTiles.
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::TileCache): m_unparentsOffscreenTiles defaults to false.
(WebCore::TileCache::revalidateTiles):
Return to the old behavior of always adding new layers to the layer tree regardless of m_isInWindow if m_unparentsOffscreenTiles is false.
Return to the old behavior of never unparenting tiles regardless of m_isInWindow if m_unparentsOffscreenTiles is false.
(WebCore::TileCache::ensureTilesForRect): Return to the old behavior of always ensuring tiles regardless of m_isInWindow if m_unparentsOffscreen$
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking): Tell primary TileCaches that it's OK to unparent offscreen tiles.

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

8 years agoA couple more rebaselines for http://trac.webkit.org/changeset/138838.
ojan@chromium.org [Mon, 7 Jan 2013 23:04:52 +0000 (23:04 +0000)]
A couple more rebaselines for trac.webkit.org/changeset/138838.
* platform/mac/fast/table/038-vertical-expected.txt:
* platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:

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

8 years agoAdd the Apple MountainLion bots to garden-o-matic.
ojan@chromium.org [Mon, 7 Jan 2013 22:59:46 +0000 (22:59 +0000)]
Add the Apple MountainLion bots to garden-o-matic.
Eventually, we really should move away from hardcoding
the list of bots.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:

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

8 years agoFixing memory read after free in CanvasRenderingContext2D::accessFont
junov@google.com [Mon, 7 Jan 2013 22:56:02 +0000 (22:56 +0000)]
Fixing memory read after free in CanvasRenderingContext2D::accessFont
https://bugs.webkit.org/show_bug.cgi?id=106244

Reviewed by Abhishek Arya.

Source/WebCore:

Using a temporary String object to hold ref count on string that is
passed by reference in CanvasRenderingContext2D::accessFont.

Test: fast/canvas/canvas-measureText.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::accessFont):

LayoutTests:

New test case to verify stability of 2D canvas method measureText.
Test case was causing a DumpRenderTree crash on builds with
AddressSantitizer instrumentation.

* fast/canvas/canvas-measureText-expected.txt: Added.
* fast/canvas/canvas-measureText.html: Added.

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

8 years ago[chromium] move web audio related methods to testrunner library
jochen@chromium.org [Mon, 7 Jan 2013 22:52:17 +0000 (22:52 +0000)]
[chromium] move web audio related methods to testrunner library
https://bugs.webkit.org/show_bug.cgi?id=106211

Reviewed by Adam Barth.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebKit):
(WebTestRunner::WebTestRunner::shouldDumpAsAudio):
(WebTestRunner::WebTestRunner::audioData):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::shouldDumpAsAudio):
(WebTestRunner):
(WebTestRunner::TestRunner::audioData):
(WebTestRunner::TestRunner::setAudioData):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::dump):

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

8 years agoDOMEvents.h should include DOMProgressEvent.h
andersca@apple.com [Mon, 7 Jan 2013 22:24:54 +0000 (22:24 +0000)]
DOMEvents.h should include DOMProgressEvent.h
https://bugs.webkit.org/show_bug.cgi?id=106250

Reviewed by Sam Weinig.

DOMProgressEvent.h is already installed as a public header, so it should also be included by DOMEvents.h.

* bindings/objc/DOMEvents.h:

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