WebKit-https.git
8 years ago2012-06-14 Jon Honeycutt <jhoneycutt@apple.com>
jhoneycutt@apple.com [Thu, 14 Jun 2012 18:02:05 +0000 (18:02 +0000)]
2012-06-14  Jon Honeycutt  <jhoneycutt@apple.com>

        Fix some failing tests on Windows by resetting the page scale factor
        between tests.
        https://bugs.webkit.org/show_bug.cgi?id=89078

        Reviewed by Dirk Pranke.

        WebCore:
        * testing/Internals.cpp:
        (WebCore::Internals::reset):
        Set the scale factor to 1.0.

        LayoutTests:
        Unskip some now-passing tests.
        https://bugs.webkit.org/show_bug.cgi?id=89078

        * platform/win/Skipped:

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

8 years agoRegister fixed position layers with ScrollingCoordinator
commit-queue@webkit.org [Thu, 14 Jun 2012 17:45:05 +0000 (17:45 +0000)]
Register fixed position layers with ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=78864

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-06-14
Reviewed by James Robinson.

This patch makes ScrollingCoordinator aware of page elements that are
either fixed positioned directly or through their ancestors and that
also have their own composited backing layers. This allows the
ScrollingCoordinator implementation to potentially enable fast
scrolling even if there are fixed elements on the page, because the
compositor can automatically reposition the fixed element layers after
scrolling.

Since fixed position layers need to be explicitly supported by the
ScrollingCoordinator implementation, we add a new
supportsFixedPositionLayers() query for checking this.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::useSlowRepaints):
(WebCore::FrameView::addFixedObject):
(WebCore::FrameView::removeFixedObject):
* page/FrameView.h:
(FrameView):
(WebCore::FrameView::fixedObjects):
(WebCore::FrameView::hasFixedObjects):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
(WebCore::ScrollingCoordinator::hasNonLayerFixedObjects):
(WebCore):
(WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPosition):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
* page/scrolling/ScrollingCoordinator.h:
(ScrollingCoordinator):
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPosition):
(WebCore):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::willBeDestroyed):
(WebCore::RenderBox::styleWillChange):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore):
(WebCore::RenderLayerCompositor::fixedPositionedByAncestor):
(WebCore::RenderLayerCompositor::ensureRootLayer):
* rendering/RenderLayerCompositor.h:

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

8 years ago [CFNetwork] XMLHttpRequest incorrectly returns cached responses even when...
ap@apple.com [Thu, 14 Jun 2012 17:42:18 +0000 (17:42 +0000)]
    [CFNetwork] XMLHttpRequest incorrectly returns cached responses even when there is a Vary header field
        https://bugs.webkit.org/show_bug.cgi?id=88925

        Reviewed by David Kilzer.

        Test: http/tests/cache/xhr-vary-header.html

        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willCacheResponse): Don't
        cache the response at all if there is a Vary header field. CFNetwork won't look at
        it if we allowed the response cached.

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::createNSURLConnection): [NSURLResponse copy] is mutable
        in practice, but we should be nice, and use -mutableCopy.
        (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Same fix as in
        CFNet code.

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

8 years agoWeb Inspector: use CSS gradients instead of images for timeline bars, checkboxes...
caseq@chromium.org [Thu, 14 Jun 2012 17:06:45 +0000 (17:06 +0000)]
Web Inspector: use CSS gradients instead of images for timeline bars, checkboxes & bullets
https://bugs.webkit.org/show_bug.cgi?id=89024

Reviewed by Pavel Feldman.

This brings a bunch of UI changes to the way Timeline bars and related controls are rendered:

- introduce new color palette for categories;
- replace images used to render timeline bars, list bullets and categories checkboxes with CSS gradients;
- "flatten" timeline bars
- make square list bullets, sharpen corners for lower pane bars;
- make links on the list sidebar grey
- add more space between categories checkboxes, make labels lighter.

* WebCore.gypi: Remove old images, add tickMark.png.
* inspector/front-end/Images/timelineBarBlue.png: Removed.
* inspector/front-end/Images/timelineBarDarkGreen.png: Removed.
* inspector/front-end/Images/timelineBarGray.png: Removed.
* inspector/front-end/Images/timelineBarGreen.png: Removed.
* inspector/front-end/Images/timelineBarLightPurple.png: Removed.
* inspector/front-end/Images/timelineBarOrange.png: Removed.
* inspector/front-end/Images/timelineBarPurple.png: Removed.
* inspector/front-end/Images/timelineBarRed.png: Removed.
* inspector/front-end/Images/timelineBarYellow.png: Removed.
* inspector/front-end/Images/timelineCheckmarks.png: Removed.
* inspector/front-end/Images/timelineDots.png: Removed.
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.wasShown):
(WebInspector.TimelinePanel.prototype._closeRecordDetails): Fixed trailing spaces;
(WebInspector.TimelinePanel.prototype._injectCategoryStyles): Inject generated styles for categories, if necessary.
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.categories):
(WebInspector.TimelinePresentationModel.createFillStyle):
(WebInspector.TimelinePresentationModel.createStyleRuleForCategory):
* inspector/front-end/WebKit.qrc: Remove old images, add tickMark.png
* inspector/front-end/inspector.css:
(.sidebar-tree-section):
* inspector/front-end/timelinePanel.css:
(#timeline-container .webkit-html-resource-link):
(.timeline-category-statusbar-item):
(.timeline-category-statusbar-item .timeline-category-checkbox):
(.timeline-category-statusbar-item .timeline-category-checkbox:checked::before):
(.timeline-tree-item):
(.timeline-tree-item .timeline-tree-icon):
(.timeline-graph-bar):
(.timeline-graph-bar.with-children):
(.timeline-graph-bar.cpu):
(.timeline-aggregated-category):
* inspector/front-end/utilities.js:
(Object.values): Return an array of object field's values.

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

8 years agoChange mute button and volume slider behaviour for new Chromium video controls.
commit-queue@webkit.org [Thu, 14 Jun 2012 17:00:38 +0000 (17:00 +0000)]
Change mute button and volume slider behaviour for new Chromium video controls.
https://bugs.webkit.org/show_bug.cgi?id=88743

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-14
Reviewed by Eric Carlson.

No new tests, final patch will contain the rebaselined tests.

The Chrome video controls are receiving a visual update. This patch makes the mute button and
the volume slider interact with each other. When the user mutes the video through clicking the
mute button, the volume slider animates to 0% volume. Upon unmute, the previous volume level
is restored. Further, when the user drags the volume slider thumb or clicks on the slider and
the video is muted, the video unmutes and sets the volume to the user's chosen level.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
Add a member field to the volume slider to allow user interaction to unmute the video.
(WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
Add the logic to unmute the video if the m_clearMutedOnUserInteraction member field is true.
(WebCore::MediaControlVolumeSliderElement::setClearMutedOnUserInteraction):
Add a member function to change the value of the m_clearMutedOnUserInteraction member field.
* html/shadow/MediaControlElements.h:
(MediaControlVolumeSliderElement):
Add the setClearMutedOnUserInteraction member function and the m_clearMutedOnUserInteraction member field.
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::create):
Activate unmute on user interaction on the Chromium video volume slider.
(WebCore::MediaControlRootElementChromium::changedMute):
Add logic to set volume slider to 0 when muted and reset to volume when unmuted.
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintMediaVolumeSlider):
Add logic to paint the volume slider active area as 0 when muted.

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

8 years agoWeb Inspector: Breakpoints should not be set when UISourceCode content is diverged...
vsevik@chromium.org [Thu, 14 Jun 2012 16:58:05 +0000 (16:58 +0000)]
Web Inspector: Breakpoints should not be set when UISourceCode content is diverged from VM version of the script.
https://bugs.webkit.org/show_bug.cgi?id=89109

Reviewed by Pavel Feldman.

* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
* inspector/front-end/JavaScriptSource.js:
(WebInspector.JavaScriptSource.prototype.isDivergedFromVM):
(WebInspector.JavaScriptSource.prototype.workingCopyCommitted):

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

8 years agoWeb Inspector: DebuggerModel should support setting breakpoints without script by...
vsevik@chromium.org [Thu, 14 Jun 2012 16:57:15 +0000 (16:57 +0000)]
Web Inspector: DebuggerModel should support setting breakpoints without script by sourceURL only.
https://bugs.webkit.org/show_bug.cgi?id=88988

Reviewed by Pavel Feldman.

This change allows setting all saved breakpoints in debugger model by url before the site
with corresponding scripts was loaded (allows breaking in onload handler on first load).
This change also simplifies implementation of snippets debugging.

* inspector/front-end/BreakpointManager.js:
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):

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

8 years ago[GTK] Update TestExpectations with tests crashing in 64bits Debug build
philn@webkit.org [Thu, 14 Jun 2012 16:53:38 +0000 (16:53 +0000)]
[GTK] Update TestExpectations with tests crashing in 64bits Debug build
https://bugs.webkit.org/show_bug.cgi?id=89105

Unreviewed gardening.

Mark svg/batik/text/textDecoration.svg and
svg/batik/text/textEffect3.svg as crashing in DEBUG.

Patch by Simon Pena <spena@igalia.com> on 2012-06-14

* platform/gtk/TestExpectations:

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

8 years ago[GTK] Update TestExpectations with non-passing tests
philn@webkit.org [Thu, 14 Jun 2012 16:53:04 +0000 (16:53 +0000)]
[GTK] Update TestExpectations with non-passing tests
https://bugs.webkit.org/show_bug.cgi?id=89100

Unreviewed gardening.

Mark plugins/plugin-initiate-popup-window.html as flaky and
svg/transforms/transformed-text-fill-pattern.html as failing.

Patch by Simon Pena <spena@igalia.com> on 2012-06-14

* platform/gtk/TestExpectations:

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

8 years agoUnreviewed. Update my email.
qi.2.zhang@nokia.com [Thu, 14 Jun 2012 16:49:39 +0000 (16:49 +0000)]
Unreviewed. Update my email.

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

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

8 years agoWeb Inspector: refactor settings screen to move user agent and experiments out of...
pfeldman@chromium.org [Thu, 14 Jun 2012 16:49:10 +0000 (16:49 +0000)]
Web Inspector: refactor settings screen to move user agent and experiments out of general tab.
https://bugs.webkit.org/show_bug.cgi?id=89101

Reviewed by Vsevolod Vlasov.

See image attached to the bug.

* English.lproj/localizedStrings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen.prototype.selectTab):
(WebInspector.SettingsScreen.prototype._tabSelected):
(WebInspector.SettingsScreen.prototype.set wasShown):
(WebInspector.SettingsScreen.prototype.willHide):
(WebInspector.SettingsTab):
(WebInspector.SettingsTab.prototype._appendSection):
(WebInspector.SettingsTab.prototype._createCustomSetting):
(WebInspector.GenericSettingsTab):
(WebInspector.GenericSettingsTab.prototype._showPaintRectsChanged):
(WebInspector.GenericSettingsTab.prototype.get _updateScriptDisabledCheckbox):
(WebInspector.GenericSettingsTab.prototype._javaScriptDisabledChanged):
(WebInspector.UserAgentSettingsTab):
(WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.get const):
(WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.textDoubleClicked):
(WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.textChanged):
(WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.set checkboxClicked):
(WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
(WebInspector.ExperimentsSettingsTab):
(WebInspector.ExperimentsSettingsTab.prototype._createExperimentsWarningSubsection):
(WebInspector.ExperimentsSettingsTab.prototype._createExperimentCheckbox.listener):
(WebInspector.ExperimentsSettingsTab.prototype._createExperimentCheckbox):
* inspector/front-end/ShortcutsScreen.js:
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane.prototype.get headerContentsElement):
* inspector/front-end/helpScreen.css:
(.settings-tab.help-container):
(.settings-tab .help-block):
(.help-content fieldset):
(#settings-screen .tabbed-pane-header-tabs):
(#settings-screen .tabbed-pane-header-tab):

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

8 years ago[Qt] New css3/flexbox/flexitem.html fails
tony@chromium.org [Thu, 14 Jun 2012 16:44:25 +0000 (16:44 +0000)]
[Qt] New css3/flexbox/flexitem.html fails
https://bugs.webkit.org/show_bug.cgi?id=88963

Reviewed by Hajime Morita.

* css3/flexbox/flexitem.html: The height of the alt text was taller
than the height of the missing image placeholder graphic on Qt. To
get the same results, force the font size to something small.
The test still fails on Qt so leaving it in the Skipped file for now.

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

8 years agoChinese IM receives incorrect/duplicated key events in text fields in webpages in...
kling@webkit.org [Thu, 14 Jun 2012 15:52:28 +0000 (15:52 +0000)]
Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari.
<http://webkit.org/b/89048>
<rdar://problem/11449702>

Reviewed by Darin Adler.

Send the DidReceiveEvent message with the DispatchMessageEvenWhenWaitingForSyncReply flag
for keyboard events. This ensures that it always arrives before the corresponding synchronous
InterpretQueuedKeyEvent message.

The problem was that we relied on DidReceiveEvent / InterpretQueuedKeyEvent always arriving in
the same order they were sent. This was not always true, since DidReceiveEvent (async) would
get deferred during an unrelated waitForSyncReply() whereas InterpretQueuedKeyEvent (sync)
gets dispatched right away.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::keyEvent):

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

8 years agoWorker tear-down can re-enter JSC during GC finalization pt. 2
mhahnenberg@apple.com [Thu, 14 Jun 2012 15:39:34 +0000 (15:39 +0000)]
Worker tear-down can re-enter JSC during GC finalization pt. 2
https://bugs.webkit.org/show_bug.cgi?id=88601

Reviewed by David Levin.

No new tests. Current regression tests are sufficient.

* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::workerObjectDestroyed): We clear the m_workerObject here because
we don't want anybody else trying to send messages to the Worker now that it has been destroyed.
We also queue the asynchronous task for the various other cleanup that still needs to be done.
This allows us to avoid the problem of re-entrant JS code execution during GC.
(WebCore):
(WebCore::WorkerMessagingProxy::workerObjectDestroyedInternal): Here we set m_mayBeDestroyed to true.
This is the point after which deleting the WorkerMessagingProxy in workerContextDestroyedInternal()
is okay. It could happen during this function call if the worker thread has been shutdown already, or
it could be called later after we shut down the worker thread.
(WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): We check m_mayBeDestroyed here
instead of checking m_workerObject. This change effectively orthogonalizes the roles that m_workerObject
was filling. Since we were eagerly clearing m_workerObject, but we wanted to asynchronously call
workerObjectDestroyed(), we needed to make sure we didn't accidentally try to delete the WorkerMessagingProxy
twice (once from destroying the Worker and once from destroying the WorkerContext). This boolean field
should fix that issue--we set it lazily like we wanted to do without being in danger of causing use-after-free
issues with m_workerObject.
* workers/WorkerMessagingProxy.h: Added the new field and function.
(WorkerMessagingProxy):

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

8 years agoWeb Inspector: Selector list start position is not extracted for style rules inside...
apavlov@chromium.org [Thu, 14 Jun 2012 15:34:05 +0000 (15:34 +0000)]
Web Inspector: Selector list start position is not extracted for style rules inside @media rules
https://bugs.webkit.org/show_bug.cgi?id=89094

Reviewed by Pavel Feldman.

Source/WebCore:

Selector list start is now marked inside the "ruleset" rule rather than separately, before its invocation(s).

* css/CSSGrammar.y:

LayoutTests:

* inspector/audits/audits-panel-functional.html:

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

8 years ago[chromium] Fix race condition where animations start, finish and are deleted on the...
commit-queue@webkit.org [Thu, 14 Jun 2012 14:57:10 +0000 (14:57 +0000)]
[chromium] Fix race condition where animations start, finish and are deleted on the composite thread, all before the start even arrives on the main thread.
https://bugs.webkit.org/show_bug.cgi?id=88439

Patch by Eric Penner <epenner@google.com> on 2012-06-14
Reviewed by James Robinson.

Scheduling behavior covered by existing tests.

* platform/graphics/chromium/cc/CCActiveAnimation.cpp:
(WebCore::CCActiveAnimation::isFinishedAt):
* platform/graphics/chromium/cc/CCActiveAnimation.h:
(WebCore::CCActiveAnimation::isFinished):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::suspendAnimations):
(WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
(WebCore::CCLayerAnimationController::animate):
(WebCore::CCLayerAnimationController::hasActiveAnimation):
(WebCore):
(WebCore::CCLayerAnimationController::markAnimationsForDeletion):
(WebCore::CCLayerAnimationController::purgeAnimationsMarkedForDeletion):
* platform/graphics/chromium/cc/CCLayerAnimationController.h:
(CCLayerAnimationController):

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

8 years agoWeb Inspector: ConsoleView.evaluateUsingTextPrompt should evaluate without command...
vsevik@chromium.org [Thu, 14 Jun 2012 14:44:37 +0000 (14:44 +0000)]
Web Inspector: ConsoleView.evaluateUsingTextPrompt should evaluate without command line API.
https://bugs.webkit.org/show_bug.cgi?id=89096

Reviewed by Pavel Feldman.

* inspector/front-end/ConsoleView.js:

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

8 years ago[Chromium] Unreviewed, build fix for Mac 10.5
apavlov@chromium.org [Thu, 14 Jun 2012 14:35:12 +0000 (14:35 +0000)]
[Chromium] Unreviewed, build fix for Mac 10.5

* src/WebDevToolsAgentImpl.cpp:
(WebKit::DeviceMetricsSupport::autoZoomPageToFitWidth):

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

8 years ago[EFL] Tests rebaselining after r120167, r120246
commit-queue@webkit.org [Thu, 14 Jun 2012 14:15:12 +0000 (14:15 +0000)]
[EFL] Tests rebaselining after r120167, r120246
https://bugs.webkit.org/show_bug.cgi?id=89069

Unreviewed EFL gardening after r120246 and r120167, updating baselines.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-06-14

* platform/efl/fast/layers/video-layer-expected.txt:
* platform/efl/http/tests/misc/location-replace-crossdomain-expected.txt:
* platform/efl/media/audio-controls-rendering-expected.txt:
* platform/efl/media/audio-repaint-expected.txt:
* platform/efl/media/controls-after-reload-expected.txt:
* platform/efl/media/controls-strict-expected.txt:
* platform/efl/media/controls-styling-expected.txt:
* platform/efl/media/controls-without-preload-expected.txt:
* platform/efl/media/media-controls-clone-expected.txt:
* platform/efl/media/media-document-audio-repaint-expected.txt:
* platform/efl/media/video-controls-rendering-expected.txt:
* platform/efl/media/video-display-toggle-expected.txt:
* platform/efl/media/video-empty-source-expected.txt:
* platform/efl/media/video-zoom-controls-expected.txt:

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

8 years agoUpdate the time display of the new Chromium media controls.
commit-queue@webkit.org [Thu, 14 Jun 2012 14:01:36 +0000 (14:01 +0000)]
Update the time display of the new Chromium media controls.
https://bugs.webkit.org/show_bug.cgi?id=88724

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-14
Reviewed by Eric Carlson.

No new tests, final patch will contain the rebaselined tests.

The Chrome video controls are receiving a visual update. This patch changes
the format of the time digits that are displayed. They are different for media
files of different duration. For non-autoplaying videos, the duration is shown
before playback is started.

* css/mediaControlsChromium.css:
(audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
Format the new duration display the same as the current time display.
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
Add a member field for the duration display.
(WebCore::MediaControlRootElementChromium::create):
Add an element for the duration display and initially hide the current time display.
(WebCore::MediaControlRootElementChromium::setMediaController):
Add the duration display to the controller.
(WebCore::MediaControlRootElementChromium::reset):
Add reset functionality for the duration display.
(WebCore::MediaControlRootElementChromium::playbackStarted):
Show the current time display and hide the duration display upon playback start.
(WebCore::MediaControlRootElementChromium::updateTimeDisplay):
Show the current time display and hide the duration display when current time is non-zero.
* html/shadow/MediaControlRootElementChromium.h:
(WebCore):
Add the MediaControlTimeRemainingDisplayElement which provides use with the duration display.
(MediaControlRootElementChromium):
Add a duration member field, reusing the existing MediaControlTimeRemainingDisplayElement.
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::formatChromiumMediaControlsTime):
Formats a given time under the condition of a given duration.
(WebCore::RenderMediaControlsChromium::formatMediaControlsTime):
When formatting a single time, assume it to also provide the duration conditions.
(WebCore::RenderMediaControlsChromium::formatMediaControlsCurrentTime):
Format the current time given the duration.
(WebCore::RenderMediaControlsChromium::formatMediaControlsRemainingTime):
Format the remaining time from the current time given the duration.
* rendering/RenderMediaControlsChromium.h:
(RenderMediaControlsChromium):
Declare the time formatting member functions.
* rendering/RenderThemeChromiumMac.h:
(RenderThemeChromiumMac):
Declare the time formatting member functions for Chromium on the Mac.
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::formatMediaControlsTime):
(WebCore::RenderThemeChromiumMac::formatMediaControlsCurrentTime):
(WebCore::RenderThemeChromiumMac::formatMediaControlsRemainingTime):
Call the time formatting member functions of RenderMediaControlsChromium on the Mac.
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::formatMediaControlsTime):
(WebCore::formatMediaControlsCurrentTime):
(WebCore::formatMediaControlsRemainingTime):
Call the time formatting member functions of RenderMediaControlsChromium on Skia.
* rendering/RenderThemeChromiumSkia.h:
(RenderThemeChromiumSkia):
Declare the time formatting member functions for Chromium Skia.

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

8 years agoUnreviewed, test rebaseline after r120317.
apavlov@chromium.org [Thu, 14 Jun 2012 13:58:01 +0000 (13:58 +0000)]
Unreviewed, test rebaseline after r120317.

* inspector/styles/override-screen-size-expected.txt:

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

8 years ago[GTK] Mark fast/forms/text-input-event.html as flaky in TestExpectations
commit-queue@webkit.org [Thu, 14 Jun 2012 13:54:45 +0000 (13:54 +0000)]
[GTK] Mark fast/forms/text-input-event.html as flaky in TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=89085

Unreviewed gardening. Mark test as flaky.

Patch by Simon Pena <spena@igalia.com> on 2012-06-14

* platform/gtk/TestExpectations:

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

8 years ago[svg] SVGResources applied to Text with Incorrect Transformations in non-CG Implement...
schenney@chromium.org [Thu, 14 Jun 2012 13:52:30 +0000 (13:52 +0000)]
[svg] SVGResources applied to Text with Incorrect Transformations in non-CG Implementations
https://bugs.webkit.org/show_bug.cgi?id=64966

Unreviewed Chromium test expectations update.

Bug fixed by Dominik Röttsches.

* platform/chromium-linux/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
* platform/chromium-linux/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/chromium-linux/svg/custom/js-late-gradient-creation-expected.png:
* platform/chromium-linux/svg/custom/js-late-pattern-creation-expected.png:
* platform/chromium-linux/svg/custom/text-rotated-gradient-expected.png:
* platform/chromium-mac-leopard/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/chromium-mac-leopard/svg/custom/js-late-gradient-creation-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/js-late-gradient-creation-expected.png: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
* platform/chromium-mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/chromium-mac/svg/custom/js-late-gradient-creation-expected.png:
* platform/chromium-mac/svg/custom/js-late-pattern-creation-expected.png:
* platform/chromium-mac/svg/custom/text-rotated-gradient-expected.png:
* platform/chromium-win-vista/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
* platform/chromium-win/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/chromium-win/svg/custom/js-late-gradient-creation-expected.png:
* platform/chromium-win/svg/custom/js-late-pattern-creation-expected.png:
* platform/chromium-win/svg/custom/text-rotated-gradient-expected.png:
* platform/chromium/TestExpectations:

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

8 years agoWeb Inspector: Refactor message loop instrumentation.
commit-queue@webkit.org [Thu, 14 Jun 2012 13:26:51 +0000 (13:26 +0000)]
Web Inspector: Refactor message loop instrumentation.
https://bugs.webkit.org/show_bug.cgi?id=88978

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-06-14
Reviewed by Pavel Feldman.

1) Remove "messageLoop" term
2) Reuse WebThread::TaskObserver interface
3) Move implementation (from embedder) to platform code.

Source/Platform:

* chromium/public/WebThread.h:
(TaskObserver): add "willProcessTask" method.

Source/WebCore:

* inspector/InspectorClient.h:
(WebCore::InspectorClient::startMainThreadMonitoring): Renamed method.
(WebCore::InspectorClient::stopMainThreadMonitoring): Ditto.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::stop):

Source/WebKit/chromium:

* public/WebDevToolsAgent.h:
(WebDevToolsAgent):
* public/WebDevToolsAgentClient.h:
(WebDevToolsAgentClient):
(WebKit::WebDevToolsAgentClient::startMainThreadMonitoring): Renamed medthod.
(WebKit::WebDevToolsAgentClient::stopMainThreadMonitoring): Ditto.
* src/InspectorClientImpl.cpp:
(WebKit::InspectorClientImpl::startMainThreadMonitoring): Ditto.
(WebKit::InspectorClientImpl::stopMainThreadMonitoring): Ditto.
* src/InspectorClientImpl.h:
(InspectorClientImpl):
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgentImpl::startMainThreadMonitoring): Use platform threading.
(WebKit::WebDevToolsAgentImpl::stopMainThreadMonitoring): Ditto.
(WebKit::WebDevToolsAgentImpl::willProcessTask): Renamed medthod.
(WebKit::WebDevToolsAgentImpl::didProcessTask): Ditto.
* src/WebDevToolsAgentImpl.h:
(WebDevToolsAgentImpl):
* src/WebKit.cpp:

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

8 years agoWeb Inspector: [Device Metrics] "Fit window" results in duplicate rescaling in WebDev...
apavlov@chromium.org [Thu, 14 Jun 2012 13:05:00 +0000 (13:05 +0000)]
Web Inspector: [Device Metrics] "Fit window" results in duplicate rescaling in WebDevToolsAgentImpl::autoZoomPageToFitWidth()
https://bugs.webkit.org/show_bug.cgi?id=89092

Reviewed by Pavel Feldman.

Source/WebKit/chromium:

Do not apply the sizeRatio after it has been applied in scaledEmulatedFrameSize().

* src/WebDevToolsAgentImpl.cpp:
(WebKit::DeviceMetricsSupport::autoZoomPageToFitWidth):
(WebKit::DeviceMetricsSupport::ensureOriginalZoomFactor):

LayoutTests:

* platform/chromium/inspector/styles/device-metrics-fit-window-expected.txt:
* platform/chromium/inspector/styles/device-metrics-fit-window.html:

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

8 years ago[Qt] Unreviewed gardening after r120314.
kkristof@inf.u-szeged.hu [Thu, 14 Jun 2012 12:51:27 +0000 (12:51 +0000)]
[Qt] Unreviewed gardening after r120314.

* platform/qt/Skipped: skip svg/transforms/transformed-text-fill-gradient.html

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

8 years agoUpdate pywebsocket to 0.7.6 from 0.7.4
toyoshim@chromium.org [Thu, 14 Jun 2012 12:40:32 +0000 (12:40 +0000)]
Update pywebsocket to 0.7.6 from 0.7.4
https://bugs.webkit.org/show_bug.cgi?id=88975

Reviewed by Kent Tamura.

This new version of pywebsocket introduce following features.
 - Allow handlers to send a close frame with empty body in response of
     a client initiated closing handshake
 - Implement perframe compression extension
 - Support client certificate authentication

* Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING:
* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hybi.py:
(_create_control_frame):
(Stream._receive_frame):
(Stream.send_message):
(Stream.receive_message):
(Stream._send_closing_handshake):
(Stream.close_connection):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/common.py:
(ExtensionParsingException):
(ExtensionParsingException.__init__):
(_parse_extension_param):
(_parse_extension):
(parse_extensions):
(format_extension):
(format_extensions):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py:
(_parse_compression_method):
(_create_accepted_method_desc):
(PerFrameCompressionExtensionProcessor):
(PerFrameCompressionExtensionProcessor.__init__):
(PerFrameCompressionExtensionProcessor._lookup_compression_processor):
(PerFrameCompressionExtensionProcessor._get_compression_processor_response):
(PerFrameCompressionExtensionProcessor.get_extension_response):
(PerFrameCompressionExtensionProcessor.setup_stream_options):
(PerFrameCompressionExtensionProcessor.get_compression_processor):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/_base.py:
(parse_token_list):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi.py:
(Handshaker._parse_extensions):
(Handshaker._send_handshake):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/standalone.py:
(WebSocketServer._create_sockets):
(_get_logger_from_class):
(_configure_logging):
(_build_option_parser):
(_main.if):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py:
(RepeatedXorMasker.mask):

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

8 years ago[svg] SVGResources applied to Text with Incorrect Transformations in non-CG Implement...
commit-queue@webkit.org [Thu, 14 Jun 2012 12:18:15 +0000 (12:18 +0000)]
[svg] SVGResources applied to Text with Incorrect Transformations in non-CG Implementations
https://bugs.webkit.org/show_bug.cgi?id=64966

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-06-14
Reviewed by Nikolas Zimmermann.

Source/WebCore:

SVGInlineTextBox::paintTextWithShadows for non-CG implementations resets the scale aspect
of the currently applied CTM. This leads to patterns and gradients being incorrectly downscaled.
This way of resetting the CTM and drawing fonts "natively" scaled was introduced
in r77485 to fix a number of issues with SVG font scaling.
Unfortunately, this breaks scaling of patterns and gradients. To fix it,
we need to push the transformation back into the pattern/gradient space transformation.

Tests: svg/transforms/transformed-text-fill-gradient.html
       svg/transforms/transformed-text-fill-pattern.html

* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): Moving the scaling factor calculation out into SVGRenderingContext.
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting): Reusing the scaling factor calculation from SVGRenderingContext.
(WebCore):
* rendering/svg/RenderSVGResourceContainer.h:
(RenderSVGResourceContainer):
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource): If needed, push down transformation into gradient space.
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource): If needed, push transformation into pattern space.
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor): Common scaling factor calculation for RenderSVGInlineText and RenderSVGResourceContainer.
* rendering/svg/SVGRenderingContext.h:
(SVGRenderingContext):

LayoutTests:

For Pattern: RefTest that compare a scaled rectangle with a scaled block of Ahem characters.
The pattern or gradient should scale in the same way for the text and the rectangle.
This approach needs a clipping path hack to work around micro gaps between Ahem characters
due to rounding.
For Gradient: Scaling text at two different scale factors and adjusting font size to yield the same effective text size.
Gradient fill should be identical in both cases.

* platform/chromium/TestExpectations: Added 3 tests that need rebaselining for text gradient fills.
* svg/transforms/transformed-text-fill-gradient-expected.html: Added.
* svg/transforms/transformed-text-fill-gradient.html: Added.
* svg/transforms/transformed-text-fill-pattern-expected.html: Added.
* svg/transforms/transformed-text-fill-pattern.html: Added.

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

8 years ago[Form] Replace InputNumber type to Decimal type and drop InputNumber
yosin@chromium.org [Thu, 14 Jun 2012 11:53:43 +0000 (11:53 +0000)]
[Form] Replace InputNumber type to Decimal type and drop InputNumber
https://bugs.webkit.org/show_bug.cgi?id=88746

Reviewed by Kent Tamura.

This patch removes InputNumber introduced by r119540 by replacing
InputNumber type to Decimal type and changing convertDoubleToDecimal
and convertDecimalToDouble to Decimal::fromDouble and
Decimal::toDouble, respectively.

No new tests. This patch doesn't change behavior.

* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::setValueAsDecimal):
(WebCore::BaseDateAndTimeInputType::defaultValueForStepUp):
(WebCore::BaseDateAndTimeInputType::parseToNumber):
(WebCore::BaseDateAndTimeInputType::serialize):
(WebCore::BaseDateAndTimeInputType::serializeWithComponents):
(WebCore::BaseDateAndTimeInputType::serializeWithMilliseconds):
* html/BaseDateAndTimeInputType.h:
(BaseDateAndTimeInputType):
* html/DateInputType.cpp:
(WebCore::DateInputType::createStepRange):
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::defaultValueForStepUp):
(WebCore::DateTimeInputType::createStepRange):
* html/DateTimeInputType.h:
(DateTimeInputType):
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::createStepRange):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::getAllowedValueStep):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/InputType.cpp:
(WebCore::InputType::setValueAsDouble):
(WebCore::InputType::setValueAsDecimal):
(WebCore::InputType::rangeUnderflow):
(WebCore::InputType::rangeOverflow):
(WebCore::InputType::defaultValueForStepUp):
(WebCore::InputType::minimum):
(WebCore::InputType::maximum):
(WebCore::InputType::isInRange):
(WebCore::InputType::isOutOfRange):
(WebCore::InputType::stepMismatch):
(WebCore::InputType::validationMessage):
(WebCore::InputType::parseToNumber):
(WebCore::InputType::parseToNumberOrNaN):
(WebCore::InputType::serialize):
(WebCore::InputType::applyStep):
(WebCore::InputType::getAllowedValueStep):
(WebCore::InputType::stepUpFromRenderer):
* html/InputType.h:
(InputType):
* html/MonthInputType.cpp:
(WebCore::MonthInputType::defaultValueForStepUp):
(WebCore::MonthInputType::createStepRange):
(WebCore::MonthInputType::parseToNumber):
* html/MonthInputType.h:
(MonthInputType):
* html/NumberInputType.cpp:
(WebCore::NumberInputType::setValueAsDecimal):
(WebCore::NumberInputType::createStepRange):
(WebCore::NumberInputType::parseToNumber):
(WebCore::NumberInputType::serialize):
* html/NumberInputType.h:
(NumberInputType):
* html/RangeInputType.cpp:
(WebCore::ensureMaximum):
(WebCore::RangeInputType::setValueAsDecimal):
(WebCore::RangeInputType::createStepRange):
(WebCore::RangeInputType::handleKeydownEvent):
(WebCore::RangeInputType::parseToNumber):
(WebCore::RangeInputType::serialize):
(WebCore::RangeInputType::sanitizeValue):
* html/RangeInputType.h:
(RangeInputType):
* html/StepRange.cpp:
(WebCore::StepRange::StepRange):
(WebCore::StepRange::acceptableError):
(WebCore::StepRange::alignValueForStep):
(WebCore::StepRange::clampValue):
(WebCore::StepRange::parseStep):
(WebCore::StepRange::roundByStep):
(WebCore::StepRange::stepMismatch):
* html/StepRange.h:
(WebCore::StepRange::StepDescription::defaultValue):
(StepRange):
(WebCore::StepRange::maximum):
(WebCore::StepRange::minimum):
(WebCore::StepRange::step):
(WebCore::StepRange::stepBase):
(WebCore::StepRange::defaultValue):
(WebCore::StepRange::proportionFromValue):
(WebCore::StepRange::valueFromProportion):
* html/TimeInputType.cpp:
(WebCore::TimeInputType::defaultValueForStepUp):
(WebCore::TimeInputType::createStepRange):
* html/TimeInputType.h:
(TimeInputType):
* html/WeekInputType.cpp:
(WebCore::WeekInputType::createStepRange):
* html/shadow/CalendarPickerElement.cpp:
(WebCore::CalendarPickerElement::writeDocument):
* html/shadow/SliderThumbElement.cpp:
(WebCore::sliderPosition):
(WebCore::RenderSliderThumb::layout):
(WebCore::SliderThumbElement::setPositionFromPoint):

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

8 years ago[Chromium][Forms] We should remove ENABLE_INPUT_TYPE_TIME=0 and so on to allows us...
yosin@chromium.org [Thu, 14 Jun 2012 10:57:37 +0000 (10:57 +0000)]
[Chromium][Forms] We should remove ENABLE_INPUT_TYPE_TIME=0 and so on to allows us to override them by ~/.gyp/include.gypi
https://bugs.webkit.org/show_bug.cgi?id=89062

Reviewed by Kent Tamura.

This patch removes ENABLE_INPUT_TYPE_*=0 from default entry of feature_defines to
allows us overriding by ~/.gyp/include.gypi

* features.gypi: Remove ENABLE_INPUT_TYPE_DATETIME=0, ENABLE_INPUT_TYPE_DATETIMELOCAL=0,
and so on.

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

8 years agoWeb Inspector: Implement ExtensionPanel.show() method
commit-queue@webkit.org [Thu, 14 Jun 2012 10:34:26 +0000 (10:34 +0000)]
Web Inspector: Implement ExtensionPanel.show() method
https://bugs.webkit.org/show_bug.cgi?id=88473

Source/WebCore:

Implemented ExtensionPanel.show() API method to allow extension
developers to show their panel when needed.

Patch by Jan Keromnes <janx@linux.com> on 2012-06-14
Reviewed by Pavel Feldman.

Tests for this method are in:
LayoutTests/inspector/extensions/extensions-panel.html

* inspector/front-end/ExtensionAPI.js:
(defineCommonExtensionSymbols):
(injectedExtensionAPI.ExtensionPanelImpl.prototype.createStatusBarButton):
(injectedExtensionAPI.ExtensionPanelImpl.prototype.show):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype._onShowPanel):

LayoutTests:

Add output for ExtensionPanel callbacks, and use ExtensionPanel.show()
to show the panel. Fix expected.

Patch by Jan Keromnes <janx@linux.com> on 2012-06-14
Reviewed by Pavel Feldman.

* inspector/extensions/extensions-panel-expected.txt:
* inspector/extensions/extensions-panel.html:

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

8 years ago[Qt] Remove USE(QT_IMAGE_DECODER) macro, since we don't use it anymore
zoltan@webkit.org [Thu, 14 Jun 2012 10:31:33 +0000 (10:31 +0000)]
[Qt] Remove USE(QT_IMAGE_DECODER) macro, since we don't use it anymore

Reviewed by Noam Rosenthal.

* qmake/mkspecs/features/features.prf:

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

8 years agoFix a typo in r120304.
tkent@chromium.org [Thu, 14 Jun 2012 10:27:18 +0000 (10:27 +0000)]
Fix a typo in r120304.
https://bugs.webkit.org/show_bug.cgi?id=89070

* bindings/scripts/CodeGeneratorV8.pm:
(NativeToJSValue):
* bindings/scripts/test/V8/V8TestObj.cpp:

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

8 years agoAdd dpcm to css3-images image-resolution
commit-queue@webkit.org [Thu, 14 Jun 2012 10:20:51 +0000 (10:20 +0000)]
Add dpcm to css3-images image-resolution
https://bugs.webkit.org/show_bug.cgi?id=85442

Patch by David Barr <davidbarr@chromium.org> on 2012-06-14
Reviewed by Tony Chang.

Source/WebCore:

The css3-images module is at candidate recommendation.
http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-resolution

No new tests; extended fast/css/image-resolution/image-resolution.html

* css/CSSGrammar.y: Add DPCM token and unary term.
* css/CSSParser.cpp: Extend range of units accepted for resolution and tokenize "dpcm".
(WebCore::CSSParser::validUnit): Accept CSSPrimitiveValue::CSS_DPCM.
(WebCore::CSSParser::createPrimitiveNumericValue): Accept CSSPrimitiveValue::CSS_DPCM.
(WebCore::unitFromString): Map "dpcm" to CSSPrimitiveValue::CSS_DPCM.
(WebCore::CSSParser::parseValidPrimitive): Accept CSSPrimitiveValue::CSS_DPCM.
(WebCore::CSSParser::detectNumberToken): Map "dpcm" to CSSPrimitiveValue::CSS_DPCM.
* css/CSSPrimitiveValue.cpp: Add CSSPrimitiveValue::CSS_DPCM as a numeric unit.
(WebCore::isValidCSSUnitTypeForDoubleConversion): Accept CSSPrimitiveValue::CSS_DPCM.
(WebCore::unitCategory): Map CSSPrimitiveValue::CSS_DPCM to CSSPrimitiveValue::UResolution.
(WebCore::conversionToCanonicalUnitsScaleFactor): Scale CSSPrimitiveValue::CSS_DPCM to CSSPrimitiveValue::CSS_DPPX.
(WebCore::CSSPrimitiveValue::customCssText): Format CSSPrimitiveValue::CSS_DPCM as "<num>dpcm".
(WebCore::CSSPrimitiveValue::cloneForCSSOM): Accept CSSPrimitiveValue::CSS_DPCM as numeric unit.
* css/CSSPrimitiveValue.h: Add CSSPrimitiveValue::CSS_DPCM.

LayoutTests:

* fast/css/image-resolution/image-resolution-expected.txt:
* fast/css/image-resolution/image-resolution.html:

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

8 years agoWeb Inspector: REGRESSION HeapProfiler can't remove heap snapshot from the list if...
loislo@chromium.org [Thu, 14 Jun 2012 10:13:16 +0000 (10:13 +0000)]
Web Inspector: REGRESSION HeapProfiler can't remove heap snapshot from the list if Dominators view has been opened.
https://bugs.webkit.org/show_bug.cgi?id=89080

There was no dispose method on artificial ShowMoreDataGrid node.

Reviewed by Pavel Feldman.

* inspector/front-end/ShowMoreDataGridNode.js:
(WebInspector.ShowMoreDataGridNode.prototype.nodeHeight):
(WebInspector.ShowMoreDataGridNode.prototype.dispose):

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

8 years ago[GTK] Add input methods submenu item to the default context menu for editable content
carlosgc@webkit.org [Thu, 14 Jun 2012 10:10:05 +0000 (10:10 +0000)]
[GTK] Add input methods submenu item to the default context menu for editable content
https://bugs.webkit.org/show_bug.cgi?id=80600

Reviewed by Martin Robinson.

* GNUmakefile.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitContextMenuClient.cpp: Added.
(getContextMenuFromProposedMenu): Call webkitWebViewContextMenu().
(attachContextMenuClientToView): Add implementation for
getContextMenuFromProposedMenu callback.
* UIProcess/API/gtk/WebKitContextMenuClient.h: Added.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Attach context menu client to view.
(webkitWebViewCreateAndAppendDefaultMenuItems): Helper function to
add default context menu items to the new context menu items vector.
(webkitWebViewShouldShowInputMethodsMenu): Helper function to
check whether to show the input methods submenu according to the
gtk-show-input-method-menu GTK+ setting.
(webkitWebViewCreateAndAppendInputMethodsMenuItem): Helper
function to add input methods submenu to the new context menu
items vector.
(webkitWebViewContextMenu): Create a new context menu items vector
containing default items and input methods submenu in case of
editable content. The active content menu is populated using that
new vector.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSetActiveContextMenu): Set the active context menu.
(webkitWebViewBaseGetActiveContextMenu): Get the active context menu.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::WebContextMenuProxyGtk::append): Helper method to add a
new item to the context menu.
(WebKit::WebContextMenuProxyGtk::populate): Add items to the
context menu.
(WebKit::WebContextMenuProxyGtk::showContextMenu): Populate the
menu with the given items and popup the menu if it's not empty.
(WebKit::WebContextMenuProxyGtk::hideContextMenu): Get the GtkMenu
from the WebCore ContextMenu to popdown it.
(WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): Call
webkitWebViewBaseSetActiveContextMenu() to set the menu as the current
active one for the view.
(WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Call
webkitWebViewBaseSetActiveContextMenu() with NULL to reset the
current active context of the view. GtkMenu is destroyed by
WebCore ContextMenu in its destructor.
* UIProcess/gtk/WebContextMenuProxyGtk.h:

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

8 years ago[JSC/V8] Improve DOMString[] support
tkent@chromium.org [Thu, 14 Jun 2012 09:59:20 +0000 (09:59 +0000)]
[JSC/V8] Improve DOMString[] support
https://bugs.webkit.org/show_bug.cgi?id=89070

Reviewed by Kentaro Hara.

Tests: new test case in TestObj.idl

* bindings/js/JSDOMBinding.cpp:
(WebCore::jsArray): Implement jsArray() for DOMStringList.
* bindings/js/JSDOMBinding.h: Declare jsArray() for DOMStringList.
* bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue): Avoid to include JSDOMString.h and DOMString.h.
* bindings/scripts/CodeGeneratorV8.pm:
(GetNativeType): Move a check for DOMString[] because it's a RefPtr type
and we'd like to avoid to generate RefPtr<DOMString[]>
(%non_wrapper_types): DOMString[] is not a wrapper type. This is needed
to avoid to generate unnecessary custom function template.
(NativeToJSValue): Avoid to include V8DOMString.h and DOMString.h.

* bindings/scripts/test/TestObj.idl: Add non-overload function using DOMString[].
* bindings/scripts/test/JS/JSTestObj.cpp: Update expectation.
* bindings/scripts/test/JS/JSTestObj.h: ditto.
* bindings/scripts/test/V8/V8TestObj.cpp: ditto.

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

8 years agoLocaleToScriptMappingDefault.cpp should also do what scriptCodeForFontSelection does...
commit-queue@webkit.org [Thu, 14 Jun 2012 09:56:06 +0000 (09:56 +0000)]
LocaleToScriptMappingDefault.cpp should also do what scriptCodeForFontSelection does in LocaleToScriptMappingICU.cpp
https://bugs.webkit.org/show_bug.cgi?id=88845

Patch by Matt Falkenhagen <falken@chromium.org> on 2012-06-14
Reviewed by Kent Tamura.

Source/WebCore:

Test: fast/text/international/jpan-script-equivalence.html

* platform/text/LocaleToScriptMappingDefault.cpp:
(WebCore::scriptNameToCode):

LayoutTests:

* fast/text/international/jpan-script-equivalence-expected.html: Added.
* fast/text/international/jpan-script-equivalence.html: Added.

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

8 years agoWeb Inspector: render dock-to-right icon in status bar.
pfeldman@chromium.org [Thu, 14 Jun 2012 09:52:50 +0000 (09:52 +0000)]
Web Inspector: render dock-to-right icon in status bar.
https://bugs.webkit.org/show_bug.cgi?id=89040

Reviewed by Vsevolod Vlasov.

Today we render dock to bottom icon for both actions (dock to bottom and dock to right).

* inspector/front-end/Images/statusbarButtonGlyphs.png:
* inspector/front-end/inspector.css:
(button.dock-status-bar-item.status-bar-item.toggled-undock .glyph):
(button.dock-status-bar-item.status-bar-item.toggled-bottom .glyph):
(button.dock-status-bar-item.status-bar-item.toggled-right .glyph):
* inspector/front-end/inspector.js:
(WebInspector._createGlobalStatusBarItems):
(WebInspector._installDockToRight.listener):
(windowLoaded):
(WebInspector.setDockingUnavailable):

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

8 years ago[WK2] Add implementation for registerIntentService in WebFrameLoaderClient
commit-queue@webkit.org [Thu, 14 Jun 2012 09:43:25 +0000 (09:43 +0000)]
[WK2] Add implementation for registerIntentService in WebFrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=88399

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-14
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Add implementation for registerIntentService() in
WebFrameLoaderClient.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/WKBase.h:
* Shared/APIClientTraits.h:
* Shared/APIObject.h:
* Shared/IntentServiceInfo.cpp: Added.
(WebKit):
(WebKit::IntentServiceInfo::encode):
(WebKit::IntentServiceInfo::decode):
* Shared/IntentServiceInfo.h: Added.
(CoreIPC):
(WebKit):
(IntentServiceInfo):
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView):
* UIProcess/WebIntentServiceInfo.cpp: Added.
(WebKit):
(WebKit::WebIntentServiceInfo::WebIntentServiceInfo):
* UIProcess/WebIntentServiceInfo.h: Added.
(WebKit):
(WebIntentServiceInfo):
(WebKit::WebIntentServiceInfo::create):
(WebKit::WebIntentServiceInfo::~WebIntentServiceInfo):
(WebKit::WebIntentServiceInfo::action):
(WebKit::WebIntentServiceInfo::payloadType):
(WebKit::WebIntentServiceInfo::href):
(WebKit::WebIntentServiceInfo::title):
(WebKit::WebIntentServiceInfo::disposition):
(WebKit::WebIntentServiceInfo::type):
* UIProcess/WebLoaderClient.cpp:
(WebKit):
(WebKit::WebLoaderClient::registerIntentServiceForFrame):
* UIProcess/WebLoaderClient.h:
(WebKit):
(WebLoaderClient):
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::registerIntentServiceForFrame):
* UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit):
(WebKit::WebFrameLoaderClient::registerIntentService):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):

Tools:

Update initialization of WKPageLoaderClient.

* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

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

8 years ago[Blackberry] add a new Api named setAllowNotification
commit-queue@webkit.org [Thu, 14 Jun 2012 09:32:37 +0000 (09:32 +0000)]
[Blackberry] add a new Api named setAllowNotification
https://bugs.webkit.org/show_bug.cgi?id=88950

Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-06-14
Reviewed by Antonio Gomes.

.:

Add a new API named setAllowNotification in webpage class to
let client set those allowed domains into notifications.

Test case:
* ManualTests/blackberry/notification.html: Added.

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::setAllowNotification):
(WebKit):
* Api/WebPage.h:

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

8 years agoWeb Inspector: clear execution live before the text edit.
pfeldman@chromium.org [Thu, 14 Jun 2012 09:31:22 +0000 (09:31 +0000)]
Web Inspector: clear execution live before the text edit.
https://bugs.webkit.org/show_bug.cgi?id=89016

Reviewed by Vsevolod Vlasov.

Otherwise we can't remove them after committing the edit.

* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):

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

8 years agoRemove the const keyword from MediaPlayerPrivate::enterFullscreen()
commit-queue@webkit.org [Thu, 14 Jun 2012 09:25:52 +0000 (09:25 +0000)]
Remove the const keyword from MediaPlayerPrivate::enterFullscreen()
https://bugs.webkit.org/show_bug.cgi?id=89044

Patch by Min Qin <qinmin@google.com> on 2012-06-14
Reviewed by Adam Barth.

Source/WebCore:

enterFullscreen() and exitFullscreen() could both modify the player state.
This change reverts the change we made in r120213.

Just function declaration change, no test needed.

* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::enterFullscreen):

Source/WebKit/chromium:

enterFullscreen() should be treated similarly as exitFullscreen() as it could alter the player state.
This reverts the change from r120213.

* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::enterFullscreen):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):

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

8 years ago[WK2] Add WKHitTestResultIsContentEditable()
carlosgc@webkit.org [Thu, 14 Jun 2012 08:40:42 +0000 (08:40 +0000)]
[WK2] Add WKHitTestResultIsContentEditable()
https://bugs.webkit.org/show_bug.cgi?id=80597

Reviewed by Martin Robinson.

* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::encode): Encode isContentEditable.
(WebKit::WebHitTestResult::Data::decode): Decode isContentEditable.
* Shared/WebHitTestResult.h:
(Data): Add isContentEditable.
(WebKit::WebHitTestResult::Data::Data): Initialize
isContentEditable.
(WebKit::WebHitTestResult::isContentEditable): Returns whether
hit test result target is editable content.
* UIProcess/API/C/WKHitTestResult.cpp:
(WKHitTestResultIsContentEditable): C API to get whether hit test
result target is editable content.
* UIProcess/API/C/WKHitTestResult.h:
* UIProcess/API/gtk/WebKitHitTestResult.cpp:
(webkitHitTestResultCreate): Add
WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags to the context if
hit test result target is editable content.
(webkit_hit_test_result_context_is_editable): Returns TRUE if
WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags is present in
context.
* UIProcess/API/gtk/WebKitHitTestResult.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewMouseTarget): Add tests for
WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE.

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

8 years agoel.getAttribute('type') returns 'null' when setting el.type to null
commit-queue@webkit.org [Thu, 14 Jun 2012 08:31:25 +0000 (08:31 +0000)]
el.getAttribute('type') returns 'null' when setting el.type to null
https://bugs.webkit.org/show_bug.cgi?id=89030

Patch by Edaena Salinas Jasso <edaena@apple.com> on 2012-06-14
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: fast/dom/HTMLButtonElement/change-type.html

* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::setType): Changed parameter to be AtomicString to
address an unrelated review comment from bug 14439 for slightly better performance.
* html/HTMLButtonElement.h:
(HTMLButtonElement): Changed parameter to be AtomicString to address an unrelated
review comment from bug 14439 for slightly better performance.
* html/HTMLButtonElement.idl: Specified TreatNullAs NullString for the type attribute.

LayoutTests:

* fast/dom/HTMLButtonElement/change-type-expected.txt: Updated the expected output
so that it matches the null return type of getAttribute('type').
* fast/dom/HTMLButtonElement/change-type.html: Change test of getAttribute('type')
to be null instead of 'null'. Addressed and unrelated review comment from bug 14439
about how 'undefined' is specified in the shouldBe function.

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

8 years agoIndexedDB: Creating a transaction from within a transaction callback should fail
commit-queue@webkit.org [Thu, 14 Jun 2012 08:06:07 +0000 (08:06 +0000)]
IndexedDB: Creating a transaction from within a transaction callback should fail
https://bugs.webkit.org/show_bug.cgi?id=80547

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-14
Reviewed by Tony Chang.

Source/WebCore:

Prevent creation of a transaction, via IDBDatabase.transaction()
or IDBDatabase.setVersion(), from inside a setVersion()
transaction, as per spec. Update many tests to deal with this.

Test restructuring uncovered some inconsistencies in transaction
mode handling. So also do some minor cleanup in the way the
transaction mode is passed between the frontend and backend
transaction objects, and add additional asserts.

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::update):
* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::update):
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::setVersion):
(WebCore::IDBDatabase::transaction):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::putInternal):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::stringToMode):
(WebCore::IDBTransaction::modeToString):
* Modules/indexeddb/IDBTransaction.h:
(IDBTransaction):

LayoutTests:

* storage/indexeddb/cursor-update-expected.txt:
* storage/indexeddb/database-basics-expected.txt:
* storage/indexeddb/mozilla/cursor-update-updates-indexes-expected.txt:
* storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js:
(setupObjectStoreAndCreateIndexAndAdd.transaction.oncomplete):
(setupObjectStoreAndCreateIndexAndAdd):
* storage/indexeddb/mozilla/resources/object-store-remove-values.js:
(createObjectStore):
(finalCheck):
* storage/indexeddb/mozilla/resources/remove-objectstore.js:
(createAndPopulateObjectStore):
(postSetVersion2.request.onsuccess):
(postSetVersion2):
(deleteSecondObjectStore):
* storage/indexeddb/resources/cursor-update.js:
(openBasicCursor):
(keyCursor):
(testReadOnly):
(attemptUpdate):
* storage/indexeddb/resources/database-basics.js:
(openSuccess.request.onsuccess):
(openSuccess):
(setVersionSuccess.request.onsuccess):
(setVersionSuccess):
(createObjectStore):
* storage/indexeddb/resources/version-change-exclusive.js:
(test):
* storage/indexeddb/version-change-exclusive-expected.txt:

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

8 years ago[EFL] [DRT] Implement setDomainRelaxationForbiddenForURLScheme in EFL DRT
commit-queue@webkit.org [Thu, 14 Jun 2012 08:00:51 +0000 (08:00 +0000)]
[EFL] [DRT] Implement setDomainRelaxationForbiddenForURLScheme in EFL DRT
https://bugs.webkit.org/show_bug.cgi?id=84577

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-06-14
Reviewed by Ryosuke Niwa.

Source/WebKit/efl:

Add missing implementation setDomainRelaxationForbiddenForURLScheme to
EFL's DumpRenderTreeSupport to allow disabling domain relaxation.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::setDomainRelaxationForbiddenForURLScheme):
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Add missing implementation setDomainRelaxationForbiddenForURLScheme to EFL's
LayoutTestController.

* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

LayoutTests:

Unskip http/tests/security/setDomainRelaxationForbiddenForURLScheme.html

* platform/efl/Skipped:

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

8 years ago[Qt] Unreviewed gardening. Updating baseline after r120257.
kkristof@inf.u-szeged.hu [Thu, 14 Jun 2012 07:52:50 +0000 (07:52 +0000)]
[Qt] Unreviewed gardening. Updating baseline after r120257.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-06-14

* fast/table/max-width-integer-overflow-expected.txt:

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

8 years ago[chromium] Rename WebFrameClient::userAgent() to better reflect what it does
commit-queue@webkit.org [Thu, 14 Jun 2012 07:36:17 +0000 (07:36 +0000)]
[chromium] Rename WebFrameClient::userAgent() to better reflect what it does
https://bugs.webkit.org/show_bug.cgi?id=89028

Patch by Dan Alcantara <dfalcantara@chromium.org> on 2012-06-14
Reviewed by Adam Barth.

Renames WebFrameClient::userAgent() to userAgentOverride() and makes it return
the user agent override string directly.

* public/WebFrameClient.h:
(WebFrameClient):
(WebKit::WebFrameClient::userAgentOverride):
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::userAgent):
* tests/FrameLoaderClientImplTest.cpp:

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

8 years ago[WebSocket] WebSocket object in Worker Context should fire error event when it fails...
commit-queue@webkit.org [Thu, 14 Jun 2012 07:22:09 +0000 (07:22 +0000)]
[WebSocket] WebSocket object in Worker Context should fire error event when it fails connection.
https://bugs.webkit.org/show_bug.cgi?id=88744

Patch by Li Yin <li.yin@intel.com> on 2012-06-14
Reviewed by Kent Tamura.

Source/WebCore:

Spec:http://dev.w3.org/html5/websockets/#feedback-from-the-protocol
The behavior of firing error event in Document has been implemented in Committed r117944.
WebSocket in WorkerContext is also required to fire error event.

Test: http/tests/websocket/tests/hybi/workers/close.html

* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
(ThreadableWebSocketChannelClientWrapper):
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::workerContextDidReceiveMessageError):
(WebCore):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
(Peer):

LayoutTests:

* http/tests/websocket/tests/hybi/workers/close-expected.txt:
* http/tests/websocket/tests/hybi/workers/resources/close.js:
(testPassed):
(runCodeTest.else.ws.onerror):
(runCodeTest):
(runReasonTest.else.ws.onerror):
(runReasonTest):

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

8 years ago[WK2] Fix client interface size for WKPageLoaderClient.
g.czajkowski@samsung.com [Thu, 14 Jun 2012 07:04:18 +0000 (07:04 +0000)]
[WK2] Fix client interface size for WKPageLoaderClient.
https://bugs.webkit.org/show_bug.cgi?id=88764

Reviewed by Anders Carlsson.

Fixes offset of WKPageLoaderClient for version 0 by adding didDetectXSSForFrame.
The offset should be off the first new callback that was added in the new version.

* Shared/APIClientTraits.cpp:
(WebKit):

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

8 years agoUnreviewed build fix attempt for r120285
kinuko@chromium.org [Thu, 14 Jun 2012 06:56:26 +0000 (06:56 +0000)]
Unreviewed build fix attempt for r120285

* Modules/filesystem/DOMFileSystemBase.cpp:
(WebCore):

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

8 years agoUnreviewed expectation update.
morrita@google.com [Thu, 14 Jun 2012 06:54:06 +0000 (06:54 +0000)]
Unreviewed expectation update.

* bindings/scripts/test/V8/V8Float64Array.cpp:
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
* bindings/scripts/test/V8/V8TestException.cpp:
* bindings/scripts/test/V8/V8TestInterface.cpp:
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
* bindings/scripts/test/V8/V8TestNode.cpp:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::installPerContextProperties):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:

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

8 years agoUnreviewed GTK gardening after r120246 and r120257, updating baselines.
zandobersek@gmail.com [Thu, 14 Jun 2012 06:47:32 +0000 (06:47 +0000)]
Unreviewed GTK gardening after r120246 and r120257, updating baselines.

* platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt:
* platform/gtk/fast/layers/video-layer-expected.txt:
* platform/gtk/fast/table/max-width-integer-overflow-expected.txt: Added.
* platform/gtk/media/audio-controls-rendering-expected.txt:
* platform/gtk/media/audio-repaint-expected.txt:
* platform/gtk/media/controls-strict-expected.txt:
* platform/gtk/media/controls-styling-expected.txt:
* platform/gtk/media/controls-without-preload-expected.txt:
* platform/gtk/media/media-controls-clone-expected.txt:
* platform/gtk/media/media-document-audio-repaint-expected.txt:
* platform/gtk/media/video-controls-rendering-expected.txt:
* platform/gtk/media/video-empty-source-expected.txt:
* platform/gtk/media/video-no-audio-expected.txt:
* platform/gtk/media/video-volume-slider-expected.txt:
* platform/gtk/media/video-zoom-controls-expected.txt:

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

8 years ago[Chromium] Unreviewed: Update expectations
dominicc@chromium.org [Thu, 14 Jun 2012 06:43:29 +0000 (06:43 +0000)]
[Chromium] Unreviewed: Update expectations
https://bugs.webkit.org/show_bug.cgi?id=88949

http/tests/media/media-source/video-media-source-add-and-remove-ids.html
is passing on canary bots but producing text diffs on the WebKit
waterfall. As noted in the bug, I believe the text diffs are
timing-related.

* platform/chromium/TestExpectations:

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

8 years agoMove isolated file system code out of chromium-specific directory
kinuko@chromium.org [Thu, 14 Jun 2012 06:41:36 +0000 (06:41 +0000)]
Move isolated file system code out of chromium-specific directory
https://bugs.webkit.org/show_bug.cgi?id=88997

Reviewed by Adam Barth.

The code does not need to be chromium-specific.  Any platforms that
have file system implementation and manage mappings from file system
id to a set of files should share the code.

No new tests as this has no functional/behavioral changes.

* Modules/filesystem/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::createIsolatedFileSystem):
(WebCore):
* Modules/filesystem/DOMFileSystem.h:
(DOMFileSystem):
* Modules/filesystem/DOMFileSystemBase.h:
(DOMFileSystemBase):
* Modules/filesystem/FileSystemType.h:
* Modules/filesystem/chromium/DOMFileSystemChromium.cpp:
* Modules/filesystem/chromium/DOMFileSystemChromium.h: Removed.
* Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:
(WebCore::DraggedIsolatedFileSystem::getDOMFileSystem):
* WebCore.gypi:

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

8 years ago[Chromium] Add WebDocument.images
commit-queue@webkit.org [Thu, 14 Jun 2012 06:31:48 +0000 (06:31 +0000)]
[Chromium] Add WebDocument.images
https://bugs.webkit.org/show_bug.cgi?id=88837

Patch by Jesse Greenwald <jgreenwald@google.com> on 2012-06-13
Reviewed by Adam Barth.

This method is needed on Android to support the existing
WebView.documentHasImages Java API.

* public/WebDocument.h:
(WebDocument):
* src/WebDocument.cpp:
(WebKit::WebDocument::images):
(WebKit):

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

8 years agoUnreviewed: Disable verifyHitTestingForSingleLayer.
dominicc@chromium.org [Thu, 14 Jun 2012 06:30:17 +0000 (06:30 +0000)]
Unreviewed: Disable verifyHitTestingForSingleLayer.
https://bugs.webkit.org/show_bug.cgi?id=89065

It is failing on canary debug bots.

* tests/CCLayerTreeHostCommonTest.cpp:

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

8 years agoFile::lastModifiedDate should use NaN or separate boolean flag for null Date value
kinuko@chromium.org [Thu, 14 Jun 2012 06:17:26 +0000 (06:17 +0000)]
File::lastModifiedDate should use NaN or separate boolean flag for null Date value
https://bugs.webkit.org/show_bug.cgi?id=87826

Reviewed by Kent Tamura.

Test: http/tests/local/fileapi/file-last-modified-after-delete.html

* fileapi/File.cpp:
(WebCore::File::File):
(WebCore::File::captureSnapshot):
(WebCore::File::lastModifiedDate):
(WebCore::File::lastModifiedDateForBinding): Removed.
* fileapi/File.h:
(File):
* fileapi/File.idl:
* platform/FileMetadata.h:
(WebCore::FileMetadata::FileMetadata):
* platform/FileSystem.h:
* platform/FileStream.cpp:
(WebCore::FileStream::getSize):
* platform/chromium/support/WebHTTPBody.cpp:
(WebKit::WebHTTPBody::elementAt):
* platform/network/BlobData.h:
(WebCore::BlobDataItem::doNotCheckFileChange): Removed.
* platform/network/BlobData.cpp:
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::advanceCurrentStream):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::blobIsOutOfDate):

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

8 years agoFix CMake build with SMOOTH_SCROLLING enabled
efidler@rim.com [Thu, 14 Jun 2012 05:59:14 +0000 (05:59 +0000)]
Fix CMake build with SMOOTH_SCROLLING enabled
https://bugs.webkit.org/show_bug.cgi?id=89032

Reviewed by Antonio Gomes.

SMOOTH_SCROLLING pulls in ScrollAnimatorNone.cpp, which has
dependencies on platform/ActivePlatformGestureAnimation.cpp and
platform/TouchpadFlingPlatformGestureCurve.cpp

* CMakeLists.txt:

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

8 years agoSource/WebCore: Touched CSSPropertyNames.in to trigger a proper rebuild
commit-queue@webkit.org [Thu, 14 Jun 2012 05:22:47 +0000 (05:22 +0000)]
Source/WebCore: Touched CSSPropertyNames.in to trigger a proper rebuild

[CSS Regions] Adding feature defines for CSS Regions & exclusions for Windows
https://bugs.webkit.org/show_bug.cgi?id=88645

Patch by Mihai Balan <mibalan@adobe.com> on 2012-06-13
Reviewed by Sam Weinig.

Previous work on #87442 added feature defines to allow proper disabling of CSS Regions and
exclusions (previously even with the feature disabled, parsing still worked). However, the
feature defines were enabled on Mac only - they were broken on Windows. This
patch adds the feature defines to (re)enable regions and exclusions on Windows.

* css/CSSPropertyNames.in: Touched to trigger a proper rebuild. Incremental builds were broken on Windows.

WebKitLibraries: Fix for #88645 - enabling regions on Windows

[CSS Regions] Adding feature defines for CSS Regions & exclusions for Windows
https://bugs.webkit.org/show_bug.cgi?id=88645

Patch by Mihai Balan <mibalan@adobe.com> on 2012-06-13
Reviewed by Sam Weinig.

Previous work on #87442 added feature defines to allow proper disabling of CSS Regions and
exclusions (previously even with the feature disabled, parsing still worked). However, the
feature defines were enabled on Mac only - they were broken on Windows. This
patch adds the feature defines to (re)enable regions and exclusions on Windows.

* win/tools/vsprops/FeatureDefines.vsprops: Added default value for ENABLE_CSS_EXCLUSIONS and ENABLE_CSS_REGIONS
* win/tools/vsprops/FeatureDefinesCairo.vsprops: ditto

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

8 years agomake sure headers are included only once per file
commit-queue@webkit.org [Thu, 14 Jun 2012 05:10:43 +0000 (05:10 +0000)]
make sure headers are included only once per file
https://bugs.webkit.org/show_bug.cgi?id=88931

Patch by Arnaud Renevier <arno@renevier.net> on 2012-06-13
Reviewed by Darin Adler.

* Modules/indexeddb/IDBDatabase.cpp:
* WebCorePrefix.h:
* bindings/js/JSHTMLAllCollectionCustom.cpp:
* bindings/v8/V8Utilities.cpp:
* bindings/v8/custom/V8LocationCustom.cpp:
* bridge/NP_jsobject.cpp:
* editing/Editor.cpp:
* html/HTMLMediaElement.cpp:
* platform/graphics/cairo/PlatformContextCairo.cpp:
* rendering/InlineFlowBox.cpp:

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

8 years ago[WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
commit-queue@webkit.org [Thu, 14 Jun 2012 04:37:22 +0000 (04:37 +0000)]
[WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=88340

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-13
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Add implementation for dispatchIntent() in WebFrameLoaderClient.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/WKBase.h:
* Shared/APIClientTraits.h:
* Shared/APIObject.h:
* Shared/IntentData.cpp: Added.
(WebKit):
(WebKit::IntentData::encode):
(WebKit::IntentData::decode):
* Shared/IntentData.h: Added.
(CoreIPC):
(WebKit):
(IntentData):
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView):
* UIProcess/WebIntentData.cpp: Added.
(WebKit):
(WebKit::WebIntentData::WebIntentData):
(WebKit::WebIntentData::data):
* UIProcess/WebIntentData.h: Added.
(WebKit):
(WebIntentData):
(WebKit::WebIntentData::create):
(WebKit::WebIntentData::~WebIntentData):
(WebKit::WebIntentData::action):
(WebKit::WebIntentData::payloadType):
(WebKit::WebIntentData::extras):
(WebKit::WebIntentData::suggestions):
(WebKit::WebIntentData::type):
* UIProcess/WebLoaderClient.cpp:
(WebKit):
(WebKit::WebLoaderClient::didReceiveIntentForFrame):
* UIProcess/WebLoaderClient.h:
(WebKit):
(WebLoaderClient):
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::didReceiveIntentForFrame):
* UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchIntent):

Tools:

Update initialization of WKPageLoaderClient.

* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

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

8 years agoRename _swapView:with: to _replaceView:with:
timothy_horton@apple.com [Thu, 14 Jun 2012 04:19:51 +0000 (04:19 +0000)]
Rename _swapView:with: to _replaceView:with:
https://bugs.webkit.org/show_bug.cgi?id=89037

Reviewed by Darin Adler.

_swapView:with: is a misnomer - after calling it, the first view is no longer
contained within the view hierarchy. "Replace" is a more accurate term.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
(-[WKFullScreenWindowController _replaceView:with:]):

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

8 years agoUnreviewed typo fix.
morrita@google.com [Thu, 14 Jun 2012 04:18:12 +0000 (04:18 +0000)]
Unreviewed typo fix.

* platform/RefCountedSupplement.h:

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

8 years agoUnreviewed, rolling out r120268.
commit-queue@webkit.org [Thu, 14 Jun 2012 04:12:53 +0000 (04:12 +0000)]
Unreviewed, rolling out r120268.
http://trac.webkit.org/changeset/120268
https://bugs.webkit.org/show_bug.cgi?id=89060

WebCompositor::setPerTilePaintingEnabled hits an assertion in
DEBUG (Requested by dominicc|work on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-13

Source/Platform:

* chromium/public/WebLayerTreeView.h:
(WebCore):
(WebKit::WebLayerTreeView::Settings::Settings):
(Settings):

Source/WebCore:

* WebCore.gypi:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setPerTileDrawingEnabled):
(WebCore::Settings::perTileDrawingEnabled):
(Settings):
(WebCore::Settings::setPartialSwapEnabled):
(WebCore::Settings::partialSwapEnabled):
(WebCore::Settings::setThreadedAnimationEnabled):
(WebCore::Settings::threadedAnimationEnabled):
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::addAnimation):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
* platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
(WebCore::CCDebugRectHistory::enabled):
(WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
* platform/graphics/chromium/cc/CCDebugRectHistory.h:
(WebCore):
(CCDebugRectHistory):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::enabled):
(WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
(WebCore::CCHeadsUpDisplay::showDebugRects):
(WebCore::CCHeadsUpDisplay::draw):
(WebCore::CCHeadsUpDisplay::drawHudContents):
(WebCore::CCHeadsUpDisplay::drawDebugRects):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
(WebCore):
(CCHeadsUpDisplay):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::create):
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::animateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
(CCSettings):
(CCLayerTreeHost):
(WebCore::CCLayerTreeHost::settings):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::create):
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
(WebCore::CCLayerTreeHostImpl::animateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCRenderer.h:
(CCRendererClient):
(WebCore::CCRenderer::settings):
* platform/graphics/chromium/cc/CCSettings.cpp: Removed.
* platform/graphics/chromium/cc/CCSettings.h: Removed.
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::setPerTileDrawingEnabled):
(WebCore):
* testing/InternalSettings.h:
(InternalSettings):

Source/WebKit/chromium:

* WebKit.gypi:
* public/WebCompositor.h:
(WebCompositor):
* public/WebSettings.h:
* src/WebCompositorImpl.cpp:
(WebKit::WebCompositor::shutdown):
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::Settings::operator CCSettings):
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setPerTilePaintingEnabled):
(WebKit):
(WebKit::WebSettingsImpl::setPartialSwapEnabled):
(WebKit::WebSettingsImpl::setThreadedAnimationEnabled):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCLayerTreeHostTest.cpp:
* tests/CCTestCommon.h: Removed.
* tests/CCThreadedTest.cpp:
(WebKitTests::MockLayerTreeHostImpl::create):
(WebKitTests::MockLayerTreeHostImpl::MockLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::create):
(WebKitTests::MockLayerTreeHost::createLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::MockLayerTreeHost):
(WebKitTests::CCThreadedTest::runTest):
* tests/CCThreadedTest.h:
(CCThreadedTest):
(MockLayerTreeHostImpl):
* tests/GraphicsLayerChromiumTest.cpp:
(WebKitTests::MockLayerTreeHost::create):
(WebKitTests::MockLayerTreeHost::createLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::MockLayerTreeHost):
(WebKitTests::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
* tests/LayerChromiumTest.cpp:
* tests/LayerRendererChromiumTest.cpp:
(LayerRendererChromiumTest):
(TEST_F):
(TEST):
* tests/TextureLayerChromiumTest.cpp:
* tests/TiledLayerChromiumTest.cpp:
* tests/TreeSynchronizerTest.cpp:
(WebKitTests::TEST):

Tools:

* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::applyTo):

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

8 years ago[chromium] Add WebFrame::replaceMisspelledRange
hbono@chromium.org [Thu, 14 Jun 2012 04:08:17 +0000 (04:08 +0000)]
[chromium] Add WebFrame::replaceMisspelledRange
https://bugs.webkit.org/show_bug.cgi?id=88618

Reviewed by Kent Tamura.

This change adds WebFrame::replaceMisspelledRange, which replaces the range of a
misspelled marker with text so Chromium can use it for replacing misspelled
words with suggetions.

* public/WebFrame.h:
(WebFrame):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::replaceMisspelledRange):
(WebKit):
* src/WebFrameImpl.h:
(WebFrameImpl):

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

8 years ago[Chromium] Unreviewed: Add rebaseline and update expectations.
kinuko@chromium.org [Thu, 14 Jun 2012 03:57:52 +0000 (03:57 +0000)]
[Chromium] Unreviewed: Add rebaseline and update expectations.
https://bugs.webkit.org/show_bug.cgi?id=87356

Patch by Eric Uhrhane <ericu@chromium.org>

* platform/chromium/fast/files/read-blob-async-expected.txt: Added.
* platform/chromium/fast/files/workers/worker-read-blob-async-expected.txt: Added.
* platform/chromium/fast/files/workers/worker-read-blob-sync-expected.txt: Added.

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

8 years agoREGRESSION (r120252): run-webkit-tests on Mac fails
timothy_horton@apple.com [Thu, 14 Jun 2012 03:47:34 +0000 (03:47 +0000)]
REGRESSION (r120252): run-webkit-tests on Mac fails
https://bugs.webkit.org/show_bug.cgi?id=89057

Reviewed by Dan Bernstein.

get_option will happily return None (the default only kicks in if
the option is actually *not set*). We should instead check get_option's
return value and default to "x86_64" architecture ourselves.

* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort.__init__):

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

8 years ago[Chromium] Unreviewed: Rebaseline for Mac
dominicc@chromium.org [Thu, 14 Jun 2012 03:40:20 +0000 (03:40 +0000)]
[Chromium] Unreviewed: Rebaseline for Mac

Rebaselining after r119893. There was a rebasline in r120221 but
it failed on Chromium WebKit waterfall and canaries after that, so
trying again.

* platform/chromium-mac/fast/borders/border-antialiasing-expected.png:

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

8 years ago[Chromium] Let Android and Linux share WebFontRendering decl/impl.
wangxianzhu@chromium.org [Thu, 14 Jun 2012 03:28:12 +0000 (03:28 +0000)]
[Chromium] Let Android and Linux share WebFontRendering decl/impl.
https://bugs.webkit.org/show_bug.cgi?id=88802

Reviewed by Adam Barth.

* WebKit.gyp:
* public/linux/WebFontRendering.h: Temporarily forwards to the new file under linuxish.
* public/linuxish: Added.
* public/linuxish/WebFontRendering.h: Copied from chromium/public/linux/WebFontRendering.h.
* src/linux/WebFontRendering.cpp: Removed.
* src/linuxish: Added.
* src/linuxish/WebFontRendering.cpp: Copied from chromium/src/linux/WebFontRendering.cpp.

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

8 years ago[Chromium] Unreviewed: Update expectations
dominicc@chromium.org [Thu, 14 Jun 2012 03:22:17 +0000 (03:22 +0000)]
[Chromium] Unreviewed: Update expectations
https://bugs.webkit.org/show_bug.cgi?id=88949

http/tests/media/media-source/video-media-source-add-and-remove-ids.html
is flakily hitting an ASSERT on Chromium canaries.

* platform/chromium/TestExpectations:

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

8 years ago[chromium] Certain settings in CCSettings could be global
commit-queue@webkit.org [Thu, 14 Jun 2012 03:15:46 +0000 (03:15 +0000)]
[chromium] Certain settings in CCSettings could be global
https://bugs.webkit.org/show_bug.cgi?id=88384

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-13
Reviewed by James Robinson.

Source/Platform:

* chromium/public/WebLayerTreeView.h:
(WebCore):
(WebKit::WebLayerTreeView::Settings::Settings):
(Settings):

Source/WebCore:

No new tests. No new functionality.

* WebCore.gypi:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(Settings):
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::addAnimation):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
* platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
(WebCore::CCDebugRectHistory::enabled):
(WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
* platform/graphics/chromium/cc/CCDebugRectHistory.h:
(WebCore):
(CCDebugRectHistory):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::enabled):
(WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
(WebCore::CCHeadsUpDisplay::showDebugRects):
(WebCore::CCHeadsUpDisplay::draw):
(WebCore::CCHeadsUpDisplay::drawHudContents):
(WebCore::CCHeadsUpDisplay::drawDebugRects):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
(WebCore):
(CCHeadsUpDisplay):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::create):
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::animateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
(CCLayerTreeSettings):
(CCLayerTreeHost):
(WebCore::CCLayerTreeHost::settings):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::create):
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
(WebCore::CCLayerTreeHostImpl::animateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCRenderer.h:
(CCRendererClient):
(WebCore::CCRenderer::settings):
* platform/graphics/chromium/cc/CCSettings.cpp: Added.
(WebCore):
(WebCore::CCSettings::perTilePaintingEnabled):
(WebCore::CCSettings::setPerTilePaintingEnabled):
(WebCore::CCSettings::partialSwapEnabled):
(WebCore::CCSettings::setPartialSwapEnabled):
(WebCore::CCSettings::acceleratedAnimationEnabled):
(WebCore::CCSettings::setAcceleratedAnimationEnabled):
(WebCore::CCSettings::reset):
* platform/graphics/chromium/cc/CCSettings.h: Added.
(WebCore):
(CCSettings):
* testing/InternalSettings.cpp:
* testing/InternalSettings.h:
(InternalSettings):

Source/WebKit/chromium:

* WebKit.gypi:
* public/WebCompositor.h:
(WebCompositor):
* public/WebSettings.h:
* src/WebCompositorImpl.cpp:
(WebKit::WebCompositor::shutdown):
(WebKit):
(WebKit::WebCompositor::setPerTilePaintingEnabled):
(WebKit::WebCompositor::setPartialSwapEnabled):
(WebKit::WebCompositor::setAcceleratedAnimationEnabled):
* src/WebLayerTreeView.cpp:
(WebKit):
(WebKit::WebLayerTreeView::Settings::operator CCLayerTreeSettings):
* src/WebSettingsImpl.cpp:
* src/WebSettingsImpl.h:
(WebSettingsImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCLayerTreeHostTest.cpp:
(WTF):
(CCLayerTreeHostTestShortlived1):
(WTF::CCLayerTreeHostTestShortlived1::CCLayerTreeHostTestShortlived1):
(WTF::CCLayerTreeHostTestShortlived1::beginTest):
(WTF::CCLayerTreeHostTestShortlived1::afterTest):
* tests/CCTestCommon.h: Added.
(WebKitTests):
(CCScopedSettings):
(WebKitTests::CCScopedSettings::CCScopedSettings):
(WebKitTests::CCScopedSettings::~CCScopedSettings):
* tests/CCThreadedTest.cpp:
(WebKitTests::MockLayerTreeHostImpl::create):
(WebKitTests::MockLayerTreeHostImpl::MockLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::create):
(WebKitTests::MockLayerTreeHost::createLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::MockLayerTreeHost):
(WebKitTests::CCThreadedTest::runTest):
* tests/CCThreadedTest.h:
(CCThreadedTest):
(MockLayerTreeHostImpl):
* tests/GraphicsLayerChromiumTest.cpp:
(WebKitTests::MockLayerTreeHost::create):
(WebKitTests::MockLayerTreeHost::createLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::MockLayerTreeHost):
(WebKitTests::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
* tests/LayerChromiumTest.cpp:
* tests/LayerRendererChromiumTest.cpp:
(LayerRendererChromiumTest):
(TEST_F):
(TEST):
* tests/TextureLayerChromiumTest.cpp:
* tests/TiledLayerChromiumTest.cpp:
* tests/TreeSynchronizerTest.cpp:
(WebKitTests::TEST):

Tools:

* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::applyTo):

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

8 years ago[BlackBerry] Apply New Style and JS for Select Popup
commit-queue@webkit.org [Thu, 14 Jun 2012 02:36:35 +0000 (02:36 +0000)]
[BlackBerry] Apply New Style and JS for Select Popup
https://bugs.webkit.org/show_bug.cgi?id=89020

Patch by Crystal Zhang <haizhang@rim.com> on 2012-06-13
Reviewed by Rob Buis.

PR 162854

Source/WebCore:

Use new python script for data generating, as the old one is too simple and problematic.

* PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

Use new styled CSS files for select popup, also remove most JS functions
to a separate JS file, only pass the parameters to JS, and use new python
script for data generating, as the old one is too simple and problematic.

* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::generateHTML):

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

8 years ago[chromium] Assert if iterating an invalid RenderSurfaceLayerList, where a layer in...
danakj@chromium.org [Thu, 14 Jun 2012 02:27:21 +0000 (02:27 +0000)]
[chromium] Assert if iterating an invalid RenderSurfaceLayerList, where a layer in the list has no RenderSurface
https://bugs.webkit.org/show_bug.cgi?id=89004

Reviewed by Adrienne Walker.

Source/WebCore:

A RenderSurfaceLayerList expects that all layers in the list own a
RenderSurface. If an invalid RSLL is iterated over, the
CCLayerIterator class will now ASSERT in debug mode, as well as
considering the list empty in release mode.

We will be adding code to CCLayerTreeHostImpl to save a RSLL across
frames, so adding a clearRenderSurfaces() method with a FIXME comment
to make it clear that we should clear the RSLL when we remove
RenderSurfaces from the layers in the saved RSLL.

* platform/graphics/chromium/cc/CCLayerIterator.h:
(WebCore::CCLayerIterator::CCLayerIterator):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
(WebCore::clearRenderSurfacesOnCCLayerImplRecursive):
(WebCore::CCLayerTreeHostImpl::clearRenderSurfaces):
(WebCore):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):

Source/WebKit/chromium:

* tests/CCLayerIteratorTest.cpp:

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

8 years agoRemove redundant code from RenderView and RenderBlock
yael.aharon@nokia.com [Thu, 14 Jun 2012 02:03:56 +0000 (02:03 +0000)]
Remove redundant code from RenderView and RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=89019

Reviewed by Abhishek Arya.

As pointed out in https://bugs.webkit.org/show_bug.cgi?id=83981#c7 , RenderView::insertFixedPositionedObject()
is redundant and should be removed.
No new tests.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::insertPositionedObject):
(WebCore::RenderBlock::removePositionedObject):
* rendering/RenderView.cpp:
(WebCore):
* rendering/RenderView.h:
(RenderView):

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

8 years agoAddress some feedbacks in layout test
commit-queue@webkit.org [Thu, 14 Jun 2012 00:40:40 +0000 (00:40 +0000)]
Address some feedbacks in layout test
https://bugs.webkit.org/show_bug.cgi?id=88909

Patch by Min Qin <qinmin@google.com> on 2012-06-13
Reviewed by Eric Carlson.

Fixed some comments in https://bugs.webkit.org/show_bug.cgi?id=88897.
Reduced the timeout to 100 ms and fixed the function definition.

* media/no-autoplay-with-user-gesture-requirement.html:

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

8 years ago[chromium] Create a CCStreamVideoDrawQuad used for StreamTexture video output
danakj@chromium.org [Thu, 14 Jun 2012 00:38:00 +0000 (00:38 +0000)]
[chromium] Create a CCStreamVideoDrawQuad used for StreamTexture video output
https://bugs.webkit.org/show_bug.cgi?id=88826

Reviewed by Adrienne Walker.

Remove the matrix from the CCVideoDrawQuad, and create a new quad
specifically for StreamTexture video decoder output. This quad
contains only the fields needed for display - textureId and the
matrix to be applied to texture coords.

Removes the (0, 0, 1, 1) "transform" from the shader used for these
quads, as it was a no-op.

No new tests, no change in behaviour.

* WebCore.gypi:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawQuad):
(WebCore::LayerRendererChromium::drawStreamVideoQuad):
(WebCore::LayerRendererChromium::drawVideoQuad):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore):
(LayerRendererChromium):
* platform/graphics/chromium/ShaderChromium.cpp:
(WebCore::VertexShaderVideoTransform::VertexShaderVideoTransform):
(WebCore::VertexShaderVideoTransform::init):
(WebCore::VertexShaderVideoTransform::getShaderString):
* platform/graphics/chromium/ShaderChromium.h:
(VertexShaderVideoTransform):
* platform/graphics/chromium/cc/CCDrawQuad.cpp:
(WebCore::CCDrawQuad::toStreamVideoDrawQuad):
(WebCore):
* platform/graphics/chromium/cc/CCDrawQuad.h:
(WebCore):
(CCDrawQuad):
* platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp: Added.
(WebCore):
(WebCore::CCStreamVideoDrawQuad::create):
(WebCore::CCStreamVideoDrawQuad::CCStreamVideoDrawQuad):
* platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h: Added.
(WebCore):
(CCStreamVideoDrawQuad):
(WebCore::CCStreamVideoDrawQuad::textureId):
(WebCore::CCStreamVideoDrawQuad::matrix):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::appendQuads):

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

8 years ago[GTK] Add an accelerated compositing implementation for WebKit2
mrobinson@webkit.org [Thu, 14 Jun 2012 00:13:48 +0000 (00:13 +0000)]
[GTK] Add an accelerated compositing implementation for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=86037

Reviewed by Alejandro G. Castro.

Source/WebCore:

No new tests. These changes are covered by the compositing tests, which
we will gradually try to turn on for the bots.

Add a new GLContext method for getting to current default framebuffer size, which
is quite useful for preventing composited content quivering while resizing.

* platform/graphics/cairo/GLContext.h:
* platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::defaultFrameBufferSize): Added this implementation for X11
which asks the X server for the window size.
* platform/graphics/glx/GLContextGLX.h:

Source/WebKit2:

Add an implementation of LayerTreeHost for GTK+ that uses TextureMapperGL.
Later this implementation will fall back to using the ImageBuffer TextureMapper.

* GNUmakefile.am: Add new files to the compilation.
* Shared/LayerTreeContext.h:
(LayerTreeContext): The GTK+ version of the LayerTreeContext just holds window handle.
* Shared/gtk/LayerTreeContextGtk.cpp: Copied from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.cpp.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h: Added.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Added.
Add this LayerTreeHost implementation that just creates a GL context from the widget X11 window ID.
Later implementations might find a more cross-platform solution.
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize): Initialize the native window handle to be zero.
(WebKit::WebPage::widgetMapped): When mapping the widget, try to get the native window
handle and send it to the WebProcess.

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

8 years ago[chromium] Implement hit-testing for impl-side input handling in accelerated compositor
shawnsingh@chromium.org [Thu, 14 Jun 2012 00:04:59 +0000 (00:04 +0000)]
[chromium] Implement hit-testing for impl-side input handling in accelerated compositor
https://bugs.webkit.org/show_bug.cgi?id=88972

Reviewed by Adrienne Walker.

Source/WebCore:

The original hit testing code by Sami Kyostila.

This patch implements a simple impl-side hit-testing helper
function. At this time, the main motivation for this is so that
composited scrollable layers can be scrolled by the impl thread --
and a prerequisite for that is the ability to hit-test on the impl
thread, to determine where the scrolling action should be applied.

To implement the actual hit test, it's possible to compute the hit
test in two equivalent ways: (a) inverse-project the point into
local space, or (b) forward-transform the rect to screen space
It's not obvious which one would perform better, or which one
would be more robust to w < 0 homogeneous clipping issues. For
this patch, we simply opt for the inverse-projection approach.

10 unit tests added to CCLayerTreeHostCommonTest.cpp:
  CCLayerTreeHostCommonTest.verifyHitTestingForEmptyLayerList
  CCLayerTreeHostCommonTest.verifyHitTestingForSingleLayer
  CCLayerTreeHostCommonTest.verifyHitTestingForSinglePositionedLayer
  CCLayerTreeHostCommonTest.verifyHitTestingForSingleRotatedLayer
  CCLayerTreeHostCommonTest.verifyHitTestingForSinglePerspectiveLayer
  CCLayerTreeHostCommonTest.verifyHitTestingForSingleLayerWithScaledContents
  CCLayerTreeHostCommonTest.verifyHitTestingForSimpleClippedLayer
  CCLayerTreeHostCommonTest.verifyHitTestingForMultiClippedRotatedLayer
  CCLayerTreeHostCommonTest.verifyHitTestingForMultipleLayers
  CCLayerTreeHostCommonTest.verifyHitTestingForMultipleLayerLists

* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::pointHitsRect):
(WebCore):
(WebCore::pointIsClippedBySurfaceOrClipRect):
(WebCore::CCLayerTreeHostCommon::findLayerThatIsHitByPoint):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
(CCLayerTreeHostCommon):
* platform/graphics/chromium/cc/CCMathUtil.cpp:
(WebCore::projectHomogeneousPoint):
(WebCore::mapHomogeneousPoint):
(WebCore::CCMathUtil::mapClippedRect):
(WebCore::CCMathUtil::projectClippedRect):
(WebCore::CCMathUtil::mapClippedQuad):
(WebCore::CCMathUtil::mapQuad):
(WebCore::CCMathUtil::projectPoint):
(WebCore):
* platform/graphics/chromium/cc/CCMathUtil.h:
(WebCore):
(CCMathUtil):

Source/WebKit/chromium:

* tests/CCLayerTreeHostCommonTest.cpp:

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

8 years agoNeed customized toDOMStringList for IndexedDB JSC binding.
charles.wei@torchmobile.com.cn [Wed, 13 Jun 2012 23:40:02 +0000 (23:40 +0000)]
Need customized toDOMStringList for IndexedDB JSC binding.
https://bugs.webkit.org/show_bug.cgi?id=87965

Reviewed by Kentaro Hara.

IndexedDB database interface uses DOMStringList as the input parameter.
The generated toDOMStringList() can't convert an JSArray of Strings to
native DOMStringList. We need a custom function to do this.

Because this patch adds one new file (JSDOMStringList.cpp), all build systems
are updated accordingly to pick up this file.

 Tests: Corresponding bindings/scripts/test/JS files have been updated accordingly.

* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMStringListCustom.cpp: Added.
(WebCore):
(WebCore::toDOMStringList):
* bindings/scripts/CodeGeneratorJS.pm:
(IndexGetterReturnsStrings):
(GenerateHeader):
(GetNativeType):
(GetNativeTypeForCallbacks):
(JSValueToNative):
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackWithStringList):
* bindings/scripts/test/JS/JSTestCallback.h:
(JSTestCallback):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
* dom/DOMStringList.idl:

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

8 years agoPadding and borders can cause integer overflow in block layouts
jpfau@apple.com [Wed, 13 Jun 2012 23:30:22 +0000 (23:30 +0000)]
Padding and borders can cause integer overflow in block layouts
https://bugs.webkit.org/show_bug.cgi?id=88820
<rdar://problem/11328762>

Reviewed by Tony Chang.

Source/WebCore:

Tests: fast/block/block-size-integer-overflow.html
       fast/flexbox/box-size-integer-overflow.html
       fast/table/table-size-integer-overflow.html

* rendering/AutoTableLayout.cpp: Decreased max int.
(WebCore::AutoTableLayout::computePreferredLogicalWidths):
* rendering/FixedTableLayout.cpp: Use shared constant.
(WebCore::FixedTableLayout::computePreferredLogicalWidths):
* rendering/RenderBlock.cpp: Removed unused constant.
* rendering/TableLayout.h: Add shared constant.
(TableLayout):

LayoutTests:

* fast/block/block-size-integer-overflow-expected.txt: Added.
* fast/block/block-size-integer-overflow.html: Added.
* fast/flexbox/box-size-integer-overflow-expected.txt: Added.
* fast/flexbox/box-size-integer-overflow.html: Added.
* fast/table/table-size-integer-overflow-expected.txt: Added.
* fast/table/table-size-integer-overflow.html: Added.

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

8 years agomake sure headers are included only once per file
commit-queue@webkit.org [Wed, 13 Jun 2012 23:25:13 +0000 (23:25 +0000)]
make sure headers are included only once per file
https://bugs.webkit.org/show_bug.cgi?id=88929

Patch by Arnaud Renevier <arno@renevier.net> on 2012-06-13
Reviewed by Kentaro Hara.

* wtf/FastMalloc.cpp:
* wtf/MathExtras.h:
* wtf/OSAllocator.h:

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

8 years agoRefactor WebGLFramebuffer to handle texture attachments
commit-queue@webkit.org [Wed, 13 Jun 2012 23:07:04 +0000 (23:07 +0000)]
Refactor WebGLFramebuffer to handle texture attachments
https://bugs.webkit.org/show_bug.cgi?id=88697

Patch by Gregg Tavares <gman@google.com> on 2012-06-13
Reviewed by Adrienne Walker.

In order to add support for depth textures WebGLFramebuffer
needed to be refactored to handle textures as attachments.

No new tests as no new functionality.

* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::WebGLAttachment::WebGLAttachment):
(WebCore):
(WebCore::WebGLFramebuffer::WebGLAttachment::~WebGLAttachment):
(WebCore::WebGLFramebuffer::WebGLFramebuffer):
(WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
(WebCore::WebGLFramebuffer::attach):
(WebCore::WebGLFramebuffer::getAttachmentObject):
(WebCore::WebGLFramebuffer::getAttachment):
(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
(WebCore::WebGLFramebuffer::getColorBufferWidth):
(WebCore::WebGLFramebuffer::getColorBufferHeight):
(WebCore::WebGLFramebuffer::getColorBufferFormat):
(WebCore::WebGLFramebuffer::checkStatus):
(WebCore::WebGLFramebuffer::onAccess):
(WebCore::WebGLFramebuffer::hasStencilBuffer):
(WebCore::WebGLFramebuffer::deleteObjectImpl):
(WebCore::WebGLFramebuffer::initializeAttachments):
* html/canvas/WebGLFramebuffer.h:
(WebGLAttachment):
(WebGLFramebuffer):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::reattachDepthStencilAttachments):
(WebCore::WebGLRenderingContext::framebufferTexture2D):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
* html/canvas/WebGLRenderingContext.h:
(WebGLRenderingContext):

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

8 years ago[Chromium] Crash when WebViewImpl::setIsTransparent is called before the WebLayerTree...
commit-queue@webkit.org [Wed, 13 Jun 2012 22:58:31 +0000 (22:58 +0000)]
[Chromium] Crash when WebViewImpl::setIsTransparent is called before the WebLayerTreeView has been initialized.
https://bugs.webkit.org/show_bug.cgi?id=89013

Patch by David Reveman <reveman@chromium.org> on 2012-06-13
Reviewed by James Robinson.

Add !m_layerTreeView.isNull() check to WebViewImpl::setIsTransparent.

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

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

8 years agoUnreviewed, expectations changes.
dpranke@chromium.org [Wed, 13 Jun 2012 22:55:18 +0000 (22:55 +0000)]
Unreviewed, expectations changes.

* platform/chromium-win/http/tests/misc/location-replace-crossdomain-expected.txt:
* platform/chromium/fast/events/constructors/speech-recognition-error-constructor-expected.txt: Added.

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

8 years agonew-run-webkit-tests does not support --32-bit like ORWT did
dpranke@chromium.org [Wed, 13 Jun 2012 22:37:11 +0000 (22:37 +0000)]
new-run-webkit-tests does not support --32-bit like ORWT did
https://bugs.webkit.org/show_bug.cgi?id=71634

Reviewed by Ojan Vafai.

This patch adds support for 32-bit apple mac builds, adding the
--32-bit flag for compatibility with ORWT and fixing the port
architecture() definition to actually return the correct values.

* Scripts/webkitpy/layout_tests/port/apple.py:
(ApplePort._generate_all_test_configurations):
* Scripts/webkitpy/layout_tests/port/factory.py:
(port_options):
* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort):
(MacPort.__init__):
(MacPort._build_driver_flags):
(MacPort.setup_environ_for_server):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(test_sample_process_throws_exception):
(test_32bit):
(test_32bit.run_script):
(test_64bit):
(test_64bit.run_script):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort._build_driver):
(WebKitPort._build_driver_flags):
* Scripts/webkitpy/layout_tests/port/win.py:
(WinPort):

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

8 years agoRemove return statement in void method
commit-queue@webkit.org [Wed, 13 Jun 2012 21:59:01 +0000 (21:59 +0000)]
Remove return statement in void method
https://bugs.webkit.org/show_bug.cgi?id=88998

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-06-13
Reviewed by Andreas Kling

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::collectStyleForAttribute):

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

8 years agoImplement the simple constructors WTFURL's KURL
benjamin@webkit.org [Wed, 13 Jun 2012 21:44:27 +0000 (21:44 +0000)]
Implement the simple constructors WTFURL's KURL
https://bugs.webkit.org/show_bug.cgi?id=85724

Reviewed by Adam Barth.

Source/WebCore:

This patch implement the correct initialization of KURL from an absolute URL.
The URL correctness is also relaxed in order to have KURLWTFURL works similarily to KURL.

* platform/KURLWTFURL.cpp:
(WebCore::KURL::KURL):
(WebCore::KURL::isValid):
(WebCore::KURL::string):
(WebCore::KURL::protocol):
(WebCore::KURL::host):
(WebCore::KURL::port): Fix a bug where invalidPortNumber was returned if no port was defined.
(WebCore::KURL::hasFragmentIdentifier):
(WebCore::KURL::fragmentIdentifier):
(WebCore::KURL::protocolIs):
(WebCore::KURL::removeFragmentIdentifier):
(WebCore):
(WebCore::KURL::print):
* platform/cf/KURLCFNet.cpp:
(WebCore::KURL::KURL):
(WebCore::KURL::createCFURL):
(WebCore):
* platform/mac/KURLMac.mm:
(WebCore::KURL::KURL):
(WebCore::KURL::createCFURL):
(WebCore):
Use the code of KURL to make the conversion from WTFURL to NSURL.

Source/WTF:

This patch extends WTFURL with:
-support basic debugging using print() methods
-parsing in the incomming string character set (8bits or 16bits)
-add a function for parsing of relative URL (but no implementation yet)

* WTF.xcodeproj/project.pbxproj:
* wtf/text/WTFString.h:
(String):
* wtf/url/api/ParsedURL.cpp:
(WTF::ParsedURL::ParsedURL):
(WTF):
(WTF::ParsedURL::hasFragment): Add this method to query the framgent availability without
allocating a new String.
(WTF::ParsedURL::withoutFragment): This method is added to implement KURL::removeFragmentIdentifier() and
the parsing of empty relative URL (where we return the base without fragment).
(WTF::ParsedURL::print):
* wtf/url/api/ParsedURL.h:
(ParsedURL):
(WTF::ParsedURL::spec):
* wtf/url/api/URLString.h:
(URLString):
* wtf/url/src/URLParser.h:
(WTF):
(URLParser):
(WTF::URLParser::parseURLWithBase):
* wtf/url/src/URLSegments.cpp:
(WTF::URLSegments::length):
(WTF::URLSegments::charactersBefore):
* wtf/url/src/URLSegments.h:
(URLSegments):
Change the boolean argument includeDelimiter in favor of an enum to improve readability.

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

8 years agoRemove webkitpy code to support legacy test_expectations.txt files
rniwa@webkit.org [Wed, 13 Jun 2012 21:35:31 +0000 (21:35 +0000)]
Remove webkitpy code to support legacy test_expectations.txt files
https://bugs.webkit.org/show_bug.cgi?id=89038

Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.path_to_test_expectations_file):
(Port.expectations_dict):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_uses_test_expectations_file):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(WebKitPortTest.test_path_to_test_expectations_file):
(test_test_expectations):
* Scripts/webkitpy/style/checker.py:
(CheckerDispatcher.should_skip_without_warning):
(CheckerDispatcher._create_checker):
* Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
(TestExpectationsTestCase._expect_port_for_expectations_path):
* Scripts/webkitpy/tool/steps/commit.py:
(Commit._check_test_expectations):
* Scripts/webkitpy/tool/steps/commit_unittest.py:
(CommitTest.test_check_test_expectations):

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

8 years agoRemove duplicate webkitpointerlockchange events when unlocking.
scheib@chromium.org [Wed, 13 Jun 2012 21:09:57 +0000 (21:09 +0000)]
Remove duplicate webkitpointerlockchange events when unlocking.
https://bugs.webkit.org/show_bug.cgi?id=88917

Reviewed by Dimitri Glazkov.

Source/WebCore:

Subsequent patches adding the new API for entering and exiting
pointer lock would be burdened by handling multiple change events
when the lock target is changed. This change introduces
temporary code to suppress duplicate change events.

Existing tests simplified by removing the duplicate change events.

* page/PointerLockController.cpp:
(WebCore::PointerLockController::requestPointerLock):
(WebCore::PointerLockController::didLosePointerLock):
* page/PointerLockController.h:
(PointerLockController):

LayoutTests:

Part of a series of refactoring changes to update pointer lock API to
the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402

Tests simplified by removing the duplicate change events.

* pointer-lock/lock-already-locked-expected.txt:
* pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt:
* pointer-lock/pointerlockchange-pointerlockerror-events.html:

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

8 years agonrwt: remove port.test_expectations() and port.test_expectations_overrides()
dpranke@chromium.org [Wed, 13 Jun 2012 21:07:05 +0000 (21:07 +0000)]
nrwt: remove port.test_expectations() and port.test_expectations_overrides()
https://bugs.webkit.org/show_bug.cgi?id=88948

Reviewed by Ojan Vafai.

In the final patch of this run, we remove the
test_expectations() and test_expectation_overrides() methods
from the Port class - callers must now use just
expectations_dict().

Note that support for the cascade in new-run-webkit-tests is
complete but only Chromium uses it; webkit-patch
rebaseline-expectations still does not support updating entries
in any file other than the first expectations file, however.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.path_to_test_expectations_file):
(Port.uses_test_expectations_file):
(Port.expectations_files):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_additional_expectations):
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumPortTest.test_expectations_files):
* Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:
(TestGoogleChromePort.test_get_google_chrome_port):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(test_test_expectations):
(test_legacy_test_expectations):

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

8 years agoUpdate range sliders rendering for volume and playback position of new Chrome video...
commit-queue@webkit.org [Wed, 13 Jun 2012 21:01:19 +0000 (21:01 +0000)]
Update range sliders rendering for volume and playback position of new Chrome video controls.
https://bugs.webkit.org/show_bug.cgi?id=88623

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-13
Reviewed by Eric Carlson.

No new tests, final patch will contain the rebaselined tests.

The Chrome video controls are receiving a visual update. This patch contains updates to the
rendering of the range sliders for the playback position and the volume. This includes the
creation of a shadowPseudoId to be able to style the range sliders via CSS, the rendering
of the slider background and the highlighted ranges.

* css/mediaControlsChromium.css:
(input[type="range"]::-webkit-media-slider-container):
Adjust the styling of the slider container backgrounds.
(input[type="range"]::-webkit-media-slider-thumb):
Adjust the styling of the slider thumbs.
* html/shadow/SliderThumbElement.cpp:
(WebCore::sliderThumbShadowPseudoId):
Add an accessor function for the slider thumb shadowPseudoId.
(WebCore::mediaSliderThumbShadowPseudoId):
Add an accessor function for the media slider thumb shadowPseudoId.
(WebCore::SliderThumbElement::shadowPseudoId):
Add a different CSS pseudo-class name to the media slider thumbs.
(WebCore::TrackLimiterElement::shadowPseudoId):
Add a different CSS pseudo-class name to the media slider thumbs.
(WebCore::SliderContainerElement::shadowPseudoId):
Add a different CSS pseudo-class name to the media slider background container.
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintRoundedSliderBackground):
Add function to draw rounded background of sliders in a dark color.
(WebCore::paintSliderRangeHighlight):
Add function to draw a highlighted grey region on the sliders, which is rounded only at
its ends.
(WebCore::paintMediaSlider):
Update the background and buffered range renderings on the playback position slider by making
use of the new helper functions.
(WebCore::paintMediaVolumeSlider):
Update the background and buffered range renderings on the volume slider by making
use of the new helper functions.

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

8 years ago[BlackBerry] Update Select Popup's styling
commit-queue@webkit.org [Wed, 13 Jun 2012 20:56:42 +0000 (20:56 +0000)]
[BlackBerry] Update Select Popup's styling
https://bugs.webkit.org/show_bug.cgi?id=89005

Patch by Christopher Hutten-Czapski <chutten@rim.com> on 2012-06-13
Reviewed by Rob Buis.

Add in some nicely-styled CSS and JS for the BlackBerry port's <select>

* Resources/blackberry/popupControlBlackBerry.css:
(body):
(.popup-area):
(.popup-area>:first-child):
(.popup-buttons):
(.popup-button-divider):
(.popup-button):
(.popup-button:active):
(.popup-button:first-child:active):
(.popup-button:last-child:active):
(.popup-button:only-child:active):
* Resources/blackberry/selectControlBlackBerry.css: Added.
(.select-area):
(.select-area:last-child):
(.option):
(.optgroup:last-child):
(.selected):
(.optgroup):
(.optgroup .option):
* Resources/blackberry/selectControlBlackBerry.js: Added.

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

8 years agoDFG should be able to set watchpoints on global variables
fpizlo@apple.com [Wed, 13 Jun 2012 20:53:52 +0000 (20:53 +0000)]
DFG should be able to set watchpoints on global variables
https://bugs.webkit.org/show_bug.cgi?id=88692

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Rolling back in after fixing Windows build issues, and implementing
branchTest8 for the Qt port's strange assemblers.

This implements global variable constant folding by allowing the optimizing
compiler to set a "watchpoint" on globals that it wishes to constant fold.
If the watchpoint fires, then an OSR exit is forced by overwriting the
machine code that the optimizing compiler generated with a jump.

As such, this patch is adding quite a bit of stuff:

- Jump replacement on those hardware targets supported by the optimizing
  JIT. It is now possible to patch in a jump instruction over any recorded
  watchpoint label. The jump must be "local" in the sense that it must be
  within the range of the largest jump distance supported by a one
  instruction jump.

- WatchpointSets and Watchpoints. A Watchpoint is a doubly-linked list node
  that records the location where a jump must be inserted and the
  destination to which it should jump. Watchpoints can be added to a
  WatchpointSet. The WatchpointSet can be fired all at once, which plants
  all jumps. WatchpointSet also remembers if it had ever been invalidated,
  which allows for monotonicity: we typically don't want to optimize using
  watchpoints on something for which watchpoints had previously fired. The
  act of notifying a WatchpointSet has a trivial fast path in case no
  Watchpoints are registered (one-byte load+branch).

- SpeculativeJIT::speculationWatchpoint(). It's like speculationCheck(),
  except that you don't have to emit branches. But, you need to know what
  WatchpointSet to add the resulting Watchpoint to. Not everything that
  you could write a speculationCheck() for will have a WatchpointSet that
  would get notified if the condition you were speculating against became
  invalid.

- SymbolTableEntry now has the ability to refer to a WatchpointSet. It can
  do so without incurring any space overhead for those entries that don't
  have WatchpointSets.

- The bytecode generator infers all global function variables to be
  watchable, and makes all stores perform the WatchpointSet's write check,
  and marks all loads as being potentially watchable (i.e. you can compile
  them to a watchpoint and a constant).

Put together, this allows for fully sleazy inlining of calls to globally
declared functions. The inline prologue will no longer contain the load of
the function, or any checks of the function you're calling. I.e. it's
pretty much like the kind of inlining you would see in Java or C++.
Furthermore, the watchpointing functionality is built to be fairly general,
and should allow setting watchpoints on all sorts of interesting things
in the future.

The sleazy inlining means that we will now sometimes inline in code paths
that have never executed. Previously, to inline we would have either had
to have executed the call (to read the call's inline cache) or have
executed the method check (to read the method check's inline cache). Now,
we might inline when the callee is a watched global variable. This
revealed some humorous bugs. First, constant folding disagreed with CFA
over what kinds of operations can clobber (example: code path A is dead
but stores a String into variable X, all other code paths store 0 into
X, and then you do CompareEq(X, 0) - CFA will say that this is a non-
clobbering constant, but constant folding thought it was clobbering
because it saw the String prediction). Second, inlining would crash if
the inline callee had not been compiled. This patch fixes both bugs,
since otherwise run-javascriptcore-tests would report regressions.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/ARMv7Assembler.h:
(ARMv7Assembler):
(JSC::ARMv7Assembler::ARMv7Assembler):
(JSC::ARMv7Assembler::labelForWatchpoint):
(JSC::ARMv7Assembler::label):
(JSC::ARMv7Assembler::replaceWithJump):
(JSC::ARMv7Assembler::maxJumpReplacementSize):
* assembler/AbstractMacroAssembler.h:
(JSC):
(AbstractMacroAssembler):
(Label):
(JSC::AbstractMacroAssembler::watchpointLabel):
(JSC::AbstractMacroAssembler::readPointer):
* assembler/AssemblerBuffer.h:
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::branchTest8):
(MacroAssemblerARM):
(JSC::MacroAssemblerARM::replaceWithJump):
(JSC::MacroAssemblerARM::maxJumpReplacementSize):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::load8Signed):
(JSC::MacroAssemblerARMv7::load16Signed):
(MacroAssemblerARMv7):
(JSC::MacroAssemblerARMv7::replaceWithJump):
(JSC::MacroAssemblerARMv7::maxJumpReplacementSize):
(JSC::MacroAssemblerARMv7::branchTest8):
(JSC::MacroAssemblerARMv7::jump):
(JSC::MacroAssemblerARMv7::makeBranch):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::branchTest8):
(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::replaceWithJump):
(JSC::MacroAssemblerMIPS::maxJumpReplacementSize):
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::branchTest8):
(MacroAssemblerSH4):
(JSC::MacroAssemblerSH4::replaceWithJump):
(JSC::MacroAssemblerSH4::maxJumpReplacementSize):
* assembler/MacroAssemblerX86.h:
(MacroAssemblerX86):
(JSC::MacroAssemblerX86::branchTest8):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::replaceWithJump):
(MacroAssemblerX86Common):
(JSC::MacroAssemblerX86Common::maxJumpReplacementSize):
* assembler/MacroAssemblerX86_64.h:
(MacroAssemblerX86_64):
(JSC::MacroAssemblerX86_64::branchTest8):
* assembler/X86Assembler.h:
(JSC::X86Assembler::X86Assembler):
(X86Assembler):
(JSC::X86Assembler::cmpb_im):
(JSC::X86Assembler::testb_im):
(JSC::X86Assembler::labelForWatchpoint):
(JSC::X86Assembler::label):
(JSC::X86Assembler::replaceWithJump):
(JSC::X86Assembler::maxJumpReplacementSize):
(JSC::X86Assembler::X86InstructionFormatter::memoryModRM):
* bytecode/CodeBlock.cpp:
(JSC):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::dump):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::appendOSRExit):
(JSC::CodeBlock::appendSpeculationRecovery):
(CodeBlock):
(JSC::CodeBlock::appendWatchpoint):
(JSC::CodeBlock::numberOfWatchpoints):
(JSC::CodeBlock::watchpoint):
(DFGData):
* bytecode/DFGExitProfile.h:
(JSC::DFG::exitKindToString):
(JSC::DFG::exitKindIsCountable):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForChain):
* bytecode/Instruction.h:
(Instruction):
(JSC::Instruction::Instruction):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/Watchpoint.cpp: Added.
(JSC):
(JSC::Watchpoint::~Watchpoint):
(JSC::Watchpoint::correctLabels):
(JSC::Watchpoint::fire):
(JSC::WatchpointSet::WatchpointSet):
(JSC::WatchpointSet::~WatchpointSet):
(JSC::WatchpointSet::add):
(JSC::WatchpointSet::notifyWriteSlow):
(JSC::WatchpointSet::fireAllWatchpoints):
* bytecode/Watchpoint.h: Added.
(JSC):
(Watchpoint):
(JSC::Watchpoint::Watchpoint):
(JSC::Watchpoint::setDestination):
(WatchpointSet):
(JSC::WatchpointSet::isStillValid):
(JSC::WatchpointSet::hasBeenInvalidated):
(JSC::WatchpointSet::startWatching):
(JSC::WatchpointSet::notifyWrite):
(JSC::WatchpointSet::addressOfIsWatched):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::ResolveResult::checkValidity):
(JSC::BytecodeGenerator::addGlobalVar):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetStaticVar):
(JSC::BytecodeGenerator::emitPutStaticVar):
* bytecompiler/BytecodeGenerator.h:
(BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixResolveNode::emitBytecode):
(JSC::PrefixResolveNode::emitBytecode):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::clobberStructures):
* dfg/DFGAbstractState.h:
(AbstractState):
(JSC::DFG::AbstractState::didClobber):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCCallHelpers.h:
(CCallHelpers):
(JSC::DFG::CCallHelpers::setupArguments):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::globalVarWatchpointElimination):
(CSEPhase):
(JSC::DFG::CSEPhase::globalVarStoreElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::run):
* dfg/DFGCorrectableJumpPoint.h:
(JSC::DFG::CorrectableJumpPoint::isSet):
(CorrectableJumpPoint):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifierNumberForCheck):
(Node):
(JSC::DFG::Node::identifierNumberForCheck):
(JSC::DFG::Node::hasRegisterPointer):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
* dfg/DFGOSRExit.h:
(OSRExit):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::appendCall):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_global_var_check):
(JSC):
(JSC::JIT::emitSlow_op_put_global_var_check):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_global_var_check):
(JSC):
(JSC::JIT::emitSlow_op_put_global_var_check):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
(JSC):
* jit/JITStubs.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(LLInt):
* llint/LLIntSlowPaths.h:
(LLInt):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSObject.cpp:
(JSC::JSObject::removeDirect):
* runtime/JSObject.h:
(JSObject):
* runtime/JSSymbolTableObject.h:
(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):
* runtime/SymbolTable.cpp: Added.
(JSC):
(JSC::SymbolTableEntry::copySlow):
(JSC::SymbolTableEntry::freeFatEntrySlow):
(JSC::SymbolTableEntry::couldBeWatched):
(JSC::SymbolTableEntry::attemptToWatch):
(JSC::SymbolTableEntry::addressOfIsWatched):
(JSC::SymbolTableEntry::addWatchpoint):
(JSC::SymbolTableEntry::notifyWriteSlow):
(JSC::SymbolTableEntry::inflateSlow):
* runtime/SymbolTable.h:
(JSC):
(SymbolTableEntry):
(Fast):
(JSC::SymbolTableEntry::Fast::Fast):
(JSC::SymbolTableEntry::Fast::isNull):
(JSC::SymbolTableEntry::Fast::getIndex):
(JSC::SymbolTableEntry::Fast::isReadOnly):
(JSC::SymbolTableEntry::Fast::getAttributes):
(JSC::SymbolTableEntry::Fast::isFat):
(JSC::SymbolTableEntry::SymbolTableEntry):
(JSC::SymbolTableEntry::~SymbolTableEntry):
(JSC::SymbolTableEntry::operator=):
(JSC::SymbolTableEntry::isNull):
(JSC::SymbolTableEntry::getIndex):
(JSC::SymbolTableEntry::getFast):
(JSC::SymbolTableEntry::getAttributes):
(JSC::SymbolTableEntry::isReadOnly):
(JSC::SymbolTableEntry::watchpointSet):
(JSC::SymbolTableEntry::notifyWrite):
(FatEntry):
(JSC::SymbolTableEntry::FatEntry::FatEntry):
(JSC::SymbolTableEntry::isFat):
(JSC::SymbolTableEntry::fatEntry):
(JSC::SymbolTableEntry::inflate):
(JSC::SymbolTableEntry::bits):
(JSC::SymbolTableEntry::freeFatEntry):
(JSC::SymbolTableEntry::pack):
(JSC::SymbolTableEntry::isValidIndex):

Source/WTF:

Reviewed by Geoffrey Garen.

Added ability to set the inline capacity of segmented vectors.

Also added the ability ot ASSERT_NOT_REACHED() without having to
propagate NO_RETURN macros, which would be a show-stopper for code
that is conditionally unreachable.

* wtf/Assertions.h:
(UNREACHABLE_FOR_PLATFORM):
* wtf/SegmentedVector.h:
(WTF):
(SegmentedVectorIterator):
(WTF::SegmentedVectorIterator::operator=):
(WTF::SegmentedVectorIterator::SegmentedVectorIterator):
(SegmentedVector):

LayoutTests:

Rubber stamped by Geoffrey Garen.

Added a test for watchpoints. Also updated the jsc-test-list to include the latest
tests.

* fast/js/dfg-call-function-hit-watchpoint-expected.txt: Added.
* fast/js/dfg-call-function-hit-watchpoint.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-call-function-hit-watchpoint.js: Added.
(foo):
(bar):
(.foo):

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

8 years agonrwt: implement the actual cascade of TestExpectations
dpranke@chromium.org [Wed, 13 Jun 2012 20:43:13 +0000 (20:43 +0000)]
nrwt: implement the actual cascade of TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=88947

Reviewed by Ojan Vafai.

This change implements the actual cascade by removing the
concept of 'overrides' from the TestExpectations object and
parsing each file separately.

There is an actual semantic change in this patch, in that
setting an expectation on a directory in one file will override
the expectations on any individual tests set in prior files. The
test_overrides__directory() unit test verifies this.

Otherwise, this patch mostly consists of deleting code :).

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationsModel.__init__):
(TestExpectationsModel.add_expectation_line):
(TestExpectationsModel._add_test):
(TestExpectationsModel._already_seen_better_match):
(TestExpectations.__init__):
(TestExpectations._add_expectations):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(test_overrides__directory):

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

8 years agoUnreviewed GTK gardening after r120228, fix an incorrect test expectation.
zandobersek@gmail.com [Wed, 13 Jun 2012 20:37:53 +0000 (20:37 +0000)]
Unreviewed GTK gardening after r120228, fix an incorrect test expectation.

* platform/gtk/TestExpectations:

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

8 years ago[V8] IndexedDB: Cursor value modifications should be preserved until cursor iterates
commit-queue@webkit.org [Wed, 13 Jun 2012 20:29:50 +0000 (20:29 +0000)]
[V8] IndexedDB: Cursor value modifications should be preserved until cursor iterates
https://bugs.webkit.org/show_bug.cgi?id=83526

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-13
Reviewed by Kentaro Hara.

Source/WebCore:

Cache the 'value' attribute of IDBCursorWithValue with policy
determined by IDBCursor.cpp, to follow spec behavior of keeping a
consistent script object until the cursor advances. See
http://www.w3.org/TR/IndexedDB/#widl-IDBCursorWithValueSync-value
for details.

Test: storage/indexeddb/cursor-value.html

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::IDBCursor):
(WebCore::IDBCursor::value):
(WebCore::IDBCursor::setValueReady):
* Modules/indexeddb/IDBCursor.h:
(IDBCursor):
(WebCore::IDBCursor::valueIsDirty):
* Modules/indexeddb/IDBCursorWithValue.idl:
* WebCore.gypi:
* bindings/v8/IDBCustomBindings.cpp: Added.
(WebCore):
(WebCore::V8IDBCursorWithValue::valueAccessorGetter):

LayoutTests:

* storage/indexeddb/cursor-value-expected.txt: Added.
* storage/indexeddb/cursor-value.html: Added.
* storage/indexeddb/resources/cursor-value.js: Added.
(openDatabase.request.onsuccess.request.onsuccess):
(openDatabase.request.onsuccess):
(openDatabase):
(testCursor.request.onsuccess):
(testCursor):
(ensureModificationsNotPersisted.request.onsuccess):
(ensureModificationsNotPersisted):

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

8 years agowebkitpy: update callers to use port.expectation_dict() instead of test_expectations...
dpranke@chromium.org [Wed, 13 Jun 2012 20:14:41 +0000 (20:14 +0000)]
webkitpy: update callers to use port.expectation_dict() instead of test_expectations() and test_expectations_overrides()
https://bugs.webkit.org/show_bug.cgi?id=88946

Reviewed by Ojan Vafai.

In preparation for fully supporting cascading expectations files
and removing the 'overrides' concept.

There should be no functional changes in this patch.

* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ManagerTest.test_update_summary_with_result):
(ResultSummaryTest.get_result_summary):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations.__init__):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(parse_exp):
(SkippedTests.check):
(RemoveConfigurationsTest.test_remove):
(test_remove_line):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(LintTest.test_all_configurations.FakePort.__init__):
(LintTest.test_all_configurations.FakePort.expectations_dict):
(LintTest.test_lint_test_files__errors):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(test_overrides_are_included_correctly):

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

8 years agoCode cleanup from bug 88881 to share the SliderVerticalPart code.
commit-queue@webkit.org [Wed, 13 Jun 2012 20:04:10 +0000 (20:04 +0000)]
Code cleanup from bug 88881 to share the SliderVerticalPart code.
https://bugs.webkit.org/show_bug.cgi?id=88930

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-13
Reviewed by Eric Carlson.

No new tests - this is just code cleanup.

* html/shadow/SliderThumbElement.cpp:
(WebCore::hasVerticalAppearance):
Avoid having two ifdef-ed returns in the code depending on ENABLE(VIDEO).

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