2012-06-14 Jon Honeycutt <jhoneycutt@apple.com>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-06-14  Jon Honeycutt  <jhoneycutt@apple.com>
2
3         Fix some failing tests on Windows by resetting the page scale factor
4         between tests.
5         https://bugs.webkit.org/show_bug.cgi?id=89078
6
7         Reviewed by Dirk Pranke.
8
9         * testing/Internals.cpp:
10         (WebCore::Internals::reset):
11         Set the scale factor to 1.0.
12
13 2012-06-14  Sami Kyostila  <skyostil@chromium.org>
14
15         Register fixed position layers with ScrollingCoordinator
16         https://bugs.webkit.org/show_bug.cgi?id=78864
17
18         Reviewed by James Robinson.
19
20         This patch makes ScrollingCoordinator aware of page elements that are
21         either fixed positioned directly or through their ancestors and that
22         also have their own composited backing layers. This allows the
23         ScrollingCoordinator implementation to potentially enable fast
24         scrolling even if there are fixed elements on the page, because the
25         compositor can automatically reposition the fixed element layers after
26         scrolling.
27
28         Since fixed position layers need to be explicitly supported by the
29         ScrollingCoordinator implementation, we add a new
30         supportsFixedPositionLayers() query for checking this.
31
32         * page/FrameView.cpp:
33         (WebCore::FrameView::FrameView):
34         (WebCore::FrameView::useSlowRepaints):
35         (WebCore::FrameView::addFixedObject):
36         (WebCore::FrameView::removeFixedObject):
37         * page/FrameView.h:
38         (FrameView):
39         (WebCore::FrameView::fixedObjects):
40         (WebCore::FrameView::hasFixedObjects):
41         * page/scrolling/ScrollingCoordinator.cpp:
42         (WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
43         (WebCore::ScrollingCoordinator::hasNonLayerFixedObjects):
44         (WebCore):
45         (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
46         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPosition):
47         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
48         * page/scrolling/ScrollingCoordinator.h:
49         (ScrollingCoordinator):
50         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
51         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPosition):
52         (WebCore):
53         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
54         * rendering/RenderBox.cpp:
55         (WebCore::RenderBox::willBeDestroyed):
56         (WebCore::RenderBox::styleWillChange):
57         * rendering/RenderLayerBacking.cpp:
58         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
59         * rendering/RenderLayerCompositor.cpp:
60         (WebCore::RenderLayerCompositor::updateBacking):
61         (WebCore):
62         (WebCore::RenderLayerCompositor::fixedPositionedByAncestor):
63         (WebCore::RenderLayerCompositor::ensureRootLayer):
64         * rendering/RenderLayerCompositor.h:
65
66 2012-06-14  Alexey Proskuryakov  <ap@apple.com>
67
68         [CFNetwork] XMLHttpRequest incorrectly returns cached responses even when there is a Vary header field
69         https://bugs.webkit.org/show_bug.cgi?id=88925
70
71         Reviewed by David Kilzer.
72
73         Test: http/tests/cache/xhr-vary-header.html
74
75         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willCacheResponse): Don't
76         cache the response at all if there is a Vary header field. CFNetwork won't look at
77         it if we allowed the response cached.
78
79         * platform/network/mac/ResourceHandleMac.mm:
80         (WebCore::ResourceHandle::createNSURLConnection): [NSURLResponse copy] is mutable
81         in practice, but we should be nice, and use -mutableCopy.
82         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Same fix as in
83         CFNet code.
84
85 2012-06-13  Andrey Kosyakov  <caseq@chromium.org>
86
87         Web Inspector: use CSS gradients instead of images for timeline bars, checkboxes & bullets
88         https://bugs.webkit.org/show_bug.cgi?id=89024
89
90         Reviewed by Pavel Feldman.
91
92         This brings a bunch of UI changes to the way Timeline bars and related controls are rendered:
93
94         - introduce new color palette for categories;
95         - replace images used to render timeline bars, list bullets and categories checkboxes with CSS gradients;
96         - "flatten" timeline bars
97         - make square list bullets, sharpen corners for lower pane bars;
98         - make links on the list sidebar grey
99         - add more space between categories checkboxes, make labels lighter.
100
101         * WebCore.gypi: Remove old images, add tickMark.png.
102         * inspector/front-end/Images/timelineBarBlue.png: Removed.
103         * inspector/front-end/Images/timelineBarDarkGreen.png: Removed.
104         * inspector/front-end/Images/timelineBarGray.png: Removed.
105         * inspector/front-end/Images/timelineBarGreen.png: Removed.
106         * inspector/front-end/Images/timelineBarLightPurple.png: Removed.
107         * inspector/front-end/Images/timelineBarOrange.png: Removed.
108         * inspector/front-end/Images/timelineBarPurple.png: Removed.
109         * inspector/front-end/Images/timelineBarRed.png: Removed.
110         * inspector/front-end/Images/timelineBarYellow.png: Removed.
111         * inspector/front-end/Images/timelineCheckmarks.png: Removed.
112         * inspector/front-end/Images/timelineDots.png: Removed.
113         * inspector/front-end/TimelinePanel.js:
114         (WebInspector.TimelinePanel.prototype.wasShown): 
115         (WebInspector.TimelinePanel.prototype._closeRecordDetails): Fixed trailing spaces;
116         (WebInspector.TimelinePanel.prototype._injectCategoryStyles): Inject generated styles for categories, if necessary.
117         * inspector/front-end/TimelinePresentationModel.js:
118         (WebInspector.TimelinePresentationModel.categories):
119         (WebInspector.TimelinePresentationModel.createFillStyle):
120         (WebInspector.TimelinePresentationModel.createStyleRuleForCategory):
121         * inspector/front-end/WebKit.qrc: Remove old images, add tickMark.png
122         * inspector/front-end/inspector.css:
123         (.sidebar-tree-section):
124         * inspector/front-end/timelinePanel.css:
125         (#timeline-container .webkit-html-resource-link):
126         (.timeline-category-statusbar-item):
127         (.timeline-category-statusbar-item .timeline-category-checkbox):
128         (.timeline-category-statusbar-item .timeline-category-checkbox:checked::before):
129         (.timeline-tree-item):
130         (.timeline-tree-item .timeline-tree-icon):
131         (.timeline-graph-bar):
132         (.timeline-graph-bar.with-children):
133         (.timeline-graph-bar.cpu):
134         (.timeline-aggregated-category):
135         * inspector/front-end/utilities.js:
136         (Object.values): Return an array of object field's values.
137
138 2012-06-14  Silvia Pfeiffer  <silviapf@chromium.org>
139
140         Change mute button and volume slider behaviour for new Chromium video controls.
141         https://bugs.webkit.org/show_bug.cgi?id=88743
142
143         Reviewed by Eric Carlson.
144
145         No new tests, final patch will contain the rebaselined tests.
146
147         The Chrome video controls are receiving a visual update. This patch makes the mute button and
148         the volume slider interact with each other. When the user mutes the video through clicking the
149         mute button, the volume slider animates to 0% volume. Upon unmute, the previous volume level
150         is restored. Further, when the user drags the volume slider thumb or clicks on the slider and
151         the video is muted, the video unmutes and sets the volume to the user's chosen level.
152
153         * html/shadow/MediaControlElements.cpp:
154         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
155         Add a member field to the volume slider to allow user interaction to unmute the video.
156         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
157         Add the logic to unmute the video if the m_clearMutedOnUserInteraction member field is true.
158         (WebCore::MediaControlVolumeSliderElement::setClearMutedOnUserInteraction):
159         Add a member function to change the value of the m_clearMutedOnUserInteraction member field.
160         * html/shadow/MediaControlElements.h:
161         (MediaControlVolumeSliderElement):
162         Add the setClearMutedOnUserInteraction member function and the m_clearMutedOnUserInteraction member field.
163         * html/shadow/MediaControlRootElementChromium.cpp:
164         (WebCore::MediaControlRootElementChromium::create):
165         Activate unmute on user interaction on the Chromium video volume slider.
166         (WebCore::MediaControlRootElementChromium::changedMute):
167         Add logic to set volume slider to 0 when muted and reset to volume when unmuted.
168         * rendering/RenderMediaControlsChromium.cpp:
169         (WebCore::paintMediaVolumeSlider):
170         Add logic to paint the volume slider active area as 0 when muted.
171
172 2012-06-14  Vsevolod Vlasov  <vsevik@chromium.org>
173
174         Web Inspector: Breakpoints should not be set when UISourceCode content is diverged from VM version of the script.
175         https://bugs.webkit.org/show_bug.cgi?id=89109
176
177         Reviewed by Pavel Feldman.
178
179         * inspector/front-end/BreakpointManager.js:
180         (WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
181         * inspector/front-end/JavaScriptSource.js:
182         (WebInspector.JavaScriptSource.prototype.isDivergedFromVM):
183         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
184
185 2012-06-14  Vsevolod Vlasov  <vsevik@chromium.org>
186
187         Web Inspector: DebuggerModel should support setting breakpoints without script by sourceURL only.
188         https://bugs.webkit.org/show_bug.cgi?id=88988
189
190         Reviewed by Pavel Feldman.
191
192         This change allows setting all saved breakpoints in debugger model by url before the site
193         with corresponding scripts was loaded (allows breaking in onload handler on first load).
194         This change also simplifies implementation of snippets debugging.
195
196         * inspector/front-end/BreakpointManager.js:
197         * inspector/front-end/DebuggerModel.js:
198         (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
199
200 2012-06-14  Pavel Feldman  <pfeldman@chromium.org>
201
202         Web Inspector: refactor settings screen to move user agent and experiments out of general tab.
203         https://bugs.webkit.org/show_bug.cgi?id=89101
204
205         Reviewed by Vsevolod Vlasov.
206
207         See image attached to the bug.
208
209         * English.lproj/localizedStrings.js:
210         * inspector/front-end/SettingsScreen.js:
211         (WebInspector.SettingsScreen.prototype.selectTab):
212         (WebInspector.SettingsScreen.prototype._tabSelected):
213         (WebInspector.SettingsScreen.prototype.set wasShown):
214         (WebInspector.SettingsScreen.prototype.willHide):
215         (WebInspector.SettingsTab):
216         (WebInspector.SettingsTab.prototype._appendSection):
217         (WebInspector.SettingsTab.prototype._createCustomSetting):
218         (WebInspector.GenericSettingsTab):
219         (WebInspector.GenericSettingsTab.prototype._showPaintRectsChanged):
220         (WebInspector.GenericSettingsTab.prototype.get _updateScriptDisabledCheckbox):
221         (WebInspector.GenericSettingsTab.prototype._javaScriptDisabledChanged):
222         (WebInspector.UserAgentSettingsTab):
223         (WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.get const):
224         (WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.textDoubleClicked):
225         (WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.textChanged):
226         (WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.set checkboxClicked):
227         (WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
228         (WebInspector.ExperimentsSettingsTab):
229         (WebInspector.ExperimentsSettingsTab.prototype._createExperimentsWarningSubsection):
230         (WebInspector.ExperimentsSettingsTab.prototype._createExperimentCheckbox.listener):
231         (WebInspector.ExperimentsSettingsTab.prototype._createExperimentCheckbox):
232         * inspector/front-end/ShortcutsScreen.js:
233         * inspector/front-end/TabbedPane.js:
234         (WebInspector.TabbedPane.prototype.get headerContentsElement):
235         * inspector/front-end/helpScreen.css:
236         (.settings-tab.help-container):
237         (.settings-tab .help-block):
238         (.help-content fieldset):
239         (#settings-screen .tabbed-pane-header-tabs):
240         (#settings-screen .tabbed-pane-header-tab):
241
242 2012-06-13  Mark Hahnenberg  <mhahnenberg@apple.com>
243
244         Worker tear-down can re-enter JSC during GC finalization pt. 2
245         https://bugs.webkit.org/show_bug.cgi?id=88601
246
247         Reviewed by David Levin.
248
249         No new tests. Current regression tests are sufficient.
250
251         * workers/WorkerMessagingProxy.cpp:
252         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
253         (WebCore::WorkerMessagingProxy::workerObjectDestroyed): We clear the m_workerObject here because 
254         we don't want anybody else trying to send messages to the Worker now that it has been destroyed.
255         We also queue the asynchronous task for the various other cleanup that still needs to be done. 
256         This allows us to avoid the problem of re-entrant JS code execution during GC.
257         (WebCore):
258         (WebCore::WorkerMessagingProxy::workerObjectDestroyedInternal): Here we set m_mayBeDestroyed to true.
259         This is the point after which deleting the WorkerMessagingProxy in workerContextDestroyedInternal()
260         is okay. It could happen during this function call if the worker thread has been shutdown already, or 
261         it could be called later after we shut down the worker thread.
262         (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): We check m_mayBeDestroyed here 
263         instead of checking m_workerObject. This change effectively orthogonalizes the roles that m_workerObject 
264         was filling. Since we were eagerly clearing m_workerObject, but we wanted to asynchronously call 
265         workerObjectDestroyed(), we needed to make sure we didn't accidentally try to delete the WorkerMessagingProxy
266         twice (once from destroying the Worker and once from destroying the WorkerContext). This boolean field 
267         should fix that issue--we set it lazily like we wanted to do without being in danger of causing use-after-free
268         issues with m_workerObject.
269         * workers/WorkerMessagingProxy.h: Added the new field and function.
270         (WorkerMessagingProxy):
271
272 2012-06-14  Alexander Pavlov  <apavlov@chromium.org>
273
274         Web Inspector: Selector list start position is not extracted for style rules inside @media rules
275         https://bugs.webkit.org/show_bug.cgi?id=89094
276
277         Reviewed by Pavel Feldman.
278
279         Selector list start is now marked inside the "ruleset" rule rather than separately, before its invocation(s).
280
281         * css/CSSGrammar.y:
282
283 2012-06-14  Eric Penner  <epenner@google.com>
284
285         [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.
286         https://bugs.webkit.org/show_bug.cgi?id=88439
287
288         Reviewed by James Robinson.
289
290         Scheduling behavior covered by existing tests.
291
292         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
293         (WebCore::CCActiveAnimation::isFinishedAt):
294         * platform/graphics/chromium/cc/CCActiveAnimation.h:
295         (WebCore::CCActiveAnimation::isFinished):
296         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
297         (WebCore::CCLayerAnimationController::suspendAnimations):
298         (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
299         (WebCore::CCLayerAnimationController::animate):
300         (WebCore::CCLayerAnimationController::hasActiveAnimation):
301         (WebCore):
302         (WebCore::CCLayerAnimationController::markAnimationsForDeletion):
303         (WebCore::CCLayerAnimationController::purgeAnimationsMarkedForDeletion):
304         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
305         (CCLayerAnimationController):
306
307 2012-06-14  Vsevolod Vlasov  <vsevik@chromium.org>
308
309         Web Inspector: ConsoleView.evaluateUsingTextPrompt should evaluate without command line API.
310         https://bugs.webkit.org/show_bug.cgi?id=89096
311
312         Reviewed by Pavel Feldman.
313
314         * inspector/front-end/ConsoleView.js:
315
316 2012-06-14  Silvia Pfeiffer  <silviapf@chromium.org>
317
318         Update the time display of the new Chromium media controls.
319         https://bugs.webkit.org/show_bug.cgi?id=88724
320
321         Reviewed by Eric Carlson.
322
323         No new tests, final patch will contain the rebaselined tests.
324
325         The Chrome video controls are receiving a visual update. This patch changes
326         the format of the time digits that are displayed. They are different for media
327         files of different duration. For non-autoplaying videos, the duration is shown
328         before playback is started.
329
330         * css/mediaControlsChromium.css:
331         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
332         Format the new duration display the same as the current time display.
333         * html/shadow/MediaControlRootElementChromium.cpp:
334         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
335         Add a member field for the duration display.
336         (WebCore::MediaControlRootElementChromium::create):
337         Add an element for the duration display and initially hide the current time display.
338         (WebCore::MediaControlRootElementChromium::setMediaController):
339         Add the duration display to the controller.
340         (WebCore::MediaControlRootElementChromium::reset):
341         Add reset functionality for the duration display.
342         (WebCore::MediaControlRootElementChromium::playbackStarted):
343         Show the current time display and hide the duration display upon playback start.
344         (WebCore::MediaControlRootElementChromium::updateTimeDisplay):
345         Show the current time display and hide the duration display when current time is non-zero.
346         * html/shadow/MediaControlRootElementChromium.h:
347         (WebCore):
348         Add the MediaControlTimeRemainingDisplayElement which provides use with the duration display.
349         (MediaControlRootElementChromium):
350         Add a duration member field, reusing the existing MediaControlTimeRemainingDisplayElement.
351         * rendering/RenderMediaControlsChromium.cpp:
352         (WebCore::formatChromiumMediaControlsTime):
353         Formats a given time under the condition of a given duration.
354         (WebCore::RenderMediaControlsChromium::formatMediaControlsTime):
355         When formatting a single time, assume it to also provide the duration conditions.
356         (WebCore::RenderMediaControlsChromium::formatMediaControlsCurrentTime):
357         Format the current time given the duration.
358         (WebCore::RenderMediaControlsChromium::formatMediaControlsRemainingTime):
359         Format the remaining time from the current time given the duration.
360         * rendering/RenderMediaControlsChromium.h:
361         (RenderMediaControlsChromium):
362         Declare the time formatting member functions.
363         * rendering/RenderThemeChromiumMac.h:
364         (RenderThemeChromiumMac):
365         Declare the time formatting member functions for Chromium on the Mac.
366         * rendering/RenderThemeChromiumMac.mm:
367         (WebCore::RenderThemeChromiumMac::formatMediaControlsTime):
368         (WebCore::RenderThemeChromiumMac::formatMediaControlsCurrentTime):
369         (WebCore::RenderThemeChromiumMac::formatMediaControlsRemainingTime):
370         Call the time formatting member functions of RenderMediaControlsChromium on the Mac.
371         * rendering/RenderThemeChromiumSkia.cpp:
372         (WebCore::formatMediaControlsTime):
373         (WebCore::formatMediaControlsCurrentTime):
374         (WebCore::formatMediaControlsRemainingTime):
375         Call the time formatting member functions of RenderMediaControlsChromium on Skia.
376         * rendering/RenderThemeChromiumSkia.h:
377         (RenderThemeChromiumSkia):
378         Declare the time formatting member functions for Chromium Skia.
379
380 2012-06-14  Eugene Klyuchnikov  <eustas.bug@gmail.com>
381
382         Web Inspector: Refactor message loop instrumentation.
383         https://bugs.webkit.org/show_bug.cgi?id=88978
384
385         Reviewed by Pavel Feldman.
386
387         1) Remove "messageLoop" term
388         2) Reuse WebThread::TaskObserver interface
389         3) Move implementation (from embedder) to platform code.
390
391         * inspector/InspectorClient.h:
392         (WebCore::InspectorClient::startMainThreadMonitoring): Renamed method.
393         (WebCore::InspectorClient::stopMainThreadMonitoring): Ditto.
394         * inspector/InspectorTimelineAgent.cpp:
395         (WebCore::InspectorTimelineAgent::start):
396         (WebCore::InspectorTimelineAgent::stop):
397
398 2012-06-14  Dominik Röttsches  <dominik.rottsches@intel.com>
399
400         [svg] SVGResources applied to Text with Incorrect Transformations in non-CG Implementations
401         https://bugs.webkit.org/show_bug.cgi?id=64966
402
403         Reviewed by Nikolas Zimmermann.
404
405         SVGInlineTextBox::paintTextWithShadows for non-CG implementations resets the scale aspect
406         of the currently applied CTM. This leads to patterns and gradients being incorrectly downscaled.
407         This way of resetting the CTM and drawing fonts "natively" scaled was introduced
408         in r77485 to fix a number of issues with SVG font scaling.
409         Unfortunately, this breaks scaling of patterns and gradients. To fix it,
410         we need to push the transformation back into the pattern/gradient space transformation.
411
412         Tests: svg/transforms/transformed-text-fill-gradient.html
413                svg/transforms/transformed-text-fill-pattern.html
414
415         * rendering/svg/RenderSVGInlineText.cpp:
416         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): Moving the scaling factor calculation out into SVGRenderingContext.
417         * rendering/svg/RenderSVGResourceContainer.cpp:
418         (WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting): Reusing the scaling factor calculation from SVGRenderingContext.
419         (WebCore):
420         * rendering/svg/RenderSVGResourceContainer.h:
421         (RenderSVGResourceContainer):
422         * rendering/svg/RenderSVGResourceGradient.cpp:
423         (WebCore::RenderSVGResourceGradient::applyResource): If needed, push down transformation into gradient space.
424         * rendering/svg/RenderSVGResourcePattern.cpp:
425         (WebCore::RenderSVGResourcePattern::applyResource): If needed, push transformation into pattern space.
426         * rendering/svg/SVGRenderingContext.cpp:
427         (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor): Common scaling factor calculation for RenderSVGInlineText and RenderSVGResourceContainer.
428         * rendering/svg/SVGRenderingContext.h:
429         (SVGRenderingContext):
430
431 2012-06-14  Yoshifumi Inoue  <yosin@chromium.org>
432
433         [Form] Replace InputNumber type to Decimal type and drop InputNumber
434         https://bugs.webkit.org/show_bug.cgi?id=88746
435
436         Reviewed by Kent Tamura.
437
438         This patch removes InputNumber introduced by r119540 by replacing
439         InputNumber type to Decimal type and changing convertDoubleToDecimal
440         and convertDecimalToDouble to Decimal::fromDouble and
441         Decimal::toDouble, respectively.
442
443         No new tests. This patch doesn't change behavior.
444
445         * html/BaseDateAndTimeInputType.cpp:
446         (WebCore::BaseDateAndTimeInputType::setValueAsDecimal):
447         (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp):
448         (WebCore::BaseDateAndTimeInputType::parseToNumber):
449         (WebCore::BaseDateAndTimeInputType::serialize):
450         (WebCore::BaseDateAndTimeInputType::serializeWithComponents):
451         (WebCore::BaseDateAndTimeInputType::serializeWithMilliseconds):
452         * html/BaseDateAndTimeInputType.h:
453         (BaseDateAndTimeInputType):
454         * html/DateInputType.cpp:
455         (WebCore::DateInputType::createStepRange):
456         * html/DateTimeInputType.cpp:
457         (WebCore::DateTimeInputType::defaultValueForStepUp):
458         (WebCore::DateTimeInputType::createStepRange):
459         * html/DateTimeInputType.h:
460         (DateTimeInputType):
461         * html/DateTimeLocalInputType.cpp:
462         (WebCore::DateTimeLocalInputType::createStepRange):
463         * html/HTMLInputElement.cpp:
464         (WebCore::HTMLInputElement::getAllowedValueStep):
465         * html/HTMLInputElement.h:
466         (HTMLInputElement):
467         * html/InputType.cpp:
468         (WebCore::InputType::setValueAsDouble):
469         (WebCore::InputType::setValueAsDecimal):
470         (WebCore::InputType::rangeUnderflow):
471         (WebCore::InputType::rangeOverflow):
472         (WebCore::InputType::defaultValueForStepUp):
473         (WebCore::InputType::minimum):
474         (WebCore::InputType::maximum):
475         (WebCore::InputType::isInRange):
476         (WebCore::InputType::isOutOfRange):
477         (WebCore::InputType::stepMismatch):
478         (WebCore::InputType::validationMessage):
479         (WebCore::InputType::parseToNumber):
480         (WebCore::InputType::parseToNumberOrNaN):
481         (WebCore::InputType::serialize):
482         (WebCore::InputType::applyStep):
483         (WebCore::InputType::getAllowedValueStep):
484         (WebCore::InputType::stepUpFromRenderer):
485         * html/InputType.h:
486         (InputType):
487         * html/MonthInputType.cpp:
488         (WebCore::MonthInputType::defaultValueForStepUp):
489         (WebCore::MonthInputType::createStepRange):
490         (WebCore::MonthInputType::parseToNumber):
491         * html/MonthInputType.h:
492         (MonthInputType):
493         * html/NumberInputType.cpp:
494         (WebCore::NumberInputType::setValueAsDecimal):
495         (WebCore::NumberInputType::createStepRange):
496         (WebCore::NumberInputType::parseToNumber):
497         (WebCore::NumberInputType::serialize):
498         * html/NumberInputType.h:
499         (NumberInputType):
500         * html/RangeInputType.cpp:
501         (WebCore::ensureMaximum):
502         (WebCore::RangeInputType::setValueAsDecimal):
503         (WebCore::RangeInputType::createStepRange):
504         (WebCore::RangeInputType::handleKeydownEvent):
505         (WebCore::RangeInputType::parseToNumber):
506         (WebCore::RangeInputType::serialize):
507         (WebCore::RangeInputType::sanitizeValue):
508         * html/RangeInputType.h:
509         (RangeInputType):
510         * html/StepRange.cpp:
511         (WebCore::StepRange::StepRange):
512         (WebCore::StepRange::acceptableError):
513         (WebCore::StepRange::alignValueForStep):
514         (WebCore::StepRange::clampValue):
515         (WebCore::StepRange::parseStep):
516         (WebCore::StepRange::roundByStep):
517         (WebCore::StepRange::stepMismatch):
518         * html/StepRange.h:
519         (WebCore::StepRange::StepDescription::defaultValue):
520         (StepRange):
521         (WebCore::StepRange::maximum):
522         (WebCore::StepRange::minimum):
523         (WebCore::StepRange::step):
524         (WebCore::StepRange::stepBase):
525         (WebCore::StepRange::defaultValue):
526         (WebCore::StepRange::proportionFromValue):
527         (WebCore::StepRange::valueFromProportion):
528         * html/TimeInputType.cpp:
529         (WebCore::TimeInputType::defaultValueForStepUp):
530         (WebCore::TimeInputType::createStepRange):
531         * html/TimeInputType.h:
532         (TimeInputType):
533         * html/WeekInputType.cpp:
534         (WebCore::WeekInputType::createStepRange):
535         * html/shadow/CalendarPickerElement.cpp:
536         (WebCore::CalendarPickerElement::writeDocument):
537         * html/shadow/SliderThumbElement.cpp:
538         (WebCore::sliderPosition):
539         (WebCore::RenderSliderThumb::layout):
540         (WebCore::SliderThumbElement::setPositionFromPoint):
541
542 2012-06-14  Jan Keromnes  <janx@linux.com>
543
544         Web Inspector: Implement ExtensionPanel.show() method
545         https://bugs.webkit.org/show_bug.cgi?id=88473
546
547         Implemented ExtensionPanel.show() API method to allow extension
548         developers to show their panel when needed.
549
550         Reviewed by Pavel Feldman.
551
552         Tests for this method are in:
553         LayoutTests/inspector/extensions/extensions-panel.html
554
555         * inspector/front-end/ExtensionAPI.js:
556         (defineCommonExtensionSymbols):
557         (injectedExtensionAPI.ExtensionPanelImpl.prototype.createStatusBarButton):
558         (injectedExtensionAPI.ExtensionPanelImpl.prototype.show):
559         * inspector/front-end/ExtensionServer.js:
560         (WebInspector.ExtensionServer):
561         (WebInspector.ExtensionServer.prototype._onShowPanel):
562
563 2012-06-14  Kent Tamura  <tkent@chromium.org>
564
565         Fix a typo in r120304.
566         https://bugs.webkit.org/show_bug.cgi?id=89070
567
568         * bindings/scripts/CodeGeneratorV8.pm:
569         (NativeToJSValue):
570         * bindings/scripts/test/V8/V8TestObj.cpp:
571
572 2012-06-14  David Barr  <davidbarr@chromium.org>
573
574         Add dpcm to css3-images image-resolution
575         https://bugs.webkit.org/show_bug.cgi?id=85442
576
577         Reviewed by Tony Chang.
578
579         The css3-images module is at candidate recommendation.
580         http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-resolution
581
582         No new tests; extended fast/css/image-resolution/image-resolution.html
583
584         * css/CSSGrammar.y: Add DPCM token and unary term.
585         * css/CSSParser.cpp: Extend range of units accepted for resolution and tokenize "dpcm".
586         (WebCore::CSSParser::validUnit): Accept CSSPrimitiveValue::CSS_DPCM.
587         (WebCore::CSSParser::createPrimitiveNumericValue): Accept CSSPrimitiveValue::CSS_DPCM.
588         (WebCore::unitFromString): Map "dpcm" to CSSPrimitiveValue::CSS_DPCM.
589         (WebCore::CSSParser::parseValidPrimitive): Accept CSSPrimitiveValue::CSS_DPCM.
590         (WebCore::CSSParser::detectNumberToken): Map "dpcm" to CSSPrimitiveValue::CSS_DPCM.
591         * css/CSSPrimitiveValue.cpp: Add CSSPrimitiveValue::CSS_DPCM as a numeric unit.
592         (WebCore::isValidCSSUnitTypeForDoubleConversion): Accept CSSPrimitiveValue::CSS_DPCM.
593         (WebCore::unitCategory): Map CSSPrimitiveValue::CSS_DPCM to CSSPrimitiveValue::UResolution.
594         (WebCore::conversionToCanonicalUnitsScaleFactor): Scale CSSPrimitiveValue::CSS_DPCM to CSSPrimitiveValue::CSS_DPPX.
595         (WebCore::CSSPrimitiveValue::customCssText): Format CSSPrimitiveValue::CSS_DPCM as "<num>dpcm".
596         (WebCore::CSSPrimitiveValue::cloneForCSSOM): Accept CSSPrimitiveValue::CSS_DPCM as numeric unit.
597         * css/CSSPrimitiveValue.h: Add CSSPrimitiveValue::CSS_DPCM.
598
599 2012-06-14  Ilya Tikhonovsky  <loislo@chromium.org>
600
601         Web Inspector: REGRESSION HeapProfiler can't remove heap snapshot from the list if Dominators view has been opened.
602         https://bugs.webkit.org/show_bug.cgi?id=89080
603
604         There was no dispose method on artificial ShowMoreDataGrid node.
605
606         Reviewed by Pavel Feldman.
607
608         * inspector/front-end/ShowMoreDataGridNode.js:
609         (WebInspector.ShowMoreDataGridNode.prototype.nodeHeight):
610         (WebInspector.ShowMoreDataGridNode.prototype.dispose):
611
612 2012-06-14  Kent Tamura  <tkent@chromium.org>
613
614         [JSC/V8] Improve DOMString[] support
615         https://bugs.webkit.org/show_bug.cgi?id=89070
616
617         Reviewed by Kentaro Hara.
618
619         Tests: new test case in TestObj.idl
620
621         * bindings/js/JSDOMBinding.cpp:
622         (WebCore::jsArray): Implement jsArray() for DOMStringList.
623         * bindings/js/JSDOMBinding.h: Declare jsArray() for DOMStringList.
624         * bindings/scripts/CodeGeneratorJS.pm:
625         (NativeToJSValue): Avoid to include JSDOMString.h and DOMString.h.
626         * bindings/scripts/CodeGeneratorV8.pm:
627         (GetNativeType): Move a check for DOMString[] because it's a RefPtr type
628         and we'd like to avoid to generate RefPtr<DOMString[]>
629         (%non_wrapper_types): DOMString[] is not a wrapper type. This is needed
630         to avoid to generate unnecessary custom function template.
631         (NativeToJSValue): Avoid to include V8DOMString.h and DOMString.h.
632
633         * bindings/scripts/test/TestObj.idl: Add non-overload function using DOMString[].
634         * bindings/scripts/test/JS/JSTestObj.cpp: Update expectation.
635         * bindings/scripts/test/JS/JSTestObj.h: ditto.
636         * bindings/scripts/test/V8/V8TestObj.cpp: ditto.
637
638 2012-06-14  Matt Falkenhagen  <falken@chromium.org>
639
640         LocaleToScriptMappingDefault.cpp should also do what scriptCodeForFontSelection does in LocaleToScriptMappingICU.cpp
641         https://bugs.webkit.org/show_bug.cgi?id=88845
642
643         Reviewed by Kent Tamura.
644
645         Test: fast/text/international/jpan-script-equivalence.html
646
647         * platform/text/LocaleToScriptMappingDefault.cpp:
648         (WebCore::scriptNameToCode):
649
650 2012-06-14  Pavel Feldman  <pfeldman@chromium.org>
651
652         Web Inspector: render dock-to-right icon in status bar.
653         https://bugs.webkit.org/show_bug.cgi?id=89040
654
655         Reviewed by Vsevolod Vlasov.
656
657         Today we render dock to bottom icon for both actions (dock to bottom and dock to right).
658
659         * inspector/front-end/Images/statusbarButtonGlyphs.png:
660         * inspector/front-end/inspector.css:
661         (button.dock-status-bar-item.status-bar-item.toggled-undock .glyph):
662         (button.dock-status-bar-item.status-bar-item.toggled-bottom .glyph):
663         (button.dock-status-bar-item.status-bar-item.toggled-right .glyph):
664         * inspector/front-end/inspector.js:
665         (WebInspector._createGlobalStatusBarItems):
666         (WebInspector._installDockToRight.listener):
667         (windowLoaded):
668         (WebInspector.setDockingUnavailable):
669
670 2012-06-14  Pavel Feldman  <pfeldman@chromium.org>
671
672         Web Inspector: clear execution live before the text edit.
673         https://bugs.webkit.org/show_bug.cgi?id=89016
674
675         Reviewed by Vsevolod Vlasov.
676
677         Otherwise we can't remove them after committing the edit.
678
679         * inspector/front-end/JavaScriptSourceFrame.js:
680         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
681         (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
682
683 2012-06-14  Min Qin  <qinmin@google.com>
684
685         Remove the const keyword from MediaPlayerPrivate::enterFullscreen()
686         https://bugs.webkit.org/show_bug.cgi?id=89044
687
688         Reviewed by Adam Barth.
689
690         enterFullscreen() and exitFullscreen() could both modify the player state.
691         This change reverts the change we made in r120213.
692
693         Just function declaration change, no test needed.
694
695         * platform/graphics/MediaPlayerPrivate.h:
696         (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
697
698 2012-06-14  Edaena Salinas Jasso  <edaena@apple.com>
699
700         el.getAttribute('type') returns 'null' when setting el.type to null
701         https://bugs.webkit.org/show_bug.cgi?id=89030
702
703         Reviewed by Alexey Proskuryakov.
704
705         Test: fast/dom/HTMLButtonElement/change-type.html
706
707         * html/HTMLButtonElement.cpp:
708         (WebCore::HTMLButtonElement::setType): Changed parameter to be AtomicString to 
709         address an unrelated review comment from bug 14439 for slightly better performance.
710         * html/HTMLButtonElement.h:
711         (HTMLButtonElement): Changed parameter to be AtomicString to address an unrelated 
712         review comment from bug 14439 for slightly better performance.
713         * html/HTMLButtonElement.idl: Specified TreatNullAs NullString for the type attribute.
714
715 2012-06-14  Alec Flett  <alecflett@chromium.org>
716
717         IndexedDB: Creating a transaction from within a transaction callback should fail
718         https://bugs.webkit.org/show_bug.cgi?id=80547
719
720         Reviewed by Tony Chang.
721
722         Prevent creation of a transaction, via IDBDatabase.transaction()
723         or IDBDatabase.setVersion(), from inside a setVersion()
724         transaction, as per spec. Update many tests to deal with this.
725
726         Test restructuring uncovered some inconsistencies in transaction
727         mode handling. So also do some minor cleanup in the way the
728         transaction mode is passed between the frontend and backend
729         transaction objects, and add additional asserts.
730
731         * Modules/indexeddb/IDBCursor.cpp:
732         (WebCore::IDBCursor::update):
733         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
734         (WebCore::IDBCursorBackendImpl::update):
735         * Modules/indexeddb/IDBDatabase.cpp:
736         (WebCore::IDBDatabase::setVersion):
737         (WebCore::IDBDatabase::transaction):
738         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
739         (WebCore::IDBObjectStoreBackendImpl::putInternal):
740         * Modules/indexeddb/IDBRequest.cpp:
741         (WebCore::IDBRequest::onSuccess):
742         * Modules/indexeddb/IDBTransaction.cpp:
743         (WebCore::IDBTransaction::create):
744         (WebCore::IDBTransaction::IDBTransaction):
745         (WebCore::IDBTransaction::stringToMode):
746         (WebCore::IDBTransaction::modeToString):
747         * Modules/indexeddb/IDBTransaction.h:
748         (IDBTransaction):
749
750 2012-06-14  Li Yin  <li.yin@intel.com>
751
752         [WebSocket] WebSocket object in Worker Context should fire error event when it fails connection.
753         https://bugs.webkit.org/show_bug.cgi?id=88744
754
755         Reviewed by Kent Tamura.
756
757         Spec:http://dev.w3.org/html5/websockets/#feedback-from-the-protocol
758         The behavior of firing error event in Document has been implemented in Committed r117944.
759         WebSocket in WorkerContext is also required to fire error event.
760
761         Test: http/tests/websocket/tests/hybi/workers/close.html
762
763         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
764         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
765         (WebCore):
766         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback):
767         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
768         (ThreadableWebSocketChannelClientWrapper):
769         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
770         (WebCore::workerContextDidReceiveMessageError):
771         (WebCore):
772         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
773         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
774         (Peer):
775
776 2012-06-13  Kinuko Yasuda  <kinuko@chromium.org>
777
778         Unreviewed build fix attempt for r120285
779
780         * Modules/filesystem/DOMFileSystemBase.cpp:
781         (WebCore):
782
783 2012-06-13  MORITA Hajime <morrita@google.com>
784
785         Unreviewed expectation update.
786
787         * bindings/scripts/test/V8/V8Float64Array.cpp:
788         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
789         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
790         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
791         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
792         * bindings/scripts/test/V8/V8TestException.cpp:
793         * bindings/scripts/test/V8/V8TestInterface.cpp:
794         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
795         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
796         * bindings/scripts/test/V8/V8TestNode.cpp:
797         * bindings/scripts/test/V8/V8TestObj.cpp:
798         (WebCore::V8TestObj::installPerContextProperties):
799         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
800
801 2012-06-13  Kinuko Yasuda  <kinuko@chromium.org>
802
803         Move isolated file system code out of chromium-specific directory
804         https://bugs.webkit.org/show_bug.cgi?id=88997
805
806         Reviewed by Adam Barth.
807
808         The code does not need to be chromium-specific.  Any platforms that
809         have file system implementation and manage mappings from file system
810         id to a set of files should share the code.
811
812         No new tests as this has no functional/behavioral changes.
813
814         * Modules/filesystem/DOMFileSystem.cpp:
815         (WebCore::DOMFileSystem::createIsolatedFileSystem):
816         (WebCore):
817         * Modules/filesystem/DOMFileSystem.h:
818         (DOMFileSystem):
819         * Modules/filesystem/DOMFileSystemBase.h:
820         (DOMFileSystemBase):
821         * Modules/filesystem/FileSystemType.h:
822         * Modules/filesystem/chromium/DOMFileSystemChromium.cpp:
823         * Modules/filesystem/chromium/DOMFileSystemChromium.h: Removed.
824         * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:
825         (WebCore::DraggedIsolatedFileSystem::getDOMFileSystem):
826         * WebCore.gypi:
827
828 2012-06-07  Kinuko Yasuda  <kinuko@chromium.org>
829
830         File::lastModifiedDate should use NaN or separate boolean flag for null Date value
831         https://bugs.webkit.org/show_bug.cgi?id=87826
832
833         Reviewed by Kent Tamura.
834
835         Test: http/tests/local/fileapi/file-last-modified-after-delete.html
836
837         * fileapi/File.cpp:
838         (WebCore::File::File):
839         (WebCore::File::captureSnapshot):
840         (WebCore::File::lastModifiedDate):
841         (WebCore::File::lastModifiedDateForBinding): Removed.
842         * fileapi/File.h:
843         (File):
844         * fileapi/File.idl:
845         * platform/FileMetadata.h:
846         (WebCore::FileMetadata::FileMetadata):
847         * platform/FileSystem.h:
848         * platform/FileStream.cpp:
849         (WebCore::FileStream::getSize):
850         * platform/chromium/support/WebHTTPBody.cpp:
851         (WebKit::WebHTTPBody::elementAt):
852         * platform/network/BlobData.h:
853         (WebCore::BlobDataItem::doNotCheckFileChange): Removed.
854         * platform/network/BlobData.cpp:
855         * platform/network/cf/FormDataStreamCFNet.cpp:
856         (WebCore::advanceCurrentStream):
857         * platform/network/soup/ResourceHandleSoup.cpp:
858         (WebCore::blobIsOutOfDate):
859
860 2012-06-13  Eli Fidler  <efidler@rim.com>
861
862         Fix CMake build with SMOOTH_SCROLLING enabled
863         https://bugs.webkit.org/show_bug.cgi?id=89032
864
865         Reviewed by Antonio Gomes.
866
867         SMOOTH_SCROLLING pulls in ScrollAnimatorNone.cpp, which has
868         dependencies on platform/ActivePlatformGestureAnimation.cpp and
869         platform/TouchpadFlingPlatformGestureCurve.cpp
870
871         * CMakeLists.txt:
872
873 2012-06-13  Mihai Balan  <mibalan@adobe.com>
874
875         Touched CSSPropertyNames.in to trigger a proper rebuild
876
877         [CSS Regions] Adding feature defines for CSS Regions & exclusions for Windows
878         https://bugs.webkit.org/show_bug.cgi?id=88645
879
880         Reviewed by Sam Weinig.
881
882         Previous work on #87442 added feature defines to allow proper disabling of CSS Regions and
883         exclusions (previously even with the feature disabled, parsing still worked). However, the
884         feature defines were enabled on Mac only - they were broken on Windows. This
885         patch adds the feature defines to (re)enable regions and exclusions on Windows.
886
887         * css/CSSPropertyNames.in: Touched to trigger a proper rebuild. Incremental builds were broken on Windows.
888
889 2012-06-13  Arnaud Renevier  <arno@renevier.net>
890
891         make sure headers are included only once per file
892         https://bugs.webkit.org/show_bug.cgi?id=88931
893
894         Reviewed by Darin Adler.
895
896         * Modules/indexeddb/IDBDatabase.cpp:
897         * WebCorePrefix.h:
898         * bindings/js/JSHTMLAllCollectionCustom.cpp:
899         * bindings/v8/V8Utilities.cpp:
900         * bindings/v8/custom/V8LocationCustom.cpp:
901         * bridge/NP_jsobject.cpp:
902         * editing/Editor.cpp:
903         * html/HTMLMediaElement.cpp:
904         * platform/graphics/cairo/PlatformContextCairo.cpp:
905         * rendering/InlineFlowBox.cpp:
906
907 2012-06-13  MORITA Hajime  <morrita@google.com>
908
909         Unreviewed typo fix.
910
911         * platform/RefCountedSupplement.h:
912
913 2012-06-13  Sheriff Bot  <webkit.review.bot@gmail.com>
914
915         Unreviewed, rolling out r120268.
916         http://trac.webkit.org/changeset/120268
917         https://bugs.webkit.org/show_bug.cgi?id=89060
918
919         WebCompositor::setPerTilePaintingEnabled hits an assertion in
920         DEBUG (Requested by dominicc|work on #webkit).
921
922         * WebCore.gypi:
923         * page/Settings.cpp:
924         (WebCore::Settings::Settings):
925         * page/Settings.h:
926         (WebCore::Settings::setPerTileDrawingEnabled):
927         (WebCore::Settings::perTileDrawingEnabled):
928         (Settings):
929         (WebCore::Settings::setPartialSwapEnabled):
930         (WebCore::Settings::partialSwapEnabled):
931         (WebCore::Settings::setThreadedAnimationEnabled):
932         (WebCore::Settings::threadedAnimationEnabled):
933         * platform/graphics/chromium/ContentLayerChromium.cpp:
934         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
935         * platform/graphics/chromium/LayerChromium.cpp:
936         (WebCore::LayerChromium::addAnimation):
937         * platform/graphics/chromium/LayerRendererChromium.cpp:
938         (WebCore::LayerRendererChromium::initialize):
939         * platform/graphics/chromium/TiledLayerChromium.cpp:
940         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
941         * platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
942         (WebCore::CCDebugRectHistory::enabled):
943         (WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
944         * platform/graphics/chromium/cc/CCDebugRectHistory.h:
945         (WebCore):
946         (CCDebugRectHistory):
947         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
948         (WebCore::CCHeadsUpDisplay::enabled):
949         (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
950         (WebCore::CCHeadsUpDisplay::showDebugRects):
951         (WebCore::CCHeadsUpDisplay::draw):
952         (WebCore::CCHeadsUpDisplay::drawHudContents):
953         (WebCore::CCHeadsUpDisplay::drawDebugRects):
954         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
955         (WebCore):
956         (CCHeadsUpDisplay):
957         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
958         (WebCore::CCLayerTreeHost::create):
959         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
960         (WebCore::CCLayerTreeHost::animateLayers):
961         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
962         (WebCore::CCSettings::CCSettings):
963         (CCSettings):
964         (CCLayerTreeHost):
965         (WebCore::CCLayerTreeHost::settings):
966         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
967         (WebCore::CCLayerTreeHostImpl::create):
968         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
969         (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
970         (WebCore::CCLayerTreeHostImpl::animateLayers):
971         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
972         (CCLayerTreeHostImpl):
973         * platform/graphics/chromium/cc/CCRenderer.h:
974         (CCRendererClient):
975         (WebCore::CCRenderer::settings):
976         * platform/graphics/chromium/cc/CCSettings.cpp: Removed.
977         * platform/graphics/chromium/cc/CCSettings.h: Removed.
978         * testing/InternalSettings.cpp:
979         (WebCore::InternalSettings::setPerTileDrawingEnabled):
980         (WebCore):
981         * testing/InternalSettings.h:
982         (InternalSettings):
983
984 2012-06-13  Ian Vollick  <vollick@chromium.org>
985
986         [chromium] Certain settings in CCSettings could be global
987         https://bugs.webkit.org/show_bug.cgi?id=88384
988
989         Reviewed by James Robinson.
990
991         No new tests. No new functionality.
992
993         * WebCore.gypi:
994         * page/Settings.cpp:
995         (WebCore::Settings::Settings):
996         * page/Settings.h:
997         (Settings):
998         * platform/graphics/chromium/ContentLayerChromium.cpp:
999         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
1000         * platform/graphics/chromium/LayerChromium.cpp:
1001         (WebCore::LayerChromium::addAnimation):
1002         * platform/graphics/chromium/LayerRendererChromium.cpp:
1003         (WebCore::LayerRendererChromium::initialize):
1004         * platform/graphics/chromium/TiledLayerChromium.cpp:
1005         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
1006         * platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
1007         (WebCore::CCDebugRectHistory::enabled):
1008         (WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
1009         * platform/graphics/chromium/cc/CCDebugRectHistory.h:
1010         (WebCore):
1011         (CCDebugRectHistory):
1012         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1013         (WebCore::CCHeadsUpDisplay::enabled):
1014         (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
1015         (WebCore::CCHeadsUpDisplay::showDebugRects):
1016         (WebCore::CCHeadsUpDisplay::draw):
1017         (WebCore::CCHeadsUpDisplay::drawHudContents):
1018         (WebCore::CCHeadsUpDisplay::drawDebugRects):
1019         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
1020         (WebCore):
1021         (CCHeadsUpDisplay):
1022         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1023         (WebCore::CCLayerTreeHost::create):
1024         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1025         (WebCore::CCLayerTreeHost::animateLayers):
1026         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1027         (WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
1028         (CCLayerTreeSettings):
1029         (CCLayerTreeHost):
1030         (WebCore::CCLayerTreeHost::settings):
1031         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1032         (WebCore::CCLayerTreeHostImpl::create):
1033         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1034         (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
1035         (WebCore::CCLayerTreeHostImpl::animateLayers):
1036         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1037         (CCLayerTreeHostImpl):
1038         * platform/graphics/chromium/cc/CCRenderer.h:
1039         (CCRendererClient):
1040         (WebCore::CCRenderer::settings):
1041         * platform/graphics/chromium/cc/CCSettings.cpp: Added.
1042         (WebCore):
1043         (WebCore::CCSettings::perTilePaintingEnabled):
1044         (WebCore::CCSettings::setPerTilePaintingEnabled):
1045         (WebCore::CCSettings::partialSwapEnabled):
1046         (WebCore::CCSettings::setPartialSwapEnabled):
1047         (WebCore::CCSettings::acceleratedAnimationEnabled):
1048         (WebCore::CCSettings::setAcceleratedAnimationEnabled):
1049         (WebCore::CCSettings::reset):
1050         * platform/graphics/chromium/cc/CCSettings.h: Added.
1051         (WebCore):
1052         (CCSettings):
1053         * testing/InternalSettings.cpp:
1054         * testing/InternalSettings.h:
1055         (InternalSettings):
1056
1057 2012-06-13  Crystal Zhang  <haizhang@rim.com>
1058
1059         [BlackBerry] Apply New Style and JS for Select Popup
1060         https://bugs.webkit.org/show_bug.cgi?id=89020
1061
1062         Reviewed by Rob Buis.
1063
1064         PR 162854
1065
1066         Use new python script for data generating, as the old one is too simple and problematic.
1067
1068         * PlatformBlackBerry.cmake:
1069
1070 2012-06-13  Dana Jansens  <danakj@chromium.org>
1071
1072         [chromium] Assert if iterating an invalid RenderSurfaceLayerList, where a layer in the list has no RenderSurface
1073         https://bugs.webkit.org/show_bug.cgi?id=89004
1074
1075         Reviewed by Adrienne Walker.
1076
1077         A RenderSurfaceLayerList expects that all layers in the list own a
1078         RenderSurface. If an invalid RSLL is iterated over, the
1079         CCLayerIterator class will now ASSERT in debug mode, as well as
1080         considering the list empty in release mode.
1081
1082         We will be adding code to CCLayerTreeHostImpl to save a RSLL across
1083         frames, so adding a clearRenderSurfaces() method with a FIXME comment
1084         to make it clear that we should clear the RSLL when we remove
1085         RenderSurfaces from the layers in the saved RSLL.
1086
1087         * platform/graphics/chromium/cc/CCLayerIterator.h:
1088         (WebCore::CCLayerIterator::CCLayerIterator):
1089         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1090         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
1091         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
1092         (WebCore::clearRenderSurfacesOnCCLayerImplRecursive):
1093         (WebCore::CCLayerTreeHostImpl::clearRenderSurfaces):
1094         (WebCore):
1095         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1096         (CCLayerTreeHostImpl):
1097
1098 2012-06-13  Yael Aharon  <yael.aharon@nokia.com>
1099
1100         Remove redundant code from RenderView and RenderBlock
1101         https://bugs.webkit.org/show_bug.cgi?id=89019
1102
1103         Reviewed by Abhishek Arya.
1104
1105         As pointed out in https://bugs.webkit.org/show_bug.cgi?id=83981#c7 , RenderView::insertFixedPositionedObject()
1106         is redundant and should be removed.
1107         No new tests.
1108
1109         * rendering/RenderBlock.cpp:
1110         (WebCore::RenderBlock::insertPositionedObject):
1111         (WebCore::RenderBlock::removePositionedObject):
1112         * rendering/RenderView.cpp:
1113         (WebCore):
1114         * rendering/RenderView.h:
1115         (RenderView):
1116
1117 2012-06-13  Dana Jansens  <danakj@chromium.org>
1118
1119         [chromium] Create a CCStreamVideoDrawQuad used for StreamTexture video output
1120         https://bugs.webkit.org/show_bug.cgi?id=88826
1121
1122         Reviewed by Adrienne Walker.
1123
1124         Remove the matrix from the CCVideoDrawQuad, and create a new quad
1125         specifically for StreamTexture video decoder output. This quad
1126         contains only the fields needed for display - textureId and the
1127         matrix to be applied to texture coords.
1128
1129         Removes the (0, 0, 1, 1) "transform" from the shader used for these
1130         quads, as it was a no-op.
1131
1132         No new tests, no change in behaviour.
1133
1134         * WebCore.gypi:
1135         * platform/graphics/chromium/LayerRendererChromium.cpp:
1136         (WebCore::LayerRendererChromium::drawQuad):
1137         (WebCore::LayerRendererChromium::drawStreamVideoQuad):
1138         (WebCore::LayerRendererChromium::drawVideoQuad):
1139         * platform/graphics/chromium/LayerRendererChromium.h:
1140         (WebCore):
1141         (LayerRendererChromium):
1142         * platform/graphics/chromium/ShaderChromium.cpp:
1143         (WebCore::VertexShaderVideoTransform::VertexShaderVideoTransform):
1144         (WebCore::VertexShaderVideoTransform::init):
1145         (WebCore::VertexShaderVideoTransform::getShaderString):
1146         * platform/graphics/chromium/ShaderChromium.h:
1147         (VertexShaderVideoTransform):
1148         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
1149         (WebCore::CCDrawQuad::toStreamVideoDrawQuad):
1150         (WebCore):
1151         * platform/graphics/chromium/cc/CCDrawQuad.h:
1152         (WebCore):
1153         (CCDrawQuad):
1154         * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp: Added.
1155         (WebCore):
1156         (WebCore::CCStreamVideoDrawQuad::create):
1157         (WebCore::CCStreamVideoDrawQuad::CCStreamVideoDrawQuad):
1158         * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h: Added.
1159         (WebCore):
1160         (CCStreamVideoDrawQuad):
1161         (WebCore::CCStreamVideoDrawQuad::textureId):
1162         (WebCore::CCStreamVideoDrawQuad::matrix):
1163         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1164         (WebCore::CCVideoLayerImpl::appendQuads):
1165
1166 2012-06-13  Martin Robinson  <mrobinson@igalia.com>
1167
1168         [GTK] Add an accelerated compositing implementation for WebKit2
1169         https://bugs.webkit.org/show_bug.cgi?id=86037
1170
1171         Reviewed by Alejandro G. Castro.
1172
1173         No new tests. These changes are covered by the compositing tests, which
1174         we will gradually try to turn on for the bots.
1175
1176         Add a new GLContext method for getting to current default framebuffer size, which
1177         is quite useful for preventing composited content quivering while resizing.
1178
1179         * platform/graphics/cairo/GLContext.h:
1180         * platform/graphics/glx/GLContextGLX.cpp:
1181         (WebCore::GLContextGLX::defaultFrameBufferSize): Added this implementation for X11
1182         which asks the X server for the window size.
1183         * platform/graphics/glx/GLContextGLX.h:
1184
1185 2012-06-13  Shawn Singh  <shawnsingh@chromium.org>
1186
1187         [chromium] Implement hit-testing for impl-side input handling in accelerated compositor
1188         https://bugs.webkit.org/show_bug.cgi?id=88972
1189
1190         Reviewed by Adrienne Walker.
1191
1192         The original hit testing code by Sami Kyostila.
1193
1194         This patch implements a simple impl-side hit-testing helper
1195         function. At this time, the main motivation for this is so that
1196         composited scrollable layers can be scrolled by the impl thread --
1197         and a prerequisite for that is the ability to hit-test on the impl
1198         thread, to determine where the scrolling action should be applied.
1199
1200         To implement the actual hit test, it's possible to compute the hit
1201         test in two equivalent ways: (a) inverse-project the point into
1202         local space, or (b) forward-transform the rect to screen space
1203         It's not obvious which one would perform better, or which one
1204         would be more robust to w < 0 homogeneous clipping issues. For
1205         this patch, we simply opt for the inverse-projection approach.
1206
1207         10 unit tests added to CCLayerTreeHostCommonTest.cpp:
1208           CCLayerTreeHostCommonTest.verifyHitTestingForEmptyLayerList
1209           CCLayerTreeHostCommonTest.verifyHitTestingForSingleLayer
1210           CCLayerTreeHostCommonTest.verifyHitTestingForSinglePositionedLayer
1211           CCLayerTreeHostCommonTest.verifyHitTestingForSingleRotatedLayer
1212           CCLayerTreeHostCommonTest.verifyHitTestingForSinglePerspectiveLayer
1213           CCLayerTreeHostCommonTest.verifyHitTestingForSingleLayerWithScaledContents
1214           CCLayerTreeHostCommonTest.verifyHitTestingForSimpleClippedLayer
1215           CCLayerTreeHostCommonTest.verifyHitTestingForMultiClippedRotatedLayer
1216           CCLayerTreeHostCommonTest.verifyHitTestingForMultipleLayers
1217           CCLayerTreeHostCommonTest.verifyHitTestingForMultipleLayerLists
1218         
1219         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1220         (WebCore::pointHitsRect):
1221         (WebCore):
1222         (WebCore::pointIsClippedBySurfaceOrClipRect):
1223         (WebCore::CCLayerTreeHostCommon::findLayerThatIsHitByPoint):
1224         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
1225         (CCLayerTreeHostCommon):
1226         * platform/graphics/chromium/cc/CCMathUtil.cpp:
1227         (WebCore::projectHomogeneousPoint):
1228         (WebCore::mapHomogeneousPoint):
1229         (WebCore::CCMathUtil::mapClippedRect):
1230         (WebCore::CCMathUtil::projectClippedRect):
1231         (WebCore::CCMathUtil::mapClippedQuad):
1232         (WebCore::CCMathUtil::mapQuad):
1233         (WebCore::CCMathUtil::projectPoint):
1234         (WebCore):
1235         * platform/graphics/chromium/cc/CCMathUtil.h:
1236         (WebCore):
1237         (CCMathUtil):
1238
1239 2012-06-13  Charles Wei  <charles.wei@torchmobile.com.cn>
1240
1241         Need customized toDOMStringList for IndexedDB JSC binding.
1242         https://bugs.webkit.org/show_bug.cgi?id=87965
1243
1244         Reviewed by Kentaro Hara.
1245
1246         IndexedDB database interface uses DOMStringList as the input parameter.
1247         The generated toDOMStringList() can't convert an JSArray of Strings to
1248         native DOMStringList. We need a custom function to do this.
1249
1250         Because this patch adds one new file (JSDOMStringList.cpp), all build systems
1251         are updated accordingly to pick up this file.
1252
1253          Tests: Corresponding bindings/scripts/test/JS files have been updated accordingly.
1254
1255         * GNUmakefile.list.am:
1256         * Target.pri:
1257         * UseJSC.cmake:
1258         * WebCore.gypi:
1259         * WebCore.vcproj/WebCore.vcproj:
1260         * WebCore.xcodeproj/project.pbxproj:
1261         * bindings/js/JSBindingsAllInOne.cpp:
1262         * bindings/js/JSDOMStringListCustom.cpp: Added.
1263         (WebCore):
1264         (WebCore::toDOMStringList):
1265         * bindings/scripts/CodeGeneratorJS.pm:
1266         (IndexGetterReturnsStrings):
1267         (GenerateHeader):
1268         (GetNativeType):
1269         (GetNativeTypeForCallbacks):
1270         (JSValueToNative):
1271         * bindings/scripts/test/JS/JSTestCallback.cpp:
1272         (WebCore::JSTestCallback::callbackWithStringList):
1273         * bindings/scripts/test/JS/JSTestCallback.h:
1274         (JSTestCallback):
1275         * bindings/scripts/test/JS/JSTestObj.cpp:
1276         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
1277         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
1278         * dom/DOMStringList.idl:
1279
1280 2012-06-13  Jeffrey Pfau  <jpfau@apple.com>
1281
1282         Padding and borders can cause integer overflow in block layouts
1283         https://bugs.webkit.org/show_bug.cgi?id=88820
1284         <rdar://problem/11328762>
1285
1286         Reviewed by Tony Chang.
1287
1288         Tests: fast/block/block-size-integer-overflow.html
1289                fast/flexbox/box-size-integer-overflow.html
1290                fast/table/table-size-integer-overflow.html
1291
1292         * rendering/AutoTableLayout.cpp: Decreased max int.
1293         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
1294         * rendering/FixedTableLayout.cpp: Use shared constant.
1295         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
1296         * rendering/RenderBlock.cpp: Removed unused constant.
1297         * rendering/TableLayout.h: Add shared constant.
1298         (TableLayout):
1299
1300 2012-06-13  Gregg Tavares  <gman@google.com>
1301
1302         Refactor WebGLFramebuffer to handle texture attachments
1303         https://bugs.webkit.org/show_bug.cgi?id=88697
1304
1305         Reviewed by Adrienne Walker.
1306         
1307         In order to add support for depth textures WebGLFramebuffer
1308         needed to be refactored to handle textures as attachments.
1309
1310         No new tests as no new functionality. 
1311
1312         * html/canvas/WebGLFramebuffer.cpp:
1313         (WebCore::WebGLFramebuffer::WebGLAttachment::WebGLAttachment):
1314         (WebCore):
1315         (WebCore::WebGLFramebuffer::WebGLAttachment::~WebGLAttachment):
1316         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
1317         (WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
1318         (WebCore::WebGLFramebuffer::attach):
1319         (WebCore::WebGLFramebuffer::getAttachmentObject):
1320         (WebCore::WebGLFramebuffer::getAttachment):
1321         (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
1322         (WebCore::WebGLFramebuffer::getColorBufferWidth):
1323         (WebCore::WebGLFramebuffer::getColorBufferHeight):
1324         (WebCore::WebGLFramebuffer::getColorBufferFormat):
1325         (WebCore::WebGLFramebuffer::checkStatus):
1326         (WebCore::WebGLFramebuffer::onAccess):
1327         (WebCore::WebGLFramebuffer::hasStencilBuffer):
1328         (WebCore::WebGLFramebuffer::deleteObjectImpl):
1329         (WebCore::WebGLFramebuffer::initializeAttachments):
1330         * html/canvas/WebGLFramebuffer.h:
1331         (WebGLAttachment):
1332         (WebGLFramebuffer):
1333         * html/canvas/WebGLRenderingContext.cpp:
1334         (WebCore):
1335         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
1336         (WebCore::WebGLRenderingContext::reattachDepthStencilAttachments):
1337         (WebCore::WebGLRenderingContext::framebufferTexture2D):
1338         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
1339         * html/canvas/WebGLRenderingContext.h:
1340         (WebGLRenderingContext):
1341
1342 2012-06-13  Konrad Piascik  <kpiascik@rim.com>
1343
1344         Remove return statement in void method
1345         https://bugs.webkit.org/show_bug.cgi?id=88998
1346
1347         Reviewed by Andreas Kling
1348
1349         * html/HTMLInputElement.cpp:
1350         (WebCore::HTMLInputElement::collectStyleForAttribute):
1351
1352 2012-06-13  Benjamin Poulain  <benjamin@webkit.org>
1353
1354         Implement the simple constructors WTFURL's KURL
1355         https://bugs.webkit.org/show_bug.cgi?id=85724
1356
1357         Reviewed by Adam Barth.
1358
1359         This patch implement the correct initialization of KURL from an absolute URL.
1360         The URL correctness is also relaxed in order to have KURLWTFURL works similarily to KURL.
1361
1362         * platform/KURLWTFURL.cpp:
1363         (WebCore::KURL::KURL):
1364         (WebCore::KURL::isValid):
1365         (WebCore::KURL::string):
1366         (WebCore::KURL::protocol):
1367         (WebCore::KURL::host):
1368         (WebCore::KURL::port): Fix a bug where invalidPortNumber was returned if no port was defined.
1369         (WebCore::KURL::hasFragmentIdentifier):
1370         (WebCore::KURL::fragmentIdentifier):
1371         (WebCore::KURL::protocolIs):
1372         (WebCore::KURL::removeFragmentIdentifier):
1373         (WebCore):
1374         (WebCore::KURL::print):
1375         * platform/cf/KURLCFNet.cpp:
1376         (WebCore::KURL::KURL):
1377         (WebCore::KURL::createCFURL):
1378         (WebCore):
1379         * platform/mac/KURLMac.mm:
1380         (WebCore::KURL::KURL):
1381         (WebCore::KURL::createCFURL):
1382         (WebCore):
1383         Use the code of KURL to make the conversion from WTFURL to NSURL.
1384
1385 2012-06-12  Vincent Scheib  <scheib@chromium.org>
1386
1387         Remove duplicate webkitpointerlockchange events when unlocking.
1388         https://bugs.webkit.org/show_bug.cgi?id=88917
1389
1390         Reviewed by Dimitri Glazkov.
1391
1392         Subsequent patches adding the new API for entering and exiting
1393         pointer lock would be burdened by handling multiple change events
1394         when the lock target is changed. This change introduces
1395         temporary code to suppress duplicate change events.
1396
1397         Existing tests simplified by removing the duplicate change events.
1398
1399         * page/PointerLockController.cpp:
1400         (WebCore::PointerLockController::requestPointerLock):
1401         (WebCore::PointerLockController::didLosePointerLock):
1402         * page/PointerLockController.h:
1403         (PointerLockController):
1404
1405 2012-06-13  Silvia Pfeiffer  <silviapf@chromium.org>
1406
1407         Update range sliders rendering for volume and playback position of new Chrome video controls.
1408         https://bugs.webkit.org/show_bug.cgi?id=88623
1409
1410         Reviewed by Eric Carlson.
1411
1412         No new tests, final patch will contain the rebaselined tests.
1413
1414         The Chrome video controls are receiving a visual update. This patch contains updates to the
1415         rendering of the range sliders for the playback position and the volume. This includes the
1416         creation of a shadowPseudoId to be able to style the range sliders via CSS, the rendering
1417         of the slider background and the highlighted ranges.
1418
1419         * css/mediaControlsChromium.css:
1420         (input[type="range"]::-webkit-media-slider-container):
1421         Adjust the styling of the slider container backgrounds.
1422         (input[type="range"]::-webkit-media-slider-thumb):
1423         Adjust the styling of the slider thumbs.
1424         * html/shadow/SliderThumbElement.cpp:
1425         (WebCore::sliderThumbShadowPseudoId):
1426         Add an accessor function for the slider thumb shadowPseudoId.
1427         (WebCore::mediaSliderThumbShadowPseudoId):
1428         Add an accessor function for the media slider thumb shadowPseudoId.
1429         (WebCore::SliderThumbElement::shadowPseudoId):
1430         Add a different CSS pseudo-class name to the media slider thumbs.
1431         (WebCore::TrackLimiterElement::shadowPseudoId):
1432         Add a different CSS pseudo-class name to the media slider thumbs.
1433         (WebCore::SliderContainerElement::shadowPseudoId):
1434         Add a different CSS pseudo-class name to the media slider background container.
1435         * rendering/RenderMediaControlsChromium.cpp:
1436         (WebCore::paintRoundedSliderBackground):
1437         Add function to draw rounded background of sliders in a dark color.
1438         (WebCore::paintSliderRangeHighlight):
1439         Add function to draw a highlighted grey region on the sliders, which is rounded only at
1440         its ends.
1441         (WebCore::paintMediaSlider):
1442         Update the background and buffered range renderings on the playback position slider by making
1443         use of the new helper functions.
1444         (WebCore::paintMediaVolumeSlider):
1445         Update the background and buffered range renderings on the volume slider by making
1446         use of the new helper functions.
1447
1448 2012-06-13  Christopher Hutten-Czapski  <chutten@rim.com>
1449
1450         2012-06-13  Christopher Hutten-Czapski  <chutten@rim.com>
1451
1452         [BlackBerry] Update Select Popup's styling
1453         https://bugs.webkit.org/show_bug.cgi?id=89005
1454
1455         Reviewed by Rob Buis.
1456
1457         Add in some nicely-styled CSS and JS for the BlackBerry port's <select>
1458
1459         * Resources/blackberry/popupControlBlackBerry.css:
1460         (body):
1461         (.popup-area):
1462         (.popup-area>:first-child):
1463         (.popup-buttons):
1464         (.popup-button-divider):
1465         (.popup-button):
1466         (.popup-button:active):
1467         (.popup-button:first-child:active):
1468         (.popup-button:last-child:active):
1469         (.popup-button:only-child:active):
1470         * Resources/blackberry/selectControlBlackBerry.css: Added.
1471         (.select-area):
1472         (.select-area:last-child):
1473         (.option):
1474         (.optgroup:last-child):
1475         (.selected):
1476         (.optgroup):
1477         (.optgroup .option):
1478         * Resources/blackberry/selectControlBlackBerry.js: Added.
1479
1480 2012-06-13  Alec Flett  <alecflett@chromium.org>
1481
1482         [V8] IndexedDB: Cursor value modifications should be preserved until cursor iterates
1483         https://bugs.webkit.org/show_bug.cgi?id=83526
1484
1485         Reviewed by Kentaro Hara.
1486
1487         Cache the 'value' attribute of IDBCursorWithValue with policy
1488         determined by IDBCursor.cpp, to follow spec behavior of keeping a
1489         consistent script object until the cursor advances. See
1490         http://www.w3.org/TR/IndexedDB/#widl-IDBCursorWithValueSync-value
1491         for details.
1492
1493         Test: storage/indexeddb/cursor-value.html
1494
1495         * Modules/indexeddb/IDBCursor.cpp:
1496         (WebCore::IDBCursor::IDBCursor):
1497         (WebCore::IDBCursor::value):
1498         (WebCore::IDBCursor::setValueReady):
1499         * Modules/indexeddb/IDBCursor.h:
1500         (IDBCursor):
1501         (WebCore::IDBCursor::valueIsDirty):
1502         * Modules/indexeddb/IDBCursorWithValue.idl:
1503         * WebCore.gypi:
1504         * bindings/v8/IDBCustomBindings.cpp: Added.
1505         (WebCore):
1506         (WebCore::V8IDBCursorWithValue::valueAccessorGetter):
1507
1508 2012-06-13  Silvia Pfeiffer  <silviapf@chromium.org>
1509
1510         Code cleanup from bug 88881 to share the SliderVerticalPart code.
1511         https://bugs.webkit.org/show_bug.cgi?id=88930
1512
1513         Reviewed by Eric Carlson.
1514
1515         No new tests - this is just code cleanup.
1516
1517         * html/shadow/SliderThumbElement.cpp:
1518         (WebCore::hasVerticalAppearance):
1519         Avoid having two ifdef-ed returns in the code depending on ENABLE(VIDEO).
1520
1521 2012-06-13  Mark Mentovai  <mark@chromium.org>
1522
1523         [chromium mac] Don't include things in subframeworks of
1524         ApplicationServices.framework.
1525
1526         A CoreText #include (with quotes instead of brackets, even) sprung up
1527         in r120506, bug 69826.
1528
1529         https://bugs.webkit.org/show_bug.cgi?id=88569
1530
1531         Reviewed by Stephen White.
1532
1533         No new tests.
1534
1535         * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp:
1536
1537 2012-06-13  Eriq Augustine  <eaugusti@chromium.org>
1538
1539         Removing an extra HandleScope in V8Proxy::evaluateInIsolatedWorld
1540         https://bugs.webkit.org/show_bug.cgi?id=88451
1541
1542         Reviewed by Adam Barth.
1543
1544         Any values retuned by the evaluation will get destroyed with the extra
1545         HandleScope.
1546
1547         I was unable to cause a test failure, however this feature is tested by:
1548         platform/chromium/http/tests/misc/execute-and-return-value.html
1549
1550         * bindings/v8/V8Proxy.cpp:
1551         (WebCore::V8Proxy::evaluateInIsolatedWorld):
1552
1553 2012-06-13  Zan Dobersek  <zandobersek@gmail.com>
1554
1555         [Gtk] Enable link prefetch support in the developer builds
1556         https://bugs.webkit.org/show_bug.cgi?id=89011
1557
1558         Reviewed by Martin Robinson.
1559
1560         Handle the ENABLE_LINK_PREFETCH conditional in standard way.
1561
1562         No new tests - covered by existing link prefetch tests.
1563
1564         * GNUmakefile.am:
1565
1566 2012-06-13  Amy Ousterhout  <aousterh@chromium.org>
1567
1568         Rename currentDeviceMotion to lastMotion in DeviceMotionClient
1569         https://bugs.webkit.org/show_bug.cgi?id=88854
1570
1571         Reviewed by Adam Barth.
1572
1573         Rename the function currentDeviceMotion to lastMotion in DeviceMotionClient.
1574         This makes it consistent with the similar function lastOrientation in DeviceOrientationClient.
1575
1576         Just a rename, so does not require any new tests.
1577
1578         * dom/DeviceMotionClient.h:
1579         (DeviceMotionClient):
1580         * dom/DeviceMotionController.cpp:
1581         (WebCore::DeviceMotionController::timerFired):
1582         (WebCore::DeviceMotionController::addListener):
1583         * loader/EmptyClients.h:
1584         (WebCore::EmptyDeviceMotionClient::lastMotion):
1585         * platform/qt/DeviceMotionClientQt.cpp:
1586         (WebCore::DeviceMotionClientQt::lastMotion):
1587         * platform/qt/DeviceMotionClientQt.h:
1588         (DeviceMotionClientQt):
1589         * platform/qt/DeviceMotionProviderQt.h:
1590         (WebCore::DeviceMotionProviderQt::lastMotion):
1591
1592 2012-06-13  Vsevolod Vlasov  <vsevik@chromium.org>
1593
1594         Web Inspector: Breakpoint's _uiLocationRemoved() method is never called.
1595         https://bugs.webkit.org/show_bug.cgi?id=89003
1596
1597         Reviewed by Pavel Feldman.
1598
1599         * inspector/front-end/BreakpointManager.js:
1600         (WebInspector.BreakpointManager.prototype.breakpointLocationsForUISourceCode):
1601         (WebInspector.BreakpointManager.Breakpoint):
1602         (WebInspector.BreakpointManager.Breakpoint.prototype._locationUpdated):
1603         (WebInspector.BreakpointManager.Breakpoint.prototype._resetLocations):
1604         (WebInspector.BreakpointManager.Breakpoint.prototype._fakeBreakpointAtPrimaryLocation):
1605         * inspector/front-end/FileSystemModel.js: Drive by compilation fix.
1606         (WebInspector.FileSystemModel):
1607
1608 2012-06-13  David Grogan  <dgrogan@chromium.org>
1609
1610         IndexedDB: Add tests, an assert, and some comments around open/close/setVersion call sequencing
1611         https://bugs.webkit.org/show_bug.cgi?id=88829
1612
1613         Reviewed by Tony Chang.
1614
1615         Test: storage/indexeddb/three-setversion-calls.html
1616
1617         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1618         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
1619
1620 2012-06-09  Vsevolod Vlasov  <vsevik@chromium.org>
1621
1622         Web Inspector: Errors when pending console messages are attached to JavaScriptSourceFrame.
1623         https://bugs.webkit.org/show_bug.cgi?id=88712
1624
1625         Reviewed by Pavel Feldman.
1626
1627         * inspector/front-end/PresentationConsoleMessageHelper.js:
1628         (WebInspector.PresentationConsoleMessageHelper):
1629         (WebInspector.PresentationConsoleMessageHelper.prototype._addPendingConsoleMessage):
1630         (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
1631
1632 2012-06-13  Alexander Pavlov  <apavlov@chromium.org>
1633
1634         Web Inspector: Support user attributes in DOMNode
1635         https://bugs.webkit.org/show_bug.cgi?id=88706
1636
1637         Reviewed by Pavel Feldman.
1638
1639         This change allows clients to store arbitrary properties on DOMNodes and know if there are descendants
1640         (and how many of them) having a certain property set.
1641
1642         Test: inspector/elements/user-attributes.html
1643
1644         * inspector/front-end/DOMAgent.js:
1645         (WebInspector.DOMNode.prototype._removeChild):
1646         (WebInspector.DOMNode.prototype._updateChildUserPropertyCountsOnRemoval):
1647         (WebInspector.DOMNode.prototype._updateDescendantUserPropertyCount):
1648         (WebInspector.DOMNode.prototype.setUserProperty):
1649         (WebInspector.DOMNode.prototype.removeUserProperty):
1650         (WebInspector.DOMNode.prototype.getUserProperty):
1651         (WebInspector.DOMNode.prototype.descendantUserPropertyCount):
1652
1653 2012-06-13  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
1654
1655         REGRESSION:Bindings sequence<T> in Console.idl, Internals.idl and ScriptProfileNode.idl should be T[]
1656         https://bugs.webkit.org/show_bug.cgi?id=84863
1657
1658         Reviewed by Kentaro Hara.
1659
1660         With reference to http://www.w3.org/TR/WebIDL/#idl-sequence
1661         "Sequences must not be used as the type of an attribute, constant or exception field."
1662         So we should use T[] instead of sequence<T>.
1663
1664         Tests: bindings/scripts/test/TestObj.idl
1665                fast/harness/user-preferred-language.html
1666                inspector/profiler/cpu-profiler-profiling-without-inspector.html
1667                media/track/track-language-preference.html
1668
1669         * bindings/scripts/CodeGenerator.pm:
1670         (GetSequenceType): Getter for getting sequence type.
1671         (GetArrayType): Getter for getting array type.
1672         (AssertNotSequenceType): Check sequences must not be used as the type of an attribute,
1673         constant or exception field.
1674         * bindings/scripts/CodeGeneratorCPP.pm:
1675         (SkipFunction): Exclude bindings code for type sequence.
1676         (SkipAttribute): Check for sequences must not be used as the type of an attribute,
1677         constant or exception field.
1678         (AddIncludesForType): Exclude header inclusion code for type array/sequence.
1679         * bindings/scripts/CodeGeneratorGObject.pm:
1680         (SkipAttribute): Check for sequences must not be used as the type of an attribute,
1681         constant or exception field.
1682         (SkipFunction): Exclude bindings code for type sequence.
1683         * bindings/scripts/CodeGeneratorJS.pm:
1684         (AddIncludesForType): Exclude header inclusion code for type array/sequence.
1685         (GenerateImplementation):  Check for sequences must not be used as the type of an attribute,
1686         constant or exception field.
1687         (GetNativeType):
1688         (JSValueToNative):
1689         (NativeToJSValue):
1690         * bindings/scripts/CodeGeneratorObjC.pm:
1691         (SkipFunction): Exclude bindings code for type sequence.
1692         (SkipAttribute): Exclude bindings code for type array.
1693         (AddForwardDeclarationsForType):
1694         (AddIncludesForType):
1695         * bindings/scripts/CodeGeneratorV8.pm:
1696         (GenerateNormalAttrGetter):
1697         (GetNativeType):
1698         (JSValueToNative):
1699         (CreateCustomSignature):
1700         (NativeToJSValue):
1701         * bindings/scripts/test/JS/JSTestObj.cpp: Updated code from run-bindings-tests.
1702         (WebCore):
1703         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
1704         * bindings/scripts/test/JS/JSTestObj.h: Updated code from run-bindings-tests.
1705         (WebCore):
1706         * bindings/scripts/test/TestObj.idl: Tests.
1707         * bindings/scripts/test/V8/V8TestObj.cpp:  Updated code from run-bindings-tests.
1708         (TestObjV8Internal):
1709         (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
1710         (WebCore):
1711         * inspector/ScriptProfileNode.idl: Using sequence<T> for children().
1712         * page/Console.idl: Using Array[T] for profiles attribute.
1713         * testing/Internals.idl: Using sequence<T> for userPreferredLanguages().
1714
1715 2012-06-13  Simon Hausmann  <simon.hausmann@nokia.com>
1716
1717         [Qt] Remove dependency to QtScript for the Qt 5 build
1718         https://bugs.webkit.org/show_bug.cgi?id=88993
1719
1720         Reviewed by Kenneth Rohde Christiansen.
1721
1722         Replace the use of QScriptEngine::ValueOwnership with an enum local
1723         to the class where it is used (QtInstance).
1724
1725         * Target.pri:
1726         * bindings/js/ScriptControllerQt.cpp:
1727         (WebCore::ScriptController::createScriptInstanceForWidget):
1728         * bridge/qt/qt_instance.cpp:
1729         (JSC::Bindings::QtInstance::QtInstance):
1730         (JSC::Bindings::QtInstance::~QtInstance):
1731         (JSC::Bindings::QtInstance::getQtInstance):
1732         * bridge/qt/qt_instance.h:
1733         (QtInstance):
1734         (JSC::Bindings::QtInstance::create):
1735         * bridge/qt/qt_runtime.cpp:
1736         (JSC::Bindings::convertQVariantToValue):
1737         * bridge/qt/qt_runtime_qt4.cpp:
1738         (JSC::Bindings::convertQVariantToValue):
1739
1740 2012-06-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1741
1742         [Qt] Save a JSGlobalContextRef instead of a JSContextRef in QtConnectionObject
1743         https://bugs.webkit.org/show_bug.cgi?id=88905
1744
1745         Make QtConnectionObject use JSContextGetGlobalContext and store the
1746         JSGlobalContextRef. Previous code was working but saving JSContextRef was wrong in terms of
1747         API.
1748
1749         There's an assumption that JSGlobalContextRef will outlive the connection objects, and
1750         because of it no JSGlobalContextRetain/Release calls were added.
1751
1752         Reviewed by Noam Rosenthal.
1753
1754         * bridge/qt/qt_runtime.cpp:
1755         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1756         (JSC::Bindings::QtConnectionObject::QtConnectionObject):
1757         * bridge/qt/qt_runtime.h:
1758         (QtConnectionObject):
1759         * bridge/qt/qt_runtime_qt4.cpp:
1760         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1761         (JSC::Bindings::QtConnectionObject::QtConnectionObject):
1762
1763 2012-06-13  David Barr  <davidbarr@chromium.org>
1764
1765         Add dpi to css3-images image-resolution
1766         https://bugs.webkit.org/show_bug.cgi?id=85439
1767
1768         Reviewed by Tony Chang.
1769
1770         No new tests; extended fast/css/image-resolution/image-resolution.html
1771
1772         * css/CSSGrammar.y:
1773         * css/CSSParser.cpp:
1774         (WebCore::CSSParser::validUnit):
1775         (WebCore::CSSParser::createPrimitiveNumericValue):
1776         (WebCore::unitFromString):
1777         (WebCore::CSSParser::parseValidPrimitive):
1778         (WebCore::CSSParser::detectNumberToken):
1779         * css/CSSPrimitiveValue.cpp:
1780         (WebCore::isValidCSSUnitTypeForDoubleConversion):
1781         (WebCore::unitCategory):
1782         (WebCore::conversionToCanonicalUnitsScaleFactor):
1783         (WebCore::CSSPrimitiveValue::customCssText):
1784         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
1785         * css/CSSPrimitiveValue.h:
1786
1787 2012-06-13  Li Yin  <li.yin@intel.com>
1788
1789         FileAPI: type should be converted to be lower case in Blob constructor.
1790         https://bugs.webkit.org/show_bug.cgi?id=88696
1791
1792         Reviewed by Kentaro Hara.
1793
1794         Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-BlobPropertyBag
1795         Spec: http://dev.w3.org/2006/webapi/FileAPI/#attributes-blob
1796         The ASCII-encoded string in lower case representing the media type of the Blob.
1797
1798         Test: fast/files/blob-constructor.html
1799
1800         * bindings/js/JSBlobCustom.cpp:
1801         (WebCore::JSBlobConstructor::constructJSBlob):
1802         * bindings/v8/custom/V8BlobCustom.cpp:
1803         (WebCore::V8Blob::constructorCallback):
1804
1805 2012-06-13  Robin Cao  <robin.cao@torchmobile.com.cn>
1806
1807         [BlackBerry] Enable MEDIA_STREAM by default
1808         https://bugs.webkit.org/show_bug.cgi?id=88849
1809
1810         Reviewed by Antonio Gomes.
1811
1812         Covered by existing test cases.
1813
1814         * CMakeLists.txt:
1815         * PlatformBlackBerry.cmake:
1816         * platform/mediastream/blackberry/DeprecatedPeerConnectionHandler.cpp: Added.
1817         (WebCore):
1818         (WebCore::DeprecatedPeerConnectionHandler::create):
1819         (WebCore::DeprecatedPeerConnectionHandler::DeprecatedPeerConnectionHandler):
1820         (WebCore::DeprecatedPeerConnectionHandler::~DeprecatedPeerConnectionHandler):
1821         (WebCore::DeprecatedPeerConnectionHandler::produceInitialOffer):
1822         (WebCore::DeprecatedPeerConnectionHandler::handleInitialOffer):
1823         (WebCore::DeprecatedPeerConnectionHandler::processSDP):
1824         (WebCore::DeprecatedPeerConnectionHandler::processPendingStreams):
1825         (WebCore::DeprecatedPeerConnectionHandler::sendDataStreamMessage):
1826         (WebCore::DeprecatedPeerConnectionHandler::stop):
1827         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp: Added.
1828         (WebCore):
1829         (WebCore::MediaStreamCenter::instance):
1830         (WebCore::MediaStreamCenterBlackBerry::MediaStreamCenterBlackBerry):
1831         (WebCore::MediaStreamCenterBlackBerry::~MediaStreamCenterBlackBerry):
1832         (WebCore::MediaStreamCenterBlackBerry::queryMediaStreamSources):
1833         (WebCore::MediaStreamCenterBlackBerry::didSetMediaStreamTrackEnabled):
1834         (WebCore::MediaStreamCenterBlackBerry::didStopLocalMediaStream):
1835         (WebCore::MediaStreamCenterBlackBerry::didCreateMediaStream):
1836         (WebCore::MediaStreamCenterBlackBerry::constructSDP):
1837         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h: Added.
1838         (WebCore):
1839         (MediaStreamCenterBlackBerry):
1840
1841 2012-06-13  Pavel Feldman  <pfeldman@chromium.org>
1842
1843         Web Inspector: working copy should be committed even if domain binding returns error.
1844         https://bugs.webkit.org/show_bug.cgi?id=88884
1845
1846         Reviewed by Vsevolod Vlasov.
1847
1848         Committing working copy is about saving file. It should always succeed.
1849
1850         * inspector/front-end/UISourceCode.js:
1851         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
1852
1853 2012-06-12  Pavel Feldman  <pfeldman@chromium.org>
1854
1855         Web Inspector: show revisions of all modified files in local modifications view
1856         https://bugs.webkit.org/show_bug.cgi?id=88864
1857
1858         Reviewed by Vsevolod Vlasov.
1859
1860         This change allows all local modifications to be seen in a single view. View is now
1861         singleton, listening to all revisions being added. Revert captions were reworked
1862         (see the screenshot).
1863
1864         * English.lproj/localizedStrings.js:
1865         * inspector/front-end/Resource.js:
1866         * inspector/front-end/RevisionHistoryView.js:
1867         (WebInspector.RevisionHistoryView.populateRevisions):
1868         (WebInspector.RevisionHistoryView):
1869         (WebInspector.RevisionHistoryView.showHistory):
1870         (WebInspector.RevisionHistoryView.reset):
1871         (WebInspector.RevisionHistoryView.prototype._createResourceItem.clearHistory):
1872         (WebInspector.RevisionHistoryView.prototype._createResourceItem):
1873         (WebInspector.RevisionHistoryView.prototype._revisionAdded.get if):
1874         (WebInspector.RevisionHistoryView.prototype._revisionAdded):
1875         (WebInspector.RevisionHistoryView.prototype._revealResource.get if):
1876         (WebInspector.RevisionHistoryView.prototype._revealResource):
1877         (WebInspector.RevisionHistoryView.prototype._reset):
1878         (WebInspector.RevisionHistoryTreeElement):
1879         (WebInspector.RevisionHistoryTreeElement.prototype.onattach):
1880         (WebInspector.RevisionHistoryTreeElement.prototype.oncollapse):
1881         * inspector/front-end/ScriptsPanel.js:
1882         (WebInspector.ScriptsPanel.prototype._reset):
1883         (WebInspector.ScriptsPanel.prototype._editorSelected):
1884         * inspector/front-end/revisionHistory.css:
1885         (.revision-history-link-row):
1886         (.revision-history-drawer li.revision-history-revision):
1887
1888 2012-06-13  Pavel Feldman  <pfeldman@chromium.org>
1889
1890         Web Inspector: Make "Go to source and line" possible with "go to file" dialog
1891         https://bugs.webkit.org/show_bug.cgi?id=88740
1892
1893         Reviewed by Vsevolod Vlasov.
1894
1895         Selection dialog now allows search query rewrite and uses line number
1896         suffix to go to a particular line.
1897
1898         * inspector/front-end/FilteredItemSelectionDialog.js:
1899         (WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
1900         (WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
1901         (WebInspector.SelectionDialogContentProvider.prototype.selectItem):
1902         (WebInspector.SelectionDialogContentProvider.prototype.rewriteQuery):
1903         (WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
1904         (WebInspector.JavaScriptOutlineDialog.prototype.rewriteQuery):
1905         (WebInspector.OpenResourceDialog.prototype.selectItem):
1906         (WebInspector.OpenResourceDialog.prototype.rewriteQuery):
1907         * inspector/front-end/ScriptsPanel.js:
1908         (WebInspector.ScriptsPanel.prototype.showUISourceCode):
1909         * inspector/front-end/StylesPanel.js:
1910         (WebInspector.StyleSheetOutlineDialog.prototype.selectItem):
1911         (WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery):
1912
1913 2012-06-12  Hans Wennborg  <hans@chromium.org>
1914
1915         Speech JavaScript API: Add test for constructing SpeechRecognitionError events
1916         https://bugs.webkit.org/show_bug.cgi?id=88868
1917
1918         Reviewed by Adam Barth.
1919
1920         This adds a test for constructing SpeechRecognitionError events, and
1921         code to make it work.
1922
1923         Test: fast/events/constructors/speech-recognition-error-constructor.html
1924
1925         * Modules/speech/SpeechRecognitionError.cpp:
1926         (WebCore::SpeechRecognitionError::create):
1927         (WebCore):
1928         (WebCore::SpeechRecognitionError::SpeechRecognitionError):
1929         (WebCore::SpeechRecognitionErrorInit::SpeechRecognitionErrorInit):
1930         * Modules/speech/SpeechRecognitionError.h:
1931         (SpeechRecognitionErrorInit):
1932         (WebCore):
1933         (SpeechRecognitionError):
1934         (WebCore::SpeechRecognitionError::code):
1935         * Modules/speech/SpeechRecognitionError.idl:
1936
1937 2012-06-13  Taiju Tsuiki  <tzik@chromium.org>
1938
1939         Implement InspectorFileSystemAgent::readDirectory for FileSystem support.
1940         https://bugs.webkit.org/show_bug.cgi?id=87724
1941
1942         Reviewed by Vsevolod Vlasov.
1943
1944         Test: http/tests/inspector/filesystem/read-directory.html
1945
1946         * inspector/Inspector.json:
1947         * inspector/InspectorController.cpp:
1948         (WebCore::InspectorController::InspectorController):
1949         * inspector/InspectorFileSystemAgent.cpp:
1950         (InspectorFileSystemAgent::FrontendProvider):
1951         (WebCore):
1952         (WebCore::InspectorFileSystemAgent::create):
1953         (WebCore::InspectorFileSystemAgent::readDirectory):
1954         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
1955         * inspector/InspectorFileSystemAgent.h:
1956         (WebCore):
1957         (InspectorFileSystemAgent):
1958
1959 2012-06-13  Silvia Pfeiffer  <silviapf@chromium.org>
1960
1961         Change the styling of the Chromium video controls.
1962         https://bugs.webkit.org/show_bug.cgi?id=88297
1963
1964         Reviewed by Eric Carlson.
1965
1966         No new tests, final patch will contain the rebaselined tests.
1967
1968         The Chrome video controls are receiving a visual update. This patch includes CSS changes,
1969         the removal of the now no longer needed controls background div, and the introduction of
1970         new images for the buttons.
1971
1972         * css/mediaControlsChromium.css:
1973         (audio):
1974         Adjust height of audio controls.
1975         (::-webkit-media-controls):
1976         Use flexbox on media controls shadow DOM.
1977         (audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
1978         Adjust height, max-width, text-indent and box-sizing, and reset padding to 0.
1979         (video::-webkit-media-controls-enclosure):
1980         Use 5px padding only for video controls and adjust height accordingly.
1981         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1982         Use flexbox on panel, adjust bottom alignment, height, background color and border radius.
1983         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1984         Display buttons inline with fixed width and height, vertically centered, no padding and
1985         6px space to next controls element (this will be 15px incl the space in the image).
1986         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
1987         Display buttons inline with fixed width and height, vertically centered, no padding and
1988         9px space to next controls element (this will be 15px incl the space in the image).
1989         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
1990         Display text as block, without broder, adjusted height, font-family, font-size and 9px space
1991         to next controls element (this will be 15px incl the space in the image).
1992         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
1993         Adjust height, padding, background-color, min-wdith and 15px space to next controls element.
1994         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
1995         Adjust height, max- and min-width, background-color and 15px space to next controls element.
1996         * html/shadow/MediaControlRootElementChromium.cpp:
1997         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
1998         Remove timeline container, which is not necessary any longer because of the use of flexbox.
1999         (WebCore::MediaControlRootElementChromium::create):
2000         Remove timeline container, which is not necessary any longer because of the use of flexbox.
2001         (WebCore::MediaControlRootElementChromium::setMediaController):
2002         Remove timeline container, which is not necessary any longer because of the use of flexbox.
2003         (WebCore::MediaControlRootElementChromium::reset):
2004         Show the timeline instead of the timeline container when resetting.
2005         (WebCore::MediaControlRootElementChromium::reportedError):
2006         Hide the timeline instead of the timeline container when running into an error.
2007         * rendering/RenderMediaControlsChromium.cpp:
2008         (WebCore::paintMediaMuteButton):
2009         Introduce new image resources for the mute button and adjust it based on volume levels.
2010         (WebCore::paintMediaPlayButton):
2011         Introduce new image resources for the play button.
2012         (WebCore::getMediaSliderThumb):
2013         Introduce new image resources for the position slider thumb.
2014         (WebCore::paintMediaVolumeSliderThumb):
2015         Introduce new image resources for the volume slider thumb.
2016         Remove timeline container rendering.
2017         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2018         Add timeline container painting to the "not reached" elements.
2019         (WebCore):
2020         Provide size settings for the position and volume sliders.
2021         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
2022         Calculate correct width and height settings for the new image resources of the position and volume
2023         slider thumbs.
2024         * rendering/RenderThemeChromiumMac.h:
2025         (RenderThemeChromiumMac):
2026         Remove timeline container rendering (i.e. the media controls background).
2027         * rendering/RenderThemeChromiumMac.mm:
2028         Remove timeline container rendering (i.e. the media controls background).
2029         * rendering/RenderThemeChromiumSkia.cpp:
2030         Remove timeline container rendering (i.e. the media controls background).
2031         * rendering/RenderThemeChromiumSkia.h:
2032         (RenderThemeChromiumSkia):
2033         Remove timeline container rendering (i.e. the media controls background).
2034
2035 2012-06-13  Kinuko Yasuda  <kinuko@chromium.org>
2036
2037         Unreviewed, fixing English nits suggested by review for r120165.
2038
2039         * fileapi/Blob.cpp:
2040         (WebCore::Blob::webkitSlice):
2041         * fileapi/Blob.h:
2042         (Blob):
2043
2044 2012-06-13  MORITA Hajime  <morrita@google.com>
2045
2046         REGRESSION(r118098): <content> element does not render distributed children when cloned from another document
2047         https://bugs.webkit.org/show_bug.cgi?id=88148
2048
2049         Reviewed by Dimitri Glazkov.
2050
2051         The shadow DOM availability was decided through FrameLoaderClient.
2052         But there are documents which don't have any associated frames, in
2053         which any shadow DOM related elements cannot be constructed.  That
2054         resulsted the regression.
2055
2056         This change introduces a Page-based client called
2057         ContextFeaturesClient which takes the role from FrameLoaderClient
2058         to decide the feature availability, and ContextFeatures which is a
2059         proxy of ContextFeaturesClient.  ContextEnabledFeatures is is
2060         replaced with ContextFeatures.
2061
2062         Each ContextFeatures object is owned by a Page, and is attached to
2063         each Document in the page even if the page itself has no referenct
2064         to Frames or Pages. With ContextFeatures, each Document can decide
2065         the feature availability even if it cannot reach Page or Frame.
2066
2067         On RefCountedSupplement: Document instance can live longer than a
2068         Page where it is shwon. This means that ContextFeatures instance
2069         needs to survive after owner Page destruction because it's
2070         referenced from possibly surviving Documents. RefCountedSupplement
2071         is introduced to cover this scenario: It allows supplement classes
2072         to live after Page's destruction.
2073
2074         RefCountedSupplement::hostDestroyed() is notified when the hosting
2075         page is gone. ContextFeatures clears its reference to the client
2076         using this notification.
2077
2078         Test: fast/dom/shadow/elements-in-frameless-document.html
2079
2080         * CMakeLists.txt:
2081         * GNUmakefile.list.am:
2082         * Target.pri:
2083         * WebCore.gypi:
2084         * WebCore.vcproj/WebCore.vcproj:
2085         * WebCore.xcodeproj/project.pbxproj:
2086         * bindings/scripts/CodeGeneratorV8.pm:
2087         (GenerateImplementation):
2088         * css/StyleResolver.cpp:
2089         (WebCore::StyleResolver::determineScope):
2090         * dom/ContextFeatures.cpp: Added.
2091         (WebCore):
2092         (WebCore::ContextFeaturesClient::empty):
2093         (WebCore::ContextFeatures::supplementName):
2094         (WebCore::ContextFeatures::defaultSwitch):
2095         (WebCore::ContextFeatures::shadowDOMEnabled):
2096         (WebCore::ContextFeatures::styleScopedEnabled):
2097         (WebCore::ContextFeatures::pagePopupEnabled):
2098         (WebCore::provideContextFeaturesTo):
2099         (WebCore::provideContextFeaturesToDocumentFrom):
2100         * dom/ContextFeatures.h: Added.
2101         (WebCore):
2102         (ContextFeatures):
2103         (WebCore::ContextFeatures::ContextFeatures):
2104         (WebCore::ContextFeatures::hostDestroyed):
2105         (ContextFeaturesClient):
2106         (WebCore::ContextFeaturesClient::~ContextFeaturesClient):
2107         (WebCore::ContextFeaturesClient::isEnabled):
2108         (WebCore::ContextFeatures::create):
2109         (WebCore::ContextFeatures::isEnabled):
2110         * dom/DOMAllInOne.cpp:
2111         * dom/DOMImplementation.cpp:
2112         (WebCore::DOMImplementation::createDocument):
2113         (WebCore::DOMImplementation::createHTMLDocument):
2114         * dom/Document.h:
2115         (WebCore::Document::contextFeatures):
2116         * dom/Document.cpp:
2117         (WebCore::Document::Document):
2118         (WebCore::Document::setContextFeatures):
2119         * dom/Position.cpp:
2120         (WebCore::Position::Position):
2121         (WebCore::Position::findParent):
2122         * dom/TreeScope.cpp:
2123         (WebCore::TreeScope::getSelection):
2124         * dom/make_names.pl:
2125         (printConstructorInterior):
2126         (printFactoryCppFile):
2127         (printWrapperFunctions):
2128         (printWrapperFactoryCppFile):
2129         * editing/markup.cpp:
2130         (WebCore::createFragmentFromMarkupWithContext):
2131         * html/HTMLStyleElement.cpp:
2132         (WebCore::HTMLStyleElement::registerWithScopingNode):
2133         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
2134         * html/shadow/HTMLContentElement.cpp:
2135         (WebCore::contentTagName):
2136         * inspector/DOMPatchSupport.cpp:
2137         (WebCore::DOMPatchSupport::patchDocument):
2138         * loader/FrameLoaderClient.h:
2139         * platform/RefCountedSupplement.h: Copied from Source/WebCore/platform/Supplementable.h.
2140         (WebCore):
2141         (RefCountedSupplement):
2142         (WebCore::RefCountedSupplement::hostDestroyed):
2143         (Wrapper):
2144         (WebCore::RefCountedSupplement::Wrapper::Wrapper):
2145         (WebCore::RefCountedSupplement::Wrapper::~Wrapper):
2146         (WebCore::RefCountedSupplement::Wrapper::wrapped):
2147         (WebCore::RefCountedSupplement::provideTo):
2148         (WebCore::RefCountedSupplement::from):
2149         * platform/Supplementable.h:
2150         (WebCore::Supplement::isRefCountedWrapper):
2151         * xml/XMLHttpRequest.cpp:
2152         (WebCore::XMLHttpRequest::responseXML):
2153
2154 2012-06-11  Kinuko Yasuda  <kinuko@chromium.org>
2155
2156         Unprefix Blob.webkitSlice
2157         https://bugs.webkit.org/show_bug.cgi?id=78111
2158
2159         Reviewed by Adam Barth.
2160
2161         Add unprefixed Blob.slice and start showing a deprecation message when webkitSlice is called.
2162
2163         No new tests: existing tests that call webkitSlice() are converted to slice(). They should keep running.
2164
2165         * bindings/gobject/WebKitDOMCustom.cpp:
2166         (webkit_dom_blob_slice): Removed.
2167         (webkit_dom_blob_webkit_slice): Added.
2168         * fileapi/Blob.cpp:
2169         (WebCore::Blob::slice):
2170         (WebCore):
2171         (WebCore::Blob::webkitSlice):
2172         (WebCore::Blob::sliceInternal): Added.
2173         * fileapi/Blob.h:
2174         (WebCore):
2175         (Blob):
2176         * fileapi/Blob.idl:
2177
2178 2012-06-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2179
2180         Unreviewed, rolling out r120036.
2181         http://trac.webkit.org/changeset/120036
2182         https://bugs.webkit.org/show_bug.cgi?id=88965
2183
2184         "assert failed in debug build" (Requested by maryw on
2185         #webkit).
2186
2187         * platform/network/blackberry/NetworkJob.cpp:
2188         (WebCore::NetworkJob::handleNotifyDataReceived):
2189
2190 2012-06-12  Wei James  <james.wei@intel.com>
2191
2192         webcore should depend on webcore_arm_neon for only arm target_arch
2193         https://bugs.webkit.org/show_bug.cgi?id=88839
2194
2195         Reviewed by Adam Barth.
2196
2197         * WebCore.gyp/WebCore.gyp:
2198
2199 2012-06-12  Edaena Salinas Jasso  <edaena@apple.com>
2200
2201         Can't set el.type on a <button> element
2202         https://bugs.webkit.org/show_bug.cgi?id=14439
2203
2204         Reviewed by Darin Adler.
2205
2206         Test: fast/dom/HTMLButtonElement/change-type.html
2207
2208         * bindings/objc/PublicDOMInterfaces.h:
2209         * html/HTMLButtonElement.cpp:
2210         (WebCore::HTMLButtonElement::setType): Added implementation of setType method.
2211         (WebCore):
2212         * html/HTMLButtonElement.h:
2213         (HTMLButtonElement): Added setType method.
2214         * html/HTMLButtonElement.idl: Removed readonly restriction to the type variable.
2215
2216 2012-06-12  Kenichi Ishibashi  <bashi@chromium.org>
2217
2218         [Chromium] Implement font shaping with font-feature-settings on Mac
2219         https://bugs.webkit.org/show_bug.cgi?id=69826
2220
2221         Reviewed by Tony Chang.
2222
2223         Add HarfBuzz-ng text shaper.
2224         Chromium mac port uses it as secondary text shaper to support OpenType features.
2225         HarfBuzz-ng is only used when -webkit-font-feature-settings is specified and
2226         corresponding font is not an AAT font.
2227
2228         No new tests. css3/font-feature-settings-rendering.html should pass on Chromium mac port.
2229
2230         * WebCore.gyp/WebCore.gyp: Added harfbuzz-ng dependencies.
2231         * WebCore.gypi: Added harfbuzz-ng files.
2232         * platform/graphics/FontPlatformData.h:
2233         (FontPlatformData): Added m_harfbuzzFace.
2234         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2235         (WebCore::FontPlatformData::platformDataInit): Copy m_harfbuzzFace.
2236         (WebCore::FontPlatformData::platformDataAssign): Ditto.
2237         (WebCore):
2238         (WebCore::isAATFont):
2239         (WebCore::FontPlatformData::harfbuzzFace):
2240         * platform/graphics/harfbuzz/ng/HarfBuzzFace.cpp: Added.
2241         (WebCore):
2242         (WebCore::harfbuzzFaceCache):
2243         (WebCore::HarfBuzzFace::HarfBuzzFace):
2244         (WebCore::HarfBuzzFace::~HarfBuzzFace):
2245         * platform/graphics/harfbuzz/ng/HarfBuzzFace.h: Added.
2246         (WebCore):
2247         (HarfBuzzFace):
2248         (WebCore::HarfBuzzFace::create):
2249         * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp: Added.
2250         (WebCore):
2251         (WebCore::floatToHarfBuzzPosition):
2252         (WebCore::getGlyph):
2253         (WebCore::getGlyphHorizontalAdvance):
2254         (WebCore::getGlyphHorizontalOrigin):
2255         (WebCore::getGlyphExtents):
2256         (WebCore::harfbuzzCoreTextGetFontFuncs):
2257         (WebCore::releaseTableData):
2258         (WebCore::harfbuzzCoreTextGetTable):
2259         (WebCore::HarfBuzzFace::createFace):
2260         (WebCore::HarfBuzzFace::createFont):
2261         (WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
2262         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: Added.
2263         (WebCore):
2264         (WebCore::harfbuzzPositionToFloat):
2265         (WebCore::HarfBuzzShaper::HarfBuzzRun::HarfBuzzRun):
2266         (WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndPositions):
2267         (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
2268         (WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset):
2269         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
2270         (WebCore::HarfBuzzShaper::~HarfBuzzShaper):
2271         (WebCore::HarfBuzzShaper::setFontFeatures):
2272         (WebCore::HarfBuzzShaper::shape):
2273         (WebCore::HarfBuzzShaper::setupHarfBuzzRun):
2274         (WebCore::HarfBuzzShaper::shapeHarfBuzzRun):
2275         (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun):
2276         (WebCore::HarfBuzzShaper::offsetForPosition):
2277         (WebCore::HarfBuzzShaper::selectionRect):
2278         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h: Added.
2279         (WebCore):
2280         (HarfBuzzShaper):
2281         (WebCore::HarfBuzzShaper::totalWidth):
2282         (HarfBuzzRun):
2283         (WebCore::HarfBuzzShaper::HarfBuzzRun::create):
2284         (WebCore::HarfBuzzShaper::HarfBuzzRun::setWidth):
2285         (WebCore::HarfBuzzShaper::HarfBuzzRun::numCharacters):
2286         (WebCore::HarfBuzzShaper::HarfBuzzRun::numGlyphs):
2287         (WebCore::HarfBuzzShaper::HarfBuzzRun::width):
2288         (WebCore::HarfBuzzShaper::HarfBuzzRun::rtl):
2289         * platform/graphics/mac/FontComplexTextMac.cpp:
2290         (WebCore):
2291         (WebCore::preferHarfBuzz): Added.
2292         (WebCore::Font::selectionRectForComplexText): Use HarfBuzzShaper if font-feature-settings exists.
2293         (WebCore::Font::drawComplexText): Ditto.
2294         (WebCore::Font::floatWidthForComplexText): Ditto.
2295         (WebCore::Font::offsetForPositionForComplexText): Ditto.
2296
2297 2012-06-12  Luke Macpherson  <macpherson@chromium.org>
2298
2299         WIP: Implement CSS Variables Standard.
2300         https://bugs.webkit.org/show_bug.cgi?id=85580
2301
2302         Reviewed by Ojan Vafai.
2303
2304         Implement CSS Variables Module Level 1. (See http://www.w3.org/TR/css-variables/)
2305
2306         A HashMap of properties is referenced by RenderStyle, and used to store variables as strings.
2307         That HashMap is copy-on-write, and unless new variables are defined is simply a pointer to the
2308         parent's definitions. At usage time the variable's value is parsed according to the CSS property
2309         where it is used.
2310         Variables can:
2311                Define lists of values (ie. entire shorthand values).
2312                Define individual values.
2313                Refer to other variables. (Cycle detection is implemented).
2314         Please see the supplied test cases for example usage.
2315
2316         Missing features:
2317                CSS variables cannot yet be used inside some functions such as -webkit-calc.
2318
2319         Covered by existing test suite under fast/css/variables.
2320
2321         * GNUmakefile.list.am:
2322         * Target.pri:
2323         * WebCore.gypi:
2324         * WebCore.vcproj/WebCore.vcproj:
2325         * WebCore.xcodeproj/project.pbxproj:
2326         * css/CSSComputedStyleDeclaration.cpp:
2327         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2328         * css/CSSGrammar.y:
2329         * css/CSSParser.cpp:
2330         (WebCore):
2331         (WebCore::filterProperties):
2332         (WebCore::CSSParser::createStylePropertySet):
2333         (WebCore::CSSParser::validUnit):
2334         (WebCore::CSSParser::createPrimitiveNumericValue):
2335         (WebCore::CSSParser::parseValue):
2336         (WebCore::CSSParser::storeVariableDeclaration):
2337         (WebCore::CSSParser::detectDashToken):
2338         (WebCore::CSSParser::lex):
2339         * css/CSSParser.h:
2340         (CSSParser):
2341         * css/CSSParserValues.cpp:
2342         (WebCore::CSSParserValue::createCSSValue):
2343         * css/CSSPrimitiveValue.cpp:
2344         (WebCore::isValidCSSUnitTypeForDoubleConversion):
2345         (WebCore::CSSPrimitiveValue::getStringValue):
2346         (WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):
2347         (WebCore):
2348         * css/CSSPrimitiveValue.h:
2349         (CSSPrimitiveValue):
2350         (WebCore::CSSPrimitiveValue::isVariableName):
2351         * css/CSSProperty.cpp:
2352         (WebCore::CSSProperty::isInheritedProperty):
2353         * css/CSSValue.cpp:
2354         (WebCore::CSSValue::serializeResolvingVariables):
2355         (WebCore):
2356         (WebCore::CSSValue::destroy):
2357         * css/CSSValue.h:
2358         (CSSValue):
2359         (WebCore::CSSValue::isVariableValue):
2360         * css/CSSValueList.cpp:
2361         (WebCore):
2362         (WebCore::CSSValueList::customSerializeResolvingVariables):
2363         * css/CSSValueList.h:
2364         (CSSValueList):
2365         * css/CSSVariableValue.h: Added.
2366         (WebCore):
2367         (CSSVariableValue):
2368         (WebCore::CSSVariableValue::create):
2369         (WebCore::CSSVariableValue::name):
2370         (WebCore::CSSVariableValue::value):
2371         (WebCore::CSSVariableValue::CSSVariableValue):
2372         * css/StyleResolver.cpp:
2373         (WebCore::StyleResolver::collectMatchingRulesForList):
2374         * css/StyleResolver.h:
2375         * css/WebKitCSSTransformValue.cpp:
2376         (WebCore):
2377         (WebCore::WebKitCSSTransformValue::customSerializeResolvingVariables):
2378         * css/WebKitCSSTransformValue.h:
2379         (WebKitCSSTransformValue):
2380         * css/makeprop.pl:
2381         * rendering/style/RenderStyle.h:
2382         * rendering/style/StyleVariableData.h: Added.
2383         (WebCore):
2384         (StyleVariableData):
2385         (WebCore::StyleVariableData::create):
2386         (WebCore::StyleVariableData::copy):
2387         (WebCore::StyleVariableData::operator==):
2388         (WebCore::StyleVariableData::operator!=):
2389         (WebCore::StyleVariableData::setVariable):
2390         (WebCore::StyleVariableData::StyleVariableData):
2391
2392 2012-06-12  MORITA Hajime  <morrita@google.com>
2393
2394         Shadow Pseudo ID should be able to nest to point nested shadow DOM.
2395         https://bugs.webkit.org/show_bug.cgi?id=62218
2396
2397         Reviewed by Dimitri Glazkov.
2398
2399         - updateSpecifiersWithElementName() didn't take nesting into account.
2400           tag history can contain selector entries which isn't marked as ShadowDescendant yet.
2401           such entry can be found by investigating isUnknownPseudoElement().
2402         - SelectorChecker::checkSelector() was too strict. Unknown pseudo elements are essentially a kind of class or id
2403           in implementation perspective. For such, rejecting by missing elementStyle doesn't make sense:
2404           It isn't a pseudo but a real element for WebCore after all.
2405         - Added Internals::setShadowPseudoId() to create a test harness whose DOM tree contains pseudo shadow ids.
2406
2407         Before this change, following selecdtor chain is created for "p::-shadow-child::-nested-shadow-child":
2408
2409           [both tag name and -shadow-id are set] <-(ShadowDescendant)- [-nested-shadow-id]
2410
2411         What we want, which is created by this change is:
2412
2413           [tag] <-(ShadowDescendant)- [-shadow-id is set] <-(ShadowdescenDant)- [-nested-shadow-id]
2414
2415         Test: fast/dom/shadow/shadow-nested-pseudo-id.html
2416
2417         * WebCore.exp.in:
2418         * css/CSSParser.cpp:
2419         (WebCore::CSSParser::updateSpecifiersWithElementName):
2420         * css/SelectorChecker.cpp:
2421         (WebCore::SelectorChecker::checkOneSelector):
2422         * testing/Internals.cpp:
2423         (WebCore::Internals::setShadowPseudoId):
2424         (WebCore):
2425         * testing/Internals.h:
2426         (Internals):
2427         * testing/Internals.idl:
2428
2429 2012-06-12  Christophe Dumez  <christophe.dumez@intel.com>
2430
2431         [soup] Prevent setting or editing httpOnly cookies from JavaScript
2432         https://bugs.webkit.org/show_bug.cgi?id=88760
2433
2434         Reviewed by Gustavo Noronha Silva.
2435
2436         Prevent setting or overwriting httpOnly cookies from JavaScript.
2437         Fix setCookies() so that it parses all the cookies and not just
2438         the first one.
2439
2440         Test: http/tests/cookies/js-get-and-set-http-only-cookie.html
2441
2442         * platform/network/soup/CookieJarSoup.cpp:
2443         (WebCore::httpOnlyCookieExists):
2444         (WebCore):
2445         (WebCore::setCookies):
2446
2447 2012-06-12  Christophe Dumez  <christophe.dumez@intel.com>
2448
2449         [EFL] Enable SHADOW_DOM flag
2450         https://bugs.webkit.org/show_bug.cgi?id=87732
2451
2452         Reviewed by Kentaro Hara.
2453
2454         Test: fast/dom/shadow/shadow-root-innerHTML.html
2455
2456         * dom/ShadowRoot.idl: Add JSGenerateToJSObject extended attribute so
2457         that the ShadowRoot properties are accessible on JS side.
2458         * testing/Internals.idl: Fix SHADOW_DOM ifdef check.
2459
2460 2012-06-12  Leo Yang  <leo.yang@torchmobile.com.cn>
2461
2462         Dynamic hash table in DOMObjectHashTableMap is wrong in multiple threads
2463         https://bugs.webkit.org/show_bug.cgi?id=87334
2464
2465         Reviewed by Geoffrey Garen.
2466
2467         Adapt to JSC::HashTable::copy to avoid copy dynamic table member of a HashTable.
2468         The dynamic table may be allocated on other thread and contains thread specific
2469         identifiers. For example, a hash table of JSEntryArray was first initialized on a
2470         worker thread, and then the user reloaded the page, another worker thread is
2471         created due to reload, the dynamic allocated table in *staticTable* is specific
2472         to the first worker thread which has died. If the user reload the page again,
2473         the dynamic table will be freed and memory corruption will occur.
2474
2475         No functionalities changed, no new tests.
2476
2477         * bindings/js/DOMObjectHashTableMap.h:
2478         (WebCore::DOMObjectHashTableMap::get):
2479
2480 2012-06-12  James Robinson  <jamesr@chromium.org>
2481
2482         [chromium] Port Canvas2DLayerBridge over to WebExternalTextureLayer
2483         https://bugs.webkit.org/show_bug.cgi?id=88597
2484
2485         Reviewed by Adrienne Walker.
2486
2487         This converts Canvas2DLayerBridge to using public WebLayer API types instead of LayerChromium types.
2488
2489         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2490         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
2491         (WebCore::AcceleratedDeviceContext::prepareForDraw):
2492         (AcceleratedDeviceContext):
2493         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
2494         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
2495         (WebCore::Canvas2DLayerBridge::skCanvas):
2496         (WebCore::Canvas2DLayerBridge::prepareTexture):
2497         (WebCore::Canvas2DLayerBridge::context):
2498         (WebCore::Canvas2DLayerBridge::layer):
2499         (WebCore::Canvas2DLayerBridge::contextAcquired):
2500         * platform/graphics/chromium/Canvas2DLayerBridge.h:
2501         (WebCore):
2502         (Canvas2DLayerBridge):
2503
2504 2012-06-12  Alexis Menard  <alexis.menard@openbossa.org>
2505
2506         Fix packing in StyleBoxData for Windows.
2507         https://bugs.webkit.org/show_bug.cgi?id=88858
2508
2509         Reviewed by Tony Chang.
2510
2511         MSVC doesn't pack bitfields if the types are mixed.
2512         We can safely change the bool type to an unsigned so
2513         the packing will happen. I have added a compile assert
2514         for future regressions.
2515
2516         No new tests : we should not see any regressions.
2517
2518         * rendering/style/StyleBoxData.h:
2519         * rendering/style/StyleBoxData.cpp:
2520         (StyleBoxData):
2521
2522 2012-06-12  Adrienne Walker  <enne@google.com>
2523
2524         [chromium] Paint scrollbars on WebKit thread and composite those textures
2525         https://bugs.webkit.org/show_bug.cgi?id=88145
2526
2527         Reviewed by James Robinson.
2528
2529         Scrollbars were previously painted and uploaded on the compositor
2530         thread. This isn't possible to do for many scrollbar themes. This
2531         patch changes ScrollbarLayerChromium to paint the scrollbar into two
2532         parts: the thumb, and everything else. These are uploaded into
2533         textures and synced over to the CCScrollbarImpl where they are
2534         composited and drawn.
2535
2536         Mac and overlay scrollbars are still not enabled to have compositor
2537         thread-updated scrollbars.
2538
2539         As a bonus, fix LayerRendererChromium::drawTextureQuad to draw quads
2540         that do not fill the entire layer bounds.
2541
2542         Tested by existing layout and unit tests by removing the condition
2543         that these scrollbar layers are only created when the threaded proxy
2544         exists.
2545
2546         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2547         (WebCore::scrollbarLayerDidChange):
2548         * platform/ScrollbarThemeComposite.cpp:
2549         (WebCore::ScrollbarThemeComposite::thumbRect):
2550         (WebCore):
2551         * platform/ScrollbarThemeComposite.h:
2552         (ScrollbarThemeComposite):
2553         * platform/graphics/chromium/LayerRendererChromium.cpp:
2554         (WebCore::LayerRendererChromium::drawTextureQuad):
2555         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2556         (WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
2557         (WebCore::ScrollbarLayerChromium::theme):
2558         (WebCore):
2559         (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
2560         (ScrollbarBackgroundPainter):
2561         (WebCore::ScrollbarBackgroundPainter::create):
2562         (WebCore::ScrollbarBackgroundPainter::paint):
2563         (WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
2564         (ScrollbarThumbPainter):
2565         (WebCore::ScrollbarThumbPainter::create):
2566         (WebCore::ScrollbarThumbPainter::paint):
2567         (WebCore::ScrollbarThumbPainter::ScrollbarThumbPainter):
2568         (WebCore::ScrollbarLayerChromium::setLayerTreeHost):
2569         (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
2570         (WebCore::ScrollbarLayerChromium::updatePart):
2571         (WebCore::ScrollbarLayerChromium::update):
2572         * platform/graphics/chromium/ScrollbarLayerChromium.h:
2573         (WebCore):
2574         (ScrollbarLayerChromium):
2575         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2576         (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
2577         (WebCore::CCScrollbarLayerImpl::appendQuads):
2578         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2579         (WebCore::CCScrollbarLayerImpl::setBackgroundTextureId):
2580         (WebCore::CCScrollbarLayerImpl::setThumbTextureId):
2581         (CCScrollbarLayerImpl):
2582
2583 2012-06-12  Tony Chang  <tony@chromium.org>
2584
2585         Replaced items in a flexbox should be coerced to display:block
2586         https://bugs.webkit.org/show_bug.cgi?id=87068
2587
2588         Reviewed by Ojan Vafai.
2589
2590         The flexbox spec lists HTML tags that should automatically be converted
2591         to display:block when a flex child. It also says that atomic inline-level
2592         children should become block (e.g., inline-table should be treated as table).
2593         http://dev.w3.org/csswg/css3-flexbox/#flex-items
2594
2595         Test: css3/flexbox/flexitem.html
2596
2597         * css/StyleResolver.cpp:
2598         (WebCore::StyleResolver::collectMatchingRulesForList):
2599
2600 2012-06-12  Joshua Bell  <jsbell@chromium.org>
2601
2602         IndexedDB: ObjectStore/Index shouldn't hold reference to backing store
2603         https://bugs.webkit.org/show_bug.cgi?id=83074
2604
2605         Reviewed by Tony Chang.
2606
2607         We should be able to collect and close the leveldb backing store as soon as the database
2608         connection is closed, but the IDBObjectStoreBackendImpl and IDBIndexBackendImpl were
2609         holding RefPtrs, and those objects are kept alive by script references.
2610
2611         Replaced RefPtrs to the IDBBackingStore with pointers to the IDBDatabase. On the back end,
2612         IDBDatabaseBackendImpl maintains a RefPtr to the IDBObjectStoreBackendImpl object, so
2613         a raw pointer back is safe. On the front end, the IDBObjectStore maintains a RefPtr to
2614         the IDBDatabase so script can navigate upwards. Ditto on both ends for the ObjectStore/Index
2615         relationship. The frontend objects maintain RefPtrs to the backend objects, so the backend
2616         objects and their owners are maintained as long as there's a script reference. To ensure
2617         that all LevelDB objects are destructed in the right order, transactions indirectly track all
2618         open cursors and ensure they are closed when the transaction finishes, and database closing
2619         is explicitly prevented from occurring until transactions are complete.
2620
2621         Also made IDBDatabaseBackendImpl handle a null IDBFactoryBackendImpl pointer, for testing.
2622
2623         Tests: storage/indexeddb/database-close.html
2624                storage/indexeddb/persistence.html
2625                [Chromium] webkit_unit_tests --gtest_filter=IDBDatabaseBackendTest.BackingStoreRetention
2626
2627         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
2628         (WebCore::IDBCursorBackendImpl::close): Release LevelDB resources when closed to allow backing store to close.
2629         * Modules/indexeddb/IDBCursorBackendImpl.h:
2630         (WebCore):
2631         * Modules/indexeddb/IDBDatabase.cpp: Ensure connection close deferred until all transactions are finished.
2632         (WebCore::IDBDatabase::transactionCreated): Accounting.
2633         (WebCore::IDBDatabase::transactionFinished): Accounting.
2634         (WebCore::IDBDatabase::close):
2635         (WebCore):
2636         (WebCore::IDBDatabase::closeConnection):
2637         * Modules/indexeddb/IDBDatabase.h:
2638         (IDBDatabase):
2639         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Track outstanding transactions for forced-close scenarios.
2640         (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
2641         (WebCore::IDBDatabaseBackendImpl::createObjectStore): Don't pass in backing store reference.
2642         (WebCore::IDBDatabaseBackendImpl::setVersion): Use transaction() for consistent accounting.
2643         (WebCore::IDBDatabaseBackendImpl::transactionFinished): Accounting.
2644         (WebCore::IDBDatabaseBackendImpl::transaction): Accounting.
2645         (WebCore::IDBDatabaseBackendImpl::close): Unregister from factory when last connection is closed.
2646         (WebCore::IDBDatabaseBackendImpl::loadObjectStores): Don't pass in backing store reference.
2647         (WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap):
2648         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2649         (WebCore):
2650         (IDBDatabaseBackendImpl):
2651         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
2652         (WebCore::IDBFactoryBackendImpl::deleteDatabase): Don't hang on to deleted databases eternally.
2653         * Modules/indexeddb/IDBFactoryBackendImpl.h: Backend map controls IDBDatabaseBackend lifetimes.
2654         (IDBFactoryBackendImpl):
2655         * Modules/indexeddb/IDBIndexBackendImpl.cpp: Don't hold backing store references.
2656         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
2657         * Modules/indexeddb/IDBIndexBackendImpl.h:
2658         (WebCore::IDBIndexBackendImpl::create):
2659         (IDBIndexBackendImpl):
2660         (WebCore::IDBIndexBackendImpl::backingStore):
2661         (WebCore::IDBIndexBackendImpl::databaseId):
2662         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Don't hold backing store references.
2663         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
2664         (WebCore::IDBObjectStoreBackendImpl::createIndex):
2665         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
2666         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
2667         (WebCore::IDBObjectStoreBackendImpl::create):
2668         (IDBObjectStoreBackendImpl):
2669         (WebCore::IDBObjectStoreBackendImpl::backingStore):
2670         (WebCore::IDBObjectStoreBackendImpl::databaseId):
2671         * Modules/indexeddb/IDBRequest.cpp:
2672         (WebCore::IDBRequest::onSuccess):
2673         * Modules/indexeddb/IDBTransaction.cpp:
2674         (WebCore::IDBTransaction::IDBTransaction): For IDBDatabase accounting, allow ref during ctor.
2675         (WebCore::IDBTransaction::onAbort): Accounting.
2676         (WebCore::IDBTransaction::onComplete): Accounting.
2677         * Modules/indexeddb/IDBTransaction.h:
2678         (WebCore::IDBTransaction::isVersionChange): Convenience function.
2679         (IDBTransaction):
2680         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2681         (WebCore::IDBTransactionBackendImpl::abort): Cleanup ordering to allow backing store to close.
2682         (WebCore::IDBTransactionBackendImpl::commit): Cleanup ordering to allow backing store to close.
2683
2684 2012-06-12  Adrienne Walker  <enne@google.com>
2685
2686         [chromium] Don't set visible layer rect in CCLayerTreeHost paint iteration
2687         https://bugs.webkit.org/show_bug.cgi?id=88895
2688
2689         Reviewed by James Robinson.
2690
2691         We should only set visible layer rects during the recursion in
2692         CClayerTreeHostCommon and not while we're painting. This is one last
2693         straggling piece of code that never got moved.
2694
2695         Tested by existing mask-related layout tests.
2696
2697         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2698         (WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
2699         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2700         (WebCore::calculateVisibleAndScissorRectsInternal):
2701
2702 2012-06-12  Dana Jansens  <danakj@chromium.org>
2703
2704         [chromium] Return empty visibleLayerRect for layers with empty content bounds
2705         https://bugs.webkit.org/show_bug.cgi?id=88901
2706
2707         Reviewed by Adrienne Walker.
2708
2709         This change should only affect tests. Currently if you set up a
2710         CCLayerImpl with some bounds, but don't set the contentBounds, then
2711         they are empty by default. In this case the visibleLayerRect gets
2712         set inappropriately to the layer's target surface contentRect which
2713         in a completely different coordinate space.
2714
2715         Fixed up tests that were passing bogusly and failed after this change.
2716
2717         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2718         (WebCore::calculateVisibleLayerRect):
2719
2720 2012-06-12  Adrienne Walker  <enne@google.com>
2721
2722         [chromium] ScrollingCoordinator::setScrollLayer should update scroll layer ids
2723         https://bugs.webkit.org/show_bug.cgi?id=88882
2724
2725         Reviewed by James Robinson.
2726
2727         Tested manually, as scrollbar layers are currently only created when
2728         threaded compositing is enabled and none of those layout tests trigger
2729         this bug.
2730
2731         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2732         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
2733         (ScrollingCoordinatorPrivate):
2734         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
2735         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
2736         (WebCore::createScrollbarLayer):
2737         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
2738         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
2739         * platform/graphics/chromium/ScrollbarLayerChromium.h:
2740         (WebCore::ScrollbarLayerChromium::setScrollLayerId):
2741         (ScrollbarLayerChromium):
2742         * platform/graphics/chromium/TreeSynchronizer.cpp:
2743         (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
2744
2745 2012-06-12  Mark Mentovai  <mark@chromium.org>
2746
2747         [chromium mac] Don't include things in subframeworks of
2748         ApplicationServices.framework.
2749
2750         Subframeworks move around from SDK to SDK and OS release to OS
2751         release, but just using the top-level umbrella framework guarantees
2752         forward compatibility. When building for Chromium Mac, just #include
2753         <ApplicationServices/ApplicationServices.h> instead of reaching in to
2754         subframeworks.
2755
2756         https://bugs.webkit.org/show_bug.cgi?id=88569
2757
2758         Reviewed by Stephen White.
2759
2760         No new tests.
2761
2762         * platform/graphics/GlyphBuffer.h:
2763         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2764         * platform/graphics/skia/GraphicsContextSkia.cpp:
2765
2766 2012-06-12  Igor Oliveira  <igor.o@sisa.samsung.com>
2767
2768         Apply animations and transitions for first-letter element
2769         https://bugs.webkit.org/show_bug.cgi?id=85253
2770
2771         Add animations and transitions support for the first-letter
2772         pseudo element.
2773         Instead of calling RenderOject::node() in the animations code,
2774         now we need to call RenderObject::styledGeneratingNode() because
2775         pseudo elements does not have a Node associated with the
2776         RenderObject.
2777
2778         Initial patch by Simon Fraser
2779
2780         Reviewed by Simon Fraser.
2781
2782         Tests: animations/first-letter-animation.html
2783                animations/first-letter-play-state.html
2784                transitions/first-letter-color-transition.html
2785                transitions/first-letter-transition.html
2786
2787         * page/animation/AnimationBase.cpp:
2788         (WebCore::AnimationBase::updateStateMachine):
2789         * page/animation/AnimationController.cpp:
2790         (WebCore::AnimationControllerPrivate::updateAnimations):
2791         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
2792         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
2793         (WebCore::AnimationController::cancelAnimations):
2794         (WebCore::AnimationController::updateAnimations):
2795         * page/animation/ImplicitAnimation.cpp:
2796         (WebCore::ImplicitAnimation::pauseAnimation):
2797         (WebCore::ImplicitAnimation::sendTransitionEvent):
2798         * page/animation/KeyframeAnimation.cpp:
2799         (WebCore::KeyframeAnimation::KeyframeAnimation):
2800         (WebCore::KeyframeAnimation::pauseAnimation):
2801         (WebCore::KeyframeAnimation::endAnimation):
2802         (WebCore::KeyframeAnimation::sendAnimationEvent):
2803         * rendering/RenderBlock.cpp:
2804         (WebCore::RenderBlock::updateFirstLetterStyle):
2805         (WebCore::RenderBlock::createFirstLetterRenderer):
2806         * rendering/RenderInline.cpp:
2807         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2808         * rendering/RenderObject.cpp:
2809         (WebCore::RenderObject::setAnimatableStyle):
2810         (WebCore::RenderObject::styledGeneratingNode):
2811         (WebCore):
2812         * rendering/RenderObject.h:
2813         (RenderObject):
2814
2815 2012-06-12  Kent Tamura  <tkent@chromium.org>
2816
2817         Checking a radio button doesn't uncheck other buttons in the same group in some cases.
2818         https://bugs.webkit.org/show_bug.cgi?id=88835
2819
2820         Reviewed by Ryosuke Niwa.
2821
2822         This change fixes a bug that checking a radio button in a radio button
2823         group in a form detached from a document tree doesn't uncheck another
2824         checked radio button in the radio button group.
2825
2826         A radio button participates in a radio button group in the following
2827         conditions:
2828         - If it is owned by a form element regardless of the form is in a
2829         document tree or not, or
2830
2831         - If it is not owned by any form elements and it is in a document tree.
2832         A radio button group for the radio button is owned by the document.
2833
2834         For HTMLInputElement::removedFrom():
2835         The old code always unregistered the radio button if it was removed from
2836         the document tree. It was incorrect because we don't need to unregister
2837         it if it has an owner form and the owner form is not changed by
2838         removedFrom().
2839         If the owner form is cleared by removedFrom(), willChangeForm()
2840         unregisters the radio button. So what we should do in removedFrom() is
2841         to unregister the radio button only if the radio button group is owned
2842         by the document.
2843
2844         For HTMLInputElement::insertedInto():
2845         The old code always registered the radio button if it is inserted into
2846         the document tree. It was incorrect because we don't need to register it
2847         if it has an owner form and the owner form is not changed by
2848         insertedInto().
2849         If the owner form is changed by insertedInto(), didChangeForm()
2850         registers the radio button. So We should register the radio button only
2851         if its radio button group will be owned by the document.
2852
2853         Test: Add test cases to fast/forms/radio/radio-group.html
2854
2855         * html/HTMLInputElement.cpp:
2856         (WebCore::HTMLInputElement::insertedInto):
2857         Register this to CheckedRadioButtons only if new group owner is Document.
2858         (WebCore::HTMLInputElement::removedFrom):
2859         Unregister this from CheckedRadioButtons only if old group owner was Document.
2860
2861 2012-06-12  James Robinson  <jamesr@chromium.org>
2862
2863         [chromium] REGRESSION(119769): Canvas2DLayerBridge may go away before its TextureLayerChromium
2864         https://bugs.webkit.org/show_bug.cgi?id=88910
2865
2866         Reviewed by Adrienne Walker.
2867
2868         Unregister the bridge as its TextureLayerChromium client when going away.
2869
2870         Covered by new unit test in Canvas2DLayerBridgeTest.cpp.
2871
2872         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2873         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
2874
2875 2012-06-12  Alec Flett  <alecflett@chromium.org>
2876
2877         IndexedDB: Error codes, phase two
2878         https://bugs.webkit.org/show_bug.cgi?id=88690
2879
2880         Reviewed by Tony Chang.
2881
2882         Update the next phase of IndexedDB error codes to match the spec.
2883         This update is mostly focused on DATA_ERR vs CONSTRAINT_ERR.
2884
2885         Also moves some of the error checking for the transaction mode
2886         into the frontend and replaces the backend checks with asserts, so that
2887         we can consolidate error checking in one place.
2888
2889         This also removes a few FIXME's that are no longer true (about 
2890         I/O errors - the spec was updated and our implementation was
2891         already correct)
2892
2893         No new tests, existing tests cover changed behavior.
2894
2895         * Modules/indexeddb/IDBCursor.cpp:
2896         (WebCore::IDBCursor::deleteFunction):
2897         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
2898         (WebCore::IDBCursorBackendImpl::deleteFunction):
2899         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2900         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
2901         * Modules/indexeddb/IDBObjectStore.cpp:
2902         (WebCore::IDBObjectStore::add):
2903         (WebCore::IDBObjectStore::put):
2904         (WebCore::IDBObjectStore::deleteFunction):
2905         (WebCore::IDBObjectStore::clear):
2906         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2907         (WebCore::IDBObjectStoreBackendImpl::put):
2908         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2909         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
2910         (WebCore::IDBObjectStoreBackendImpl::clear):
2911         * Modules/indexeddb/IDBTransaction.h:
2912         (WebCore::IDBTransaction::enumMode):
2913         * Modules/indexeddb/IDBTransactionBackendImpl.h:
2914
2915 2012-06-12  Min Qin  <qinmin@google.com>
2916
2917         Disable autoplay when user gesture is required for media playback
2918         https://bugs.webkit.org/show_bug.cgi?id=88897
2919
2920         Reviewed by Adam Barth.
2921
2922         When user gesture is required for media playback, we should block autoplay.
2923         Otherwise, people will use autoplay instead of video.play() to bypass the gesture requirement.
2924         Test: media/no-autoplay-with-user-gesture-requirement.html
2925
2926         * html/HTMLMediaElement.cpp:
2927         (WebCore::HTMLMediaElement::setReadyState):
2928
2929 2012-06-12  Shrey Banga  <banga@chromium.org>
2930
2931         HTML parser should yield more to improve perceived page load time
2932         https://bugs.webkit.org/show_bug.cgi?id=86165
2933
2934         Reviewed by Tony Gentilcore.
2935
2936         Test: fast/events/event-yield-timing.html
2937
2938         We want the parser to yield at least every 500ms to keep the page somewhat responsive and allow painting.
2939         Since it would be too expensive to check the time after each token, the previous heuristic was to check every 4,096 tokens.
2940         That works fine for most tokens, but a script may spend an arbitrary amount of time executing.
2941
2942         This patch fixes the issue by causing the parser to check the elapsed time immediately after executing a script.
2943
2944         * html/parser/HTMLParserScheduler.cpp:
2945         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript):
2946         * html/parser/HTMLParserScheduler.h:
2947         (WebCore::PumpSession::PumpSession):
2948         (PumpSession):
2949         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
2950
2951 2012-06-12  Sami Kyostila  <skyostil@chromium.org>
2952
2953         [chromium] Don't crash in CCLayerIterator if the root layer doesn't have a render surface
2954         https://bugs.webkit.org/show_bug.cgi?id=88886
2955
2956         Reviewed by James Robinson.
2957
2958         If we are iterating over a render render surface layer list where the
2959         root layer does not have a render surface, fail gracefully instead of
2960         crashing.
2961
2962         Tests: CCLayerIteratorTest.{emptyTree,rootLayerWithoutRenderSurface}
2963
2964         * platform/graphics/chromium/cc/CCLayerIterator.h:
2965         (WebCore::CCLayerIterator::CCLayerIterator):
2966
2967 2012-06-06  Ojan Vafai  <ojan@chromium.org>
2968
2969         Change default for flex-grow back to 0
2970         https://bugs.webkit.org/show_bug.cgi?id=88443
2971
2972         Reviewed by Tony Chang.
2973
2974         * rendering/style/RenderStyle.h:
2975
2976 2012-06-12  Brady Eidson  <beidson@apple.com>
2977
2978         <rdar://problem/11593686> and https://bugs.webkit.org/show_bug.cgi?id=88683
2979         Garbage collection of an <img> element can cause reentrant event dispatch.
2980
2981         Reviewed by Darin Adler.
2982
2983         The most straightforward solution is for ImageLoader to keep its Element alive
2984         with ref/deref any time the Image is actually loading.
2985
2986         ImageLoader should always do this for all Elements, and if those Elements want/need
2987         different behavior for when they are detached then they need to manually stop their
2988         loads.
2989
2990         Tests: http/tests/loading/embed-image-load-outlives-gc-without-crashing.html
2991                http/tests/loading/image-input-type-outlives-gc-without-crashing.html
2992                http/tests/loading/image-load-outlives-gc-without-crashing.html
2993                http/tests/loading/object-image-load-outlives-gc-without-crashing.html
2994                http/tests/loading/svg-image-load-outlives-gc-without-crashing.html
2995                http/tests/loading/video-poster-image-load-outlives-gc-without-crashing.html
2996
2997         * loader/ImageLoader.cpp:
2998         (WebCore::ImageLoader::ImageLoader):
2999         (WebCore::ImageLoader::~ImageLoader):
3000         (WebCore::ImageLoader::setImage):
3001         (WebCore::ImageLoader::updateFromElement):
3002         (WebCore::ImageLoader::notifyFinished):
3003         (WebCore::ImageLoader::updatedHasPendingLoadEvent):
3004         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
3005         (WebCore::ImageLoader::dispatchPendingLoadEvent):
3006         * loader/ImageLoader.h:
3007         (ImageLoader):
3008
3009 2012-06-12  Shawn Singh  <shawnsingh@chromium.org>
3010
3011         [chromium] Make damage tracking more robust to early exits
3012         https://bugs.webkit.org/show_bug.cgi?id=84803
3013
3014         Reviewed by James Robinson.
3015
3016         All CCDamageTrackerTest unit tests updated;
3017         One new unit test added:
3018            CCDamageTrackerTest.verifyDamageAccumulatesUntilReset
3019
3020         Damage tracking inherently needs to be aware of all changes that
3021         occur for every frame. Before this patch, anyone modifying details
3022         of CCLayerTreeHostImpl and the drawing phases of the compositor
3023         needed to be careful to avoid early exiting once draw is
3024         initiated, otherwise running the risk of damage tracking's state
3025         getting out-of-sync from actual changes. This patch makes the
3026         damage tracker API more asynchronous-like, so that damage will
3027         continue to accumulate until it is explicitly notified that
3028         damaged areas have been drawn. This will allow more freedom in
3029         designing and restructuing drawing code in the compositor, without
3030         worrying as much about damage tracking getting out-of-sync.
3031
3032         * platform/graphics/chromium/cc/CCDamageTracker.h:
3033         (WebCore::CCDamageTracker::didDrawDamagedArea):
3034         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3035         (WebCore::CCLayerTreeHostImpl::drawLayers):
3036         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3037         (CCLayerTreeHostImpl):
3038
3039 2012-06-12  Mike West  <mkwst@chromium.org>
3040
3041         Make document.documentURI readonly from JavaScript
3042         https://bugs.webkit.org/show_bug.cgi?id=65187
3043
3044         Reviewed by Alexey Proskuryakov.
3045
3046         The DOM4 working draft marks the documentURI attribute as read only
3047         (http://www.w3.org/TR/dom/#document). Firefox has shipped with this
3048         behavior since https://hg.mozilla.org/mozilla-central/rev/3bc751906409
3049         landed in October 2011, IE9 doesn't support the property, and
3050         Opera throws a NO_MODIFICATION_ALLOWED_ERR. This patch changes WebKit
3051         to silently fail (matching Firefox's behavior) by setting the property
3052         to readonly in the IDL.
3053
3054         Document::setDocumentURI and the m_documentURI property are retained
3055         for compatibility with ObjC clients, and the readonly attribute is
3056         ifdeffed out for ObjC.
3057
3058         This patch adds a single test to verify the behavior, and removes a
3059         variety of tests that depended on the writable behavior. In particular,
3060         potential security issues involving the document.baseURL property are
3061         avoided completely as long as this property can't be changed.
3062
3063         Test: fast/dom/documenturi-readonly.html
3064
3065         * dom/Document.cpp:
3066         (WebCore::Document::setDocumentURI):
3067             Adds a comment explaining that the fallback is necessary only to
3068             support ObjC, not for JS calls.
3069         * dom/Document.cpp:
3070         (WebCore::Document::updateBaseURL):
3071             Ditto.
3072         (Document):
3073         * dom/Document.idl:
3074             Add readonly to the attribute and drop null value when not in
3075             LANGUAGE_OBJECTIVE_C.
3076
3077 2012-06-12  Silvia Pfeiffer  <silviapf@chromium.org>
3078
3079         Support !ENABLE(VIDEO) builds with horizontally layed out video controls.
3080         https://bugs.webkit.org/show_bug.cgi?id=88881
3081
3082         Reviewed by Csaba Osztrogonác.
3083
3084         No new tests as this is a regression from WK87835.
3085
3086         * html/shadow/SliderThumbElement.cpp:
3087         (WebCore::hasVerticalAppearance):
3088         Ifdef out video related functionality, since usesVerticalVolumeSlider
3089         does not exist in that case.
3090
3091 2012-06-12  Pavel Feldman  <pfeldman@chromium.org>
3092
3093         Web Inspector: show revisions of all modified files in local modifications view
3094         https://bugs.webkit.org/show_bug.cgi?id=88864
3095
3096         Reviewed by Vsevolod Vlasov.
3097
3098         This change allows all local modifications to be seen in a single view. View is now
3099         singleton, listening to all revisions being added. Revert captions were reworked
3100         (see the screenshot).
3101
3102         * English.lproj/localizedStrings.js:
3103         * inspector/front-end/Resource.js:
3104         * inspector/front-end/RevisionHistoryView.js:
3105         (WebInspector.RevisionHistoryView.populateRevisions):
3106         (WebInspector.RevisionHistoryView):
3107         (WebInspector.RevisionHistoryView.showHistory):
3108         (WebInspector.RevisionHistoryView.reset):
3109         (WebInspector.RevisionHistoryView.prototype._createResourceItem.clearHistory):
3110         (WebInspector.RevisionHistoryView.prototype._createResourceItem):
3111         (WebInspector.RevisionHistoryView.prototype._revisionAdded.get if):
3112         (WebInspector.RevisionHistoryView.prototype._revisionAdded):
3113         (WebInspector.RevisionHistoryView.prototype._revealResource.get if):
3114         (WebInspector.RevisionHistoryView.prototype._revealResource):
3115         (WebInspector.RevisionHistoryView.prototype._reset):
3116         (WebInspector.RevisionHistoryTreeElement):
3117         (WebInspector.RevisionHistoryTreeElement.prototype.onattach):
3118         (WebInspector.RevisionHistoryTreeElement.prototype.oncollapse):
3119         * inspector/front-end/ScriptsPanel.js:
3120         (WebInspector.ScriptsPanel.prototype._reset):
3121         (WebInspector.ScriptsPanel.prototype._editorSelected):
3122         * inspector/front-end/revisionHistory.css:
3123         (.revision-history-link-row):
3124         (.revision-history-drawer li.revision-history-revision):
3125
3126 2012-06-12  Pavel Feldman  <pfeldman@chromium.org>
3127
3128         Web Inspector: allow clearing revision history.
3129         https://bugs.webkit.org/show_bug.cgi?id=88847
3130
3131         Reviewed by Vsevolod Vlasov.
3132
3133         This change also renames "Revision history" to "Local modifications".
3134         I intend to list modifications to all files in that view in the subsequent change.
3135
3136         * English.lproj/localizedStrings.js:
3137         * inspector/front-end/Resource.js:
3138         (WebInspector.Resource._clearResourceHistory):
3139         * inspector/front-end/RevisionHistoryView.js:
3140         (WebInspector.RevisionHistoryView.else.clearHistory):
3141         (WebInspector.RevisionHistoryView):
3142         (WebInspector.RevisionHistoryView.prototype._revisionAdded):
3143         (WebInspector.RevisionHistoryTreeElement):
3144         (WebInspector.RevisionHistoryTreeElement.prototype._createLine):
3145         (WebInspector.RevisionHistoryTreeElement.prototype.allowRevert):
3146         * inspector/front-end/ScriptsPanel.js:
3147         (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
3148
3149 2012-06-12  Pavel Feldman  <pfeldman@chromium.org>
3150
3151         Web Inspector: use jsdifflib for revision diff calculation.
3152         https://bugs.webkit.org/show_bug.cgi?id=88791
3153
3154         Reviewed by Vsevolod Vlasov.
3155
3156         Present diff calculation is incomplete, it does not properly handle the following case:
3157             [a, b, c, d, e, f, g, h] => [c, d, e, f, g, h, a, b]
3158         We should not be implementing diff by ourselves. I imported jsdifflib from
3159         https://github.com/cemerick/jsdifflib. It has BSD license that is compatible with WebKit.
3160
3161         * WebCore.gypi:
3162         * WebCore.vcproj/WebCore.vcproj:
3163         * inspector/front-end/RevisionHistoryView.js:
3164         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step2):
3165         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand):
3166         (WebInspector.RevisionHistoryTreeElement.prototype._createLine.appendLineNumber):
3167         (WebInspector.RevisionHistoryTreeElement.prototype._createLine):
3168         * inspector/front-end/WebKit.qrc:
3169         * inspector/front-end/externs.js:
3170         (difflib.stringAsLines):
3171         (difflib.SequenceMatcher):
3172         (difflib.SequenceMatcher.prototype.get_opcodes):
3173         * inspector/front-end/inspector.html:
3174         * inspector/front-end/jsdifflib.js: Added.
3175         (difflib.defaultJunkFunction):
3176         (difflib.stripLinebreaks):
3177         (difflib.stringAsLines):
3178         (difflib.__reduce):
3179         (difflib.__ntuplecomp):
3180         (difflib.__calculate_ratio):
3181         (difflib.__dictget):
3182         (difflib.SequenceMatcher.this.set_seqs):
3183         (difflib.SequenceMatcher.this.set_seq1):
3184         (difflib.SequenceMatcher.this.set_seq2):
3185         (difflib.SequenceMatcher.this.__chain_b):
3186         (difflib.SequenceMatcher.this.find_longest_match):
3187         (difflib.SequenceMatcher.this.get_matching_blocks):
3188         (difflib.SequenceMatcher.this.get_opcodes):
3189         (difflib.SequenceMatcher.this.get_grouped_opcodes):
3190         (difflib.SequenceMatcher.this.quick_ratio):
3191         (difflib.SequenceMatcher.this.real_quick_ratio):
3192         * inspector/front-end/revisionHistory.css:
3193         (.revision-history-line-separator .webkit-line-number):
3194
3195 2012-06-12  Pavel Feldman  <pfeldman@chromium.org>
3196
3197         Web Inspector: use jsdifflib for revision diff calculation.
3198         https://bugs.webkit.org/show_bug.cgi?id=88791
3199
3200         Reviewed by Vsevolod Vlasov.
3201
3202         Present diff calculation is incomplete, it does not properly handle the following case:
3203             [a, b, c, d, e, f, g, h] => [c, d, e, f, g, h, a, b]
3204         We should not be implementing diff by ourselves. I imported jsdifflib from
3205         https://github.com/cemerick/jsdifflib. It has BSD license that is compatible with WebKit.
3206
3207         * WebCore.gypi:
3208         * WebCore.vcproj/WebCore.vcproj:
3209         * inspector/front-end/RevisionHistoryView.js:
3210         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step2):
3211         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand):
3212         (WebInspector.RevisionHistoryTreeElement.prototype._createLine.appendLineNumber):
3213         (WebInspector.RevisionHistoryTreeElement.prototype._createLine):
3214         * inspector/front-end/WebKit.qrc:
3215         * inspector/front-end/externs.js:
3216         (difflib.stringAsLines):
3217         (difflib.SequenceMatcher):
3218         (difflib.SequenceMatcher.prototype.get_opcodes):
3219         * inspector/front-end/inspector.html:
3220         * inspector/front-end/jsdifflib.js: Added.
3221         (difflib.defaultJunkFunction):
3222         (difflib.stripLinebreaks):
3223         (difflib.stringAsLines):
3224         (difflib.__reduce):
3225         (difflib.__ntuplecomp):
3226         (difflib.__calculate_ratio):
3227         (difflib.__dictget):
3228         (difflib.SequenceMatcher.this.set_seqs):
3229         (difflib.SequenceMatcher.this.set_seq1):
3230         (difflib.SequenceMatcher.this.set_seq2):
3231         (difflib.SequenceMatcher.this.__chain_b):
3232         (difflib.SequenceMatcher.this.find_longest_match):
3233         (difflib.SequenceMatcher.this.get_matching_blocks):
3234         (difflib.SequenceMatcher.this.get_opcodes):
3235         (difflib.SequenceMatcher.this.get_grouped_opcodes):
3236         (difflib.SequenceMatcher.this.quick_ratio):
3237         (difflib.SequenceMatcher.this.real_quick_ratio):
3238         * inspector/front-end/revisionHistory.css:
3239         (.revision-history-line-separator .webkit-line-number):
3240
3241 2012-06-12  Christophe Dumez  <christophe.dumez@intel.com>
3242
3243         [GStreamer] http/tests/media/video-buffered-range-contains-currentTime.html is failing
3244         https://bugs.webkit.org/show_bug.cgi?id=87575
3245
3246         Reviewed by Philippe Normand.
3247
3248         When EOS is reached in forward playback, the position does not necessarily
3249         match the duration. This confuses HTMLMediaElement and causes the "ended"
3250         event not to be fired. To avoid this, we synchronize position and duration
3251         values in this case.
3252
3253         Test: http/tests/media/video-buffered-range-contains-currentTime.html
3254
3255         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3256
3257 2012-06-12  Kinuko Yasuda  <kinuko@chromium.org>
3258
3259         Refactor InputType::receiveDroppedFiles to take DragData
3260         https://bugs.webkit.org/show_bug.cgi?id=88860
3261
3262         Reviewed by Kent Tamura.
3263
3264         So that we can centralize the file paths related code into FileInputType
3265         and makes it easier to extract more data from DragData for
3266         <input type=file> (like bug 88293 for directory drag-and-drop).
3267
3268         No new tests as this has no behavioral changes.
3269
3270         * html/FileInputType.cpp:
3271         (WebCore::FileInputType::receiveDroppedFiles):
3272         * html/FileInputType.h:
3273         * html/HTMLInputElement.cpp:
3274         (WebCore::HTMLInputElement::receiveDroppedFiles):
3275         * html/HTMLInputElement.h:
3276         * html/InputType.cpp:
3277         (WebCore::InputType::receiveDroppedFiles):
3278         * html/InputType.h:
3279         * page/DragController.cpp:
3280         (WebCore::DragController::concludeEditDrag):
3281
3282 2012-06-12  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3283
3284         Generate -webkit-box-decoration-break property only when the feature is enabled
3285         https://bugs.webkit.org/show_bug.cgi?id=88861
3286
3287         Reviewed by Alexis Menard.
3288
3289         Otherwise it will hit an assertion if the property is present on the
3290         style but the feature disabled. Also fixes a compilation warning when
3291         the feature is disabled.
3292
3293         * css/CSSPropertyNames.in:
3294         * css/StyleResolver.cpp:
3295         (WebCore::StyleResolver::collectMatchingRulesForList):
3296
3297 2012-06-12  Darin Adler  <darin@apple.com>
3298
3299         Tweaked the Mac export file a bit more, adding more-correct iOS cases.
3300
3301         Reviewed by David Kilzer.
3302
3303         * WebCore.exp.in: Rearrangement.
3304
3305 2012-06-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3306
3307         Using extrernal ICU library on case unsensitive drives will not work
3308         https://bugs.webkit.org/show_bug.cgi?id=70913
3309
3310         Reviewed by Csaba Osztrogonác.
3311
3312         * platform/graphics/surfaces/GraphicsSurface.h:
3313
3314 2012-06-11  Dana Jansens  <danakj@chromium.org>
3315
3316         [chromium] Use TextureDrawQuad for video layer output when it produces a single GL texture
3317         https://bugs.webkit.org/show_bug.cgi?id=88814
3318
3319         Reviewed by Adrienne Walker.
3320
3321         When a CCVideLayerImpl produces quads for a frame that is contained
3322         in a single GL texture, then use the TextureDrawQuad instead of the
3323         VideoDrawQuad. Moves the computation for the RGBA(software) and
3324         NativeTexture (hardware) cases from LayerRendererChromium into
3325         CCVideoLayerImpl, so it can embed these values in the TextureDrawQuad.
3326
3327         No new tests, behaviour should be the same.
3328
3329         * platform/graphics/chromium/LayerRendererChromium.cpp:
3330         (WebCore::LayerRendererChromium::drawStreamTexture):
3331         (WebCore::LayerRendererChromium::drawVideoQuad):
3332         * platform/graphics/chromium/LayerRendererChromium.h:
3333         (LayerRendererChromium):
3334         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3335         (WebCore::CCVideoLayerImpl::appendQuads):
3336
3337 2012-06-12  Silvia Pfeiffer  <silviapf@chromium.org>
3338
3339         Change the volume slider to horizontal rendering for Chrome video controls.
3340         https://bugs.webkit.org/show_bug.cgi?id=87835
3341
3342         Reviewed by Eric Carlson.
3343
3344         No new tests - final patch in the Chrome controls update series will contain rebaselined tests.
3345
3346         The Chrome video controls are receiving a visual update. The volume slider is moved into
3347         the controls with horizontal rendering, the volume slider container is removed. The visual
3348         update itself is in a separate patch.
3349
3350         * css/mediaControlsChromium.css:
3351         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
3352         Removed relative positioning to render all controls elements equally in DOM order.
3353         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
3354         Removed absolute positioning to render all controls elements equally in DOM order.
3355         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
3356         Removed absolute positioning to render all controls elements equally in DOM order.
3357         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
3358         Removed volume slider container - it's not necessary any more.
3359         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
3360         Remove flexbox and introduce inline display to always display this field.
3361         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
3362         Removed absolute positioning to render all controls elements equally in DOM order.
3363         * html/shadow/MediaControlRootElementChromium.cpp:
3364         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
3365         Removed volume slider container - it's not necessary any more.
3366         (WebCore::MediaControlRootElementChromium::create):
3367         Appended the volume slider and the mute button directly to the panel, removed volume slider container.
3368         (WebCore::MediaControlRootElementChromium::setMediaController):
3369         Removed volume slider container.
3370         (WebCore::MediaControlRootElementChromium::reportedError):
3371         Removed volume slider container.
3372         (WebCore::MediaControlRootElementChromium::showVolumeSlider):
3373         Removed volume slider container.
3374         * html/shadow/MediaControlRootElementChromium.h:
3375         (WebCore):
3376         (MediaControlRootElementChromium):
3377         Removed volume slider container.
3378         * html/shadow/SliderThumbElement.cpp:
3379         (WebCore::hasVerticalAppearance):
3380         Allow use of horizontal media volume slider.
3381         (WebCore::RenderSliderThumb::layout):
3382         Reuse hasVerticalAppearance function.
3383         * rendering/RenderMediaControlsChromium.cpp:
3384         (WebCore::RenderMediaControlsChromium::paintMediaVolumeSlider):
3385         Change line drawing from vertical to horizontal.
3386         * rendering/RenderTheme.h:
3387         (WebCore::RenderTheme::usesVerticalVolumeSlider):
3388         Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
3389         * rendering/RenderThemeChromiumMac.h:
3390         (WebCore::RenderThemeChromiumMac::usesVerticalVolumeSlider):
3391         Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
3392         Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
3393         * rendering/RenderThemeChromiumSkia.h:
3394         (WebCore::RenderThemeChromiumSkia::usesVerticalVolumeSlider):
3395         Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
3396
3397 2012-06-12  Andrei Bucur  <abucur@adobe.com>
3398
3399         [CSSRegions]NamedFlow::overset should return true when there's no region chain attached
3400         https://bugs.webkit.org/show_bug.cgi?id=88515
3401
3402         The CSS Regions specifies that the "overset" attribute needs to return true if the content overflows, there's no region attached to the flow
3403         or if the NamedFlow is in the NULL state:
3404         http://www.w3.org/TR/css3-regions/#dom-named-flow-overset
3405
3406         This patch updates WebKit's behavior in the last two situations to match the one in the spec.
3407
3408         Reviewed by Andreas Kling.
3409
3410         Test: fast/regions/webkit-named-flow-overset.html was updated
3411
3412         * rendering/RenderFlowThread.cpp:
3413         (WebCore::RenderFlowThread::RenderFlowThread):
3414         (WebCore::RenderFlowThread::computeOverflowStateForRegions): If the last valid region is null, the flow has not region chain attached or it's in the NULL state.
3415
3416 2012-06-12  Rahul Tiwari  <rahultiwari.cse.iitr@gmail.com>
3417
3418         Web Inspector: Provide context menu for deleting recorded profile on Profiles Panel
3419         https://bugs.webkit.org/show_bug.cgi?id=88286
3420
3421         Added the context menu to delete the selected profile.
3422
3423         Reviewed by Pavel Feldman.
3424
3425         No new tests required as UI related change
3426
3427         * English.lproj/localizedStrings.js: Removed property svn:mime-type.
3428         * inspector/front-end/ProfilesPanel.js:
3429         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
3430
3431 2012-06-12  Pavel Feldman  <pfeldman@chromium.org>
3432
3433         Not reviewed: removed svn:mime-type property from English.lproj/localizedStrings.js
3434