Change the volume slider to horizontal rendering for Chrome video controls.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-06-12  Silvia Pfeiffer  <silviapf@chromium.org>
2
3         Change the volume slider to horizontal rendering for Chrome video controls.
4         https://bugs.webkit.org/show_bug.cgi?id=87835
5
6         Reviewed by Eric Carlson.
7
8         No new tests - final patch in the Chrome controls update series will contain rebaselined tests.
9
10         The Chrome video controls are receiving a visual update. The volume slider is moved into
11         the controls with horizontal rendering, the volume slider container is removed. The visual
12         update itself is in a separate patch.
13
14         * css/mediaControlsChromium.css:
15         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
16         Removed relative positioning to render all controls elements equally in DOM order.
17         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
18         Removed absolute positioning to render all controls elements equally in DOM order.
19         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
20         Removed absolute positioning to render all controls elements equally in DOM order.
21         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
22         Removed volume slider container - it's not necessary any more.
23         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
24         Remove flexbox and introduce inline display to always display this field.
25         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
26         Removed absolute positioning to render all controls elements equally in DOM order.
27         * html/shadow/MediaControlRootElementChromium.cpp:
28         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
29         Removed volume slider container - it's not necessary any more.
30         (WebCore::MediaControlRootElementChromium::create):
31         Appended the volume slider and the mute button directly to the panel, removed volume slider container.
32         (WebCore::MediaControlRootElementChromium::setMediaController):
33         Removed volume slider container.
34         (WebCore::MediaControlRootElementChromium::reportedError):
35         Removed volume slider container.
36         (WebCore::MediaControlRootElementChromium::showVolumeSlider):
37         Removed volume slider container.
38         * html/shadow/MediaControlRootElementChromium.h:
39         (WebCore):
40         (MediaControlRootElementChromium):
41         Removed volume slider container.
42         * html/shadow/SliderThumbElement.cpp:
43         (WebCore::hasVerticalAppearance):
44         Allow use of horizontal media volume slider.
45         (WebCore::RenderSliderThumb::layout):
46         Reuse hasVerticalAppearance function.
47         * rendering/RenderMediaControlsChromium.cpp:
48         (WebCore::RenderMediaControlsChromium::paintMediaVolumeSlider):
49         Change line drawing from vertical to horizontal.
50         * rendering/RenderTheme.h:
51         (WebCore::RenderTheme::usesVerticalVolumeSlider):
52         Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
53         * rendering/RenderThemeChromiumMac.h:
54         (WebCore::RenderThemeChromiumMac::usesVerticalVolumeSlider):
55         Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
56         Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
57         * rendering/RenderThemeChromiumSkia.h:
58         (WebCore::RenderThemeChromiumSkia::usesVerticalVolumeSlider):
59         Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
60
61 2012-06-12  Andrei Bucur  <abucur@adobe.com>
62
63         [CSSRegions]NamedFlow::overset should return true when there's no region chain attached
64         https://bugs.webkit.org/show_bug.cgi?id=88515
65
66         The CSS Regions specifies that the "overset" attribute needs to return true if the content overflows, there's no region attached to the flow
67         or if the NamedFlow is in the NULL state:
68         http://www.w3.org/TR/css3-regions/#dom-named-flow-overset
69
70         This patch updates WebKit's behavior in the last two situations to match the one in the spec.
71
72         Reviewed by Andreas Kling.
73
74         Test: fast/regions/webkit-named-flow-overset.html was updated
75
76         * rendering/RenderFlowThread.cpp:
77         (WebCore::RenderFlowThread::RenderFlowThread):
78         (WebCore::RenderFlowThread::computeOverflowStateForRegions): If the last valid region is null, the flow has not region chain attached or it's in the NULL state.
79
80 2012-06-12  Rahul Tiwari  <rahultiwari.cse.iitr@gmail.com>
81
82         Web Inspector: Provide context menu for deleting recorded profile on Profiles Panel
83         https://bugs.webkit.org/show_bug.cgi?id=88286
84
85         Added the context menu to delete the selected profile.
86
87         Reviewed by Pavel Feldman.
88
89         No new tests required as UI related change
90
91         * English.lproj/localizedStrings.js: Removed property svn:mime-type.
92         * inspector/front-end/ProfilesPanel.js:
93         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
94
95 2012-06-12  Pavel Feldman  <pfeldman@chromium.org>
96
97         Not reviewed: removed svn:mime-type property from English.lproj/localizedStrings.js
98
99         * English.lproj/localizedStrings.js
100
101 2012-06-12  Dan Bernstein  <mitz@apple.com>
102
103         Tried to fix the notification-enabled build after r120044.
104
105         * notifications/NotificationController.cpp:
106         (WebCore::NotificationController::NotificationController):
107         (WebCore::NotificationController::create):
108         (WebCore::provideNotification):
109         * notifications/NotificationController.h:
110         (NotificationController):
111
112 2012-06-12  Huang Dongsung  <luxtella@company100.net>
113
114         [Qt][Texmap] Falling leaves demo missing clipping.
115         https://bugs.webkit.org/show_bug.cgi?id=88704
116
117         The bug originated from begining native painting mode of QPainter after enabling
118         scissor test, because begining native painting mode disables scissor test.
119
120         Covered by existing compositing tests.
121
122         Reviewed by Noam Rosenthal.
123
124         * platform/graphics/texmap/TextureMapperGL.cpp:
125         (WebCore::TextureMapperGL::beginPainting):
126
127 2012-06-12  Csaba Osztrogonác  <ossy@webkit.org>
128
129         [Qt][Win] Buildfix related to fromWinHBITMAP
130         https://bugs.webkit.org/show_bug.cgi?id=88863
131
132         Reviewed by Jocelyn Turcotte.
133
134         * platform/graphics/qt/GraphicsContextQt.cpp: Add qt_pixmapFromWinHBITMAP and HBitmapFormat enum.
135         (WebCore):
136         (WebCore::GraphicsContext::releaseWindowsContext):
137         * platform/graphics/qt/ImageQt.cpp:
138         (WebCore): Move qt_pixmapFromWinHBITMAP to outside of WebCore namespace. (Fix after r119924.)
139
140 2012-06-12  Takashi Sakamoto  <tasak@google.com>
141
142         [Shadow DOM] <style> inside Shadow subtree should be scoped inside the subtree.
143         https://bugs.webkit.org/show_bug.cgi?id=87805
144
145         Modified HTMLStyleElement to be treated as a scoped style independent
146         of its "scoped" attribute's value if HTMLStyleElement is in shadow
147         subtree. HTMLStyleElement has the following four cases talking about
148         "scoped" attribute and whether is in shadow subtree or not:
149         1, HTMLStyleElement is "scoped" and is in document tree,
150         2, HTMLStyleElement is "scoped" and is in shadow subtree,
151         3, HTMLStyleElement is not "scoped" and is in document tree, and
152         4, HTMLStyleElement is not "scoped" and is in shadow subtree.
153         The case 1 and 2 are not changed. This patch affected the case 4.
154         At the case 4, the HTMLStyleElement's scoping node is the shadow root.
155         This change is the first step for fixing style scope bug,
156         i.e. HTMLStyleElements in shadow subtree are applied to any element
157         in document tree.
158
159         Reviewed by Dimitri Glazkov.
160
161         Test: fast/css/style-scoped/style-scoped-change-scoped-in-shadow.html
162
163         * css/StyleResolver.cpp:
164         (WebCore::StyleResolver::determineScope):
165         Modified to return a shadow root if a targeted stylesheet owner node is
166         not scoped but in some shadow DOM subtree.
167         * html/HTMLStyleElement.cpp:
168         (WebCore::HTMLStyleElement::HTMLStyleElement):
169         (WebCore::HTMLStyleElement::parseAttribute):
170         Modified to use the below scopedAttributeChanged when a changed
171         attribute's name is "scoped".
172         (WebCore::HTMLStyleElement::scopedAttributeChanged):
173         Newly added. According to new scoped value and isInShadowTree,
174         add or remove style rules to/from scopedAuthorRules via
175         registerWithScopingNode or unregisterWithScopingNode.
176         (WebCore::HTMLStyleElement::registerWithScopingNode):
177         Added one boolean argument to determine whether HTMLStyleElement is
178         scoped or not. The reason why not using scoped() is the comment:
179         "We cannot rely on the scoped element already being present when this
180         method is invoked. Therefore we cannot rely on scoped()"
181         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
182         Changed the code for updating m_isRegisteredWithScopingNode. Now
183         set m_scopedStyleRegistrationState to be NotRegistered.
184         (WebCore::HTMLStyleElement::insertedInto):
185         Modified to invoke registerWithScopingNode when an element is not
186         scoped but in some shadow subtree.
187         (WebCore::HTMLStyleElement::removedFrom):
188         Modified to invoke unregisterWithScopingNode when an element is not
189         scoped but in some shadow subtree.
190         * html/HTMLStyleElement.h:
191         (HTMLStyleElement):
192         Modified the type of m_isRegisteredWithScopingNode from bool to
193         enum and renamed to m_scopedStyleRegistrationState. Now the member
194         variable keeps what HTMLStyleElement's scoping node is, i.e.
195         none (this means, not in shadow subtree and not scoped), shadow root or
196         parent node.
197         Added one new method scopedAttributeChanged's declaration and
198         modified the declaration of registerWithScopingNode.
199
200 2012-06-12  Amy Ousterhout  <aousterh@chromium.org>
201
202         Removing unused parameter Page
203         https://bugs.webkit.org/show_bug.cgi?id=88848
204
205         Reviewed by Kentaro Hara.
206
207         Removed the unused parameter Page* supplied to the create function
208         and constructor in DeviceOrientationController.
209
210         The parameter Page* was previously stored in an instance variable
211         m_page, but this was removed (see https://bugs.webkit.org/show_bug.cgi?id=88812).
212
213         No new tests because the removed parameter was unused and untested.
214
215         * dom/DeviceOrientationController.cpp:
216         (WebCore::DeviceOrientationController::DeviceOrientationController):
217         (WebCore::DeviceOrientationController::create):
218         (WebCore::provideDeviceOrientationTo):
219         * dom/DeviceOrientationController.h:
220         (DeviceOrientationController):
221
222 2012-06-12  Sheriff Bot  <webkit.review.bot@gmail.com>
223
224         Unreviewed, rolling out r120051.
225         http://trac.webkit.org/changeset/120051
226         https://bugs.webkit.org/show_bug.cgi?id=88852
227
228         some tests are crashing (Requested by morrita on #webkit).
229
230         * CMakeLists.txt:
231         * GNUmakefile.list.am:
232         * Target.pri:
233         * WebCore.gypi:
234         * WebCore.vcproj/WebCore.vcproj:
235         * WebCore.xcodeproj/project.pbxproj:
236         * bindings/generic/ContextEnabledFeatures.cpp: Renamed from Source/WebKit/chromium/src/ContextFeaturesClientImpl.cpp.
237         (WebCore):
238         (WebCore::ContextEnabledFeatures::shadowDOMEnabled):
239         (WebCore::ContextEnabledFeatures::styleScopedEnabled):
240         (WebCore::ContextEnabledFeatures::pagePopupEnabled):
241         * bindings/generic/ContextEnabledFeatures.h: Renamed from Source/WebKit/chromium/src/ContextFeaturesClientImpl.h.
242         (WebCore):
243         (ContextEnabledFeatures):
244         * bindings/scripts/CodeGeneratorV8.pm:
245         (GenerateImplementation):
246         * css/StyleResolver.cpp:
247         (WebCore::StyleResolver::determineScope):
248         * dom/ContextFeatures.cpp: Removed.
249         * dom/ContextFeatures.h: Removed.
250         * dom/DOMAllInOne.cpp:
251         * dom/DOMImplementation.cpp:
252         (WebCore::DOMImplementation::createDocument):
253         (WebCore::DOMImplementation::createHTMLDocument):
254         * dom/Document.cpp:
255         (WebCore::Document::Document):
256         * dom/Document.h:
257         (WebCore):
258         (Document):
259         * dom/Position.cpp:
260         (WebCore::Position::Position):
261         (WebCore::Position::findParent):
262         * dom/TreeScope.cpp:
263         (WebCore::TreeScope::getSelection):
264         * dom/make_names.pl:
265         (printConstructorInterior):
266         (printFactoryCppFile):
267         (printWrapperFunctions):
268         (printWrapperFactoryCppFile):
269         * editing/markup.cpp:
270         (WebCore::createFragmentFromMarkupWithContext):
271         * html/HTMLStyleElement.cpp:
272         (WebCore::HTMLStyleElement::registerWithScopingNode):
273         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
274         * html/shadow/HTMLContentElement.cpp:
275         (WebCore::contentTagName):
276         * inspector/DOMPatchSupport.cpp:
277         (WebCore::DOMPatchSupport::patchDocument):
278         * loader/FrameLoaderClient.h:
279         (WebCore::FrameLoaderClient::allowShadowDOM):
280         (WebCore::FrameLoaderClient::allowStyleScoped):
281         (FrameLoaderClient):
282         (WebCore::FrameLoaderClient::allowPagePopup):
283         * platform/RefCountedSupplement.h: Removed.
284         * platform/Supplementable.h:
285         * xml/XMLHttpRequest.cpp:
286         (WebCore::XMLHttpRequest::responseXML):
287
288 2012-06-11  Kaustubh Atrawalkar  <kaustubh@motorola.com>
289
290         [DRT] LTC:: counterValueForElementById() could be moved to Internals.
291         https://bugs.webkit.org/show_bug.cgi?id=84406
292
293         Reviewed by Hajime Morita.
294
295         Move the counterValueForElementById from LayoutTestCotroller to Internals and
296         remove the old platform specific implementations as it exclusively tests WebCore functionality.
297
298         Covered by existing test cases.
299
300         * testing/Internals.cpp:
301         (WebCore::Internals::counterValue):
302         (WebCore):
303         * testing/Internals.h:
304         (Internals):
305         * testing/Internals.idl:
306
307 2012-06-11  Hans Wennborg  <hans@chromium.org>
308
309         Speech JavaScript API: Make SpeechRecognitionError an Event
310         https://bugs.webkit.org/show_bug.cgi?id=88784
311
312         Reviewed by Adam Barth.
313
314         Make SpeechRecognitionError an Event. The spec was updated to make it
315         an event in its own right, rather than an attribute of
316         SpeechRecognitionEvent.
317
318         Test: fast/speech/scripted/speechrecognition-errors.html
319
320         * Modules/speech/SpeechRecognition.cpp:
321         (WebCore::SpeechRecognition::didReceiveError):
322         * Modules/speech/SpeechRecognitionError.cpp:
323         (WebCore::SpeechRecognitionError::SpeechRecognitionError):
324         (WebCore::SpeechRecognitionError::interfaceName):
325         (WebCore):
326         * Modules/speech/SpeechRecognitionError.h:
327         (WebCore::SpeechRecognitionError::create):
328         (SpeechRecognitionError):
329         * Modules/speech/SpeechRecognitionError.idl:
330         * Modules/speech/SpeechRecognitionEvent.cpp:
331         (WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent):
332         * Modules/speech/SpeechRecognitionEvent.h:
333         (SpeechRecognitionEventInit):
334         (SpeechRecognitionEvent):
335         * Modules/speech/SpeechRecognitionEvent.idl:
336         * dom/EventNames.in:
337
338 2012-06-12  MORITA Hajime  <morrita@google.com>
339
340         REGRESSION(r118098): <content> element does not render distributed children when cloned from another document
341         https://bugs.webkit.org/show_bug.cgi?id=88148
342
343         Reviewed by Dimitri Glazkov.
344
345         The shadow DOM availability was decided through FrameLoaderClient.
346         But there are documents which don't have any associated frames, in
347         which any shadow DOM related elements cannot be constructed.  That
348         resulsted the regression.
349
350         This change introduces a Page-based client called
351         ContextFeaturesClient which takes the role from FrameLoaderClient
352         to decide the feature availability, and ContextFeatures which is a
353         proxy of ContextFeaturesClient.  ContextEnabledFeatures is is
354         replaced with ContextFeatures.
355
356         Each ContextFeatures object is owned by a Page, and is attached to
357         each Document in the page even if the page itself has no referenct
358         to Frames or Pages. With ContextFeatures, each Document can decide
359         the feature availability even if it cannot reach Page or Frame.
360
361         On RefCountedSupplement: Document instance can live longer than a
362         Page where it is shwon. This means that ContextFeatures instance
363         needs to survive after owner Page destruction because it's
364         referenced from possibly surviving Documents. RefCountedSupplement
365         is introduced to cover this scenario: It allows supplement classes
366         to live after Page's destruction.
367
368         RefCountedSupplement::hostDestroyed() is notified when the hosting
369         page is gone. ContextFeatures clears its reference to the client
370         using this notification.
371
372         Test: fast/dom/shadow/elements-in-frameless-document.html
373
374         * CMakeLists.txt:
375         * GNUmakefile.list.am:
376         * Target.pri:
377         * WebCore.gypi:
378         * WebCore.vcproj/WebCore.vcproj:
379         * WebCore.xcodeproj/project.pbxproj:
380         * bindings/scripts/CodeGeneratorV8.pm:
381         (GenerateImplementation):
382         * css/StyleResolver.cpp:
383         (WebCore::StyleResolver::determineScope):
384         * dom/ContextFeatures.cpp: Added.
385         (WebCore):
386         (WebCore::ContextFeaturesClient::empty):
387         (WebCore::ContextFeatures::supplementName):
388         (WebCore::ContextFeatures::defaultSwitch):
389         (WebCore::ContextFeatures::shadowDOMEnabled):
390         (WebCore::ContextFeatures::styleScopedEnabled):
391         (WebCore::ContextFeatures::pagePopupEnabled):
392         (WebCore::provideContextFeaturesTo):
393         (WebCore::provideContextFeaturesToDocumentFrom):
394         * dom/ContextFeatures.h: Added.
395         (WebCore):
396         (ContextFeatures):
397         (WebCore::ContextFeatures::ContextFeatures):
398         (WebCore::ContextFeatures::hostDestroyed):
399         (ContextFeaturesClient):
400         (WebCore::ContextFeaturesClient::~ContextFeaturesClient):
401         (WebCore::ContextFeaturesClient::isEnabled):
402         (WebCore::ContextFeatures::create):
403         (WebCore::ContextFeatures::isEnabled):
404         * dom/DOMAllInOne.cpp:
405         * dom/DOMImplementation.cpp:
406         (WebCore::DOMImplementation::createDocument):
407         (WebCore::DOMImplementation::createHTMLDocument):
408         * dom/Document.h:
409         (WebCore::Document::contextFeatures):
410         * dom/Document.cpp:
411         (WebCore::Document::Document):
412         (WebCore::Document::setContextFeatures):
413         * dom/Position.cpp:
414         (WebCore::Position::Position):
415         (WebCore::Position::findParent):
416         * dom/TreeScope.cpp:
417         (WebCore::TreeScope::getSelection):
418         * dom/make_names.pl:
419         (printConstructorInterior):
420         (printFactoryCppFile):
421         (printWrapperFunctions):
422         (printWrapperFactoryCppFile):
423         * editing/markup.cpp:
424         (WebCore::createFragmentFromMarkupWithContext):
425         * html/HTMLStyleElement.cpp:
426         (WebCore::HTMLStyleElement::registerWithScopingNode):
427         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
428         * html/shadow/HTMLContentElement.cpp:
429         (WebCore::contentTagName):
430         * inspector/DOMPatchSupport.cpp:
431         (WebCore::DOMPatchSupport::patchDocument):
432         * loader/FrameLoaderClient.h:
433         * platform/RefCountedSupplement.h: Copied from Source/WebCore/platform/Supplementable.h.
434         (WebCore):
435         (RefCountedSupplement):
436         (WebCore::RefCountedSupplement::hostDestroyed):
437         (Wrapper):
438         (WebCore::RefCountedSupplement::Wrapper::Wrapper):
439         (WebCore::RefCountedSupplement::Wrapper::~Wrapper):
440         (WebCore::RefCountedSupplement::Wrapper::wrapped):
441         (WebCore::RefCountedSupplement::provideTo):
442         (WebCore::RefCountedSupplement::from):
443         * platform/Supplementable.h:
444         (WebCore::Supplement::isRefCountedWrapper):
445         * xml/XMLHttpRequest.cpp:
446         (WebCore::XMLHttpRequest::responseXML):
447
448 2012-06-12  Kent Tamura  <tkent@chromium.org>
449
450         Remove unnecessary functions: setName() and formControlName()
451         https://bugs.webkit.org/show_bug.cgi?id=88392
452
453         Reviewed by Kentaro Hara.
454
455         'name' IDL attributes of form-related elements should be [Reflected],
456         and we don't need to have setName(). We used formControlName() for
457         name() implementation, and formControlName() is not needed because it
458         just converts a null attribute to an empty string. Our binding code does it.
459
460         We don't remove FormAssociatedElement::name() because many C++ code use it.
461
462         FormAssociatedElement::name() is virtual, and HTMLInputElement overrides
463         it so that it returns a cache of the name attribtue value because
464         CheckedRadioButtons class needs to know an old name attribute value when
465         the name attribtue is changed.
466
467         References:
468         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-object-name
469         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-form-name
470         http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#dom-fe-name
471
472         Test: fast/forms/name-attribute.html
473
474         * dom/Element.h: Remove formControlName().
475         * html/FormAssociatedElement.cpp:
476         (WebCore::FormAssociatedElement::name):
477         Copied from formControlName() implementation of HTMLFormControlElement.
478         * html/FormAssociatedElement.h:
479         (FormAssociatedElement): Make name() virtual, remove formControlName().
480         * html/FormController.cpp:
481         (WebCore::FormController::formElementsState):
482         Use name() instead of formControlName().
483         * html/HTMLFormControlElement.cpp:
484         Remove formControlName() and setName().
485         * html/HTMLFormControlElement.h: ditto.
486         * html/HTMLInputElement.cpp:
487         (WebCore::HTMLInputElement::name): Renamed from formControlName().
488         * html/HTMLInputElement.h:
489         (HTMLInputElement): Renamed formControlName() to name(), and make it public.
490         * html/HTMLKeygenElement.idl: Make 'name' [Reflected].
491         * html/HTMLObjectElement.cpp: Remove formControlName().
492         * html/HTMLObjectElement.h: ditto.
493         * html/HTMLSelectElement.cpp:
494         (WebCore::HTMLSelectElement::appendFormData):
495         Use name() instead of formControlName().
496         * html/HTMLSelectElement.idl: Make 'name' [Reflected].
497         * html/HTMLTextAreaElement.idl: Make 'name' [Reflected].
498
499 2012-06-11  Nico Weber  <thakis@chromium.org>
500
501         Remove unused member variables found by clang's -Wunused-private-field
502         https://bugs.webkit.org/show_bug.cgi?id=88812
503
504         Reviewed by Anders Carlsson.
505
506         Change a few |class|s that were used only to pin down the size of
507         existing classes to |struct|, so that clang doesn't warn about these
508         memvars.
509
510         No intended behavior change.
511
512         * Modules/geolocation/GeolocationController.cpp:
513         (WebCore::GeolocationController::GeolocationController):
514         * Modules/geolocation/GeolocationController.h:
515         (GeolocationController):
516         * Modules/webaudio/AudioContext.h:
517         (AudioContext):
518         * Modules/webaudio/AudioParamTimeline.h:
519         (AudioParamTimeline):
520         * accessibility/AccessibilityScrollbar.h:
521         (AccessibilityScrollbar):
522         * bindings/v8/ScriptScope.cpp:
523         (WebCore::ScriptScope::ScriptScope):
524         * bindings/v8/ScriptScope.h:
525         (ScriptScope):
526         * css/CSSValue.cpp:
527         * css/StylePropertySet.cpp:
528         * dom/DeviceOrientationController.cpp:
529         (WebCore::DeviceOrientationController::DeviceOrientationController):
530         * dom/DeviceOrientationController.h:
531         (DeviceOrientationController):
532         * editing/ReplaceSelectionCommand.cpp:
533         (ReplacementFragment):
534         (WebCore::ReplacementFragment::ReplacementFragment):
535         * editing/TextIterator.cpp:
536         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
537         * editing/TextIterator.h:
538         (SimplifiedBackwardsTextIterator):
539         (BackwardsCharacterIterator):
540         * html/HTMLFormCollection.cpp:
541         (WebCore::HTMLFormCollection::HTMLFormCollection):
542         * html/HTMLFormCollection.h:
543         (HTMLFormCollection):
544         * html/shadow/MediaControlElements.cpp:
545         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
546         * html/shadow/MediaControlElements.h:
547         (MediaControlFullscreenButtonElement):
548         * html/shadow/MediaControlRootElementChromium.cpp:
549         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
550         * html/shadow/MediaControlRootElementChromium.h:
551         (MediaControlRootElementChromium):
552         * html/track/LoadableTextTrack.cpp:
553         (WebCore::LoadableTextTrack::LoadableTextTrack):
554         * html/track/LoadableTextTrack.h:
555         (LoadableTextTrack):
556         * inspector/CodeGeneratorInspector.py:
557         (Generator.go):
558         * inspector/InspectorCSSAgent.cpp:
559         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
560         * inspector/InspectorCSSAgent.h:
561         (InspectorCSSAgent):
562         * inspector/InspectorDOMDebuggerAgent.cpp:
563         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
564         * inspector/InspectorDOMDebuggerAgent.h:
565         (InspectorDOMDebuggerAgent):
566         * inspector/InspectorMemoryAgent.cpp:
567         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
568         * inspector/InspectorMemoryAgent.h:
569         (InspectorMemoryAgent):
570         * notifications/NotificationController.cpp:
571         (WebCore::NotificationController::NotificationController):
572         * notifications/NotificationController.h:
573         (NotificationController):
574         * page/animation/CompositeAnimation.h:
575         (WebCore::CompositeAnimation::CompositeAnimation):
576         (CompositeAnimation):
577         * platform/Length.cpp:
578         * platform/audio/ReverbConvolver.cpp:
579         (WebCore::ReverbConvolver::ReverbConvolver):
580         * platform/audio/ReverbConvolver.h:
581         (ReverbConvolver):
582         * platform/audio/ReverbConvolverStage.cpp:
583         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
584         * platform/audio/ReverbConvolverStage.h:
585         (ReverbConvolverStage):
586         * platform/graphics/TextRun.cpp:
587         (ExpectedTextRunSize):
588         * platform/graphics/chromium/cc/CCThreadProxy.h:
589         (CCThreadProxy):
590         * platform/graphics/filters/FECustomFilter.cpp:
591         (WebCore::FECustomFilter::FECustomFilter):
592         * platform/graphics/filters/FECustomFilter.h:
593         (FECustomFilter):
594         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
595         (JPEGImageReader):
596         * platform/leveldb/LevelDBTransaction.cpp:
597         (WebCore::LevelDBTransaction::TreeIterator::next):
598         * platform/text/TextCodecICU.cpp:
599         (WebCore::TextCodecICU::TextCodecICU):
600         * platform/text/TextCodecICU.h:
601         (TextCodecICU):
602         * rendering/InlineBox.cpp:
603         * rendering/InlineFlowBox.cpp:
604         * rendering/RenderText.cpp:
605         * rendering/style/KeyframeList.h:
606         (WebCore::KeyframeList::KeyframeList):
607         (KeyframeList):
608         * rendering/svg/RenderSVGTextPath.cpp:
609         (WebCore::RenderSVGTextPath::RenderSVGTextPath):
610         * rendering/svg/RenderSVGTextPath.h:
611         * rendering/svg/SVGInlineTextBox.cpp:
612         * svg/SVGPathByteStreamSource.cpp:
613         * svg/SVGPathByteStreamSource.h:
614         * svg/SVGPathTraversalStateBuilder.cpp:
615         (WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder):
616         * svg/SVGPathTraversalStateBuilder.h:
617         (SVGPathTraversalStateBuilder):
618         * xml/XSLStyleSheet.h:
619
620 2012-06-11  Kinuko Yasuda  <kinuko@chromium.org>
621
622         XHR returns size==0 Blob
623         https://bugs.webkit.org/show_bug.cgi?id=88750
624
625         Reviewed by Alexey Proskuryakov.
626
627         Response Blob's .size field must have the correct response size.
628
629         Test: http/tests/xmlhttprequest/response-blob-size.html
630
631         * xml/XMLHttpRequest.cpp:
632         (WebCore::XMLHttpRequest::responseBlob):
633
634 2012-06-11  Silvia Pfeiffer  <silviapf@chromium.org>
635
636         Introduce an Enclosure Element for Chromium video controls.
637         https://bugs.webkit.org/show_bug.cgi?id=87683
638
639         Reviewed by Eric Carlson.
640
641         Updated tests.
642
643         The Chrome video controls are receiving a visual update. A new enclosure div is required
644         to provide for a offset space from the video's boundaries. The visual update itself is in
645         a separate patch.
646
647         * css/mediaControlsChromium.css:
648         (video::-webkit-media-controls-enclosure):
649         Introduce CSS for enclosure div so it doesn't show yet.
650         * html/shadow/MediaControlRootElementChromium.cpp:
651         (WebCore::MediaControlChromiumEnclosureElement::MediaControlChromiumEnclosureElement):
652         Definition of the new enclosure element.
653         (WebCore::MediaControlChromiumEnclosureElement::create):
654         Definition of a create operator for the new enclosure element.
655         (WebCore::MediaControlChromiumEnclosureElement::shadowPseudoId):
656         Definition of the shadowPseudoId of -webkit-media-controls-enclosure for the enclosure div.
657         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
658         Initialize member element for enclosure div.
659         (WebCore::MediaControlRootElementChromium::create):
660         Instantiate enclosure div and add into DOM between controls and panel elements.
661         (WebCore::MediaControlRootElementChromium::setMediaController):
662         Set media controller for enclosure div.
663         (WebCore::MediaControlRootElementChromium::createTextTrackDisplay):
664         Insert text track display container to enclosure rather than panel.
665         * html/shadow/MediaControlRootElementChromium.h:
666         (WebCore):
667         (MediaControlChromiumEnclosureElement):
668         (WebCore::MediaControlChromiumEnclosureElement::setMediaController):
669         (WebCore::MediaControlChromiumEnclosureElement::mediaController):
670         (WebCore::MediaControlChromiumEnclosureElement::isMediaControlElement):
671         Add declaration of the new enclosure element and its member functions.
672         (MediaControlRootElementChromium):
673         Add member variable to controls root element to hold the enclosure element.
674
675 2012-06-11  Elliott Sprehn  <esprehn@gmail.com>
676
677         WebKit doesn't allow replacing the document element with a DocumentFragment containing one element
678         https://bugs.webkit.org/show_bug.cgi?id=88681
679
680         Reviewed by Ojan Vafai.
681
682         Fix bug where replacing an immediate child of a Document with a DocumentFragment
683         would throw a HIERARCHY_REQUEST_ERR instead of replacing the node as required by DOM4.
684         http://www.w3.org/TR/domcore/#mutation-algorithms
685
686         * dom/Document.cpp:
687         (WebCore::Document::canReplaceChild):
688             When the newChild was a DocumentFragment we incorrectly
689             iterated over the document's children twice instead of the
690             fragment when counting the total number of elements and
691             doctypes to enfoce that there's only one of each.
692
693 2012-06-11  Mary Wu  <mary.wu@torchmobile.com.cn>
694
695         [BlackBerry] Add handling of notifyDataReceived in NetworkJob even there's no data inside
696         https://bugs.webkit.org/show_bug.cgi?id=88773
697
698         Reviewed by Rob Buis.
699
700         Handling notifyDataReceived event even if there is no data inside.
701         This event was critical because it gives downloadFilterStream a chance
702         to follow up NetworkStream close event, and it also make pluginView in
703         FrameLoaderBlackBerry return normal logic.
704
705         RIM PR# 164563
706
707         Reviewed internally by Leo Yang.
708
709         * platform/network/blackberry/NetworkJob.cpp:
710         (WebCore::NetworkJob::handleNotifyDataReceived):
711
712 2012-06-11  Mary Wu  <mary.wu@torchmobile.com.cn>
713
714         [BlackBerry] Wrong mimetype for empty file link
715         https://bugs.webkit.org/show_bug.cgi?id=88642
716
717         Reviewed by Rob Buis.
718
719         RIM PR# 164164
720
721         For empty file link, we shouldn't give "application/octet-stream"
722         which will lead to download.
723
724         Reviewed internally by Charles Wei.
725
726         * platform/network/blackberry/NetworkJob.cpp:
727         (WebCore::NetworkJob::sendResponseIfNeeded):
728
729 2012-06-11  Jin Yang  <jin.a.yang@intel.com>
730
731         GeneratorGeneratedImage should cache images for the non-tiled case
732         https://bugs.webkit.org/show_bug.cgi?id=87094
733
734         Reviewed by Simon Fraser.
735
736         We cache the generated image if generator is not changed. By compared
737         with generating image on the fly, it will lose a little pixel precision
738         and several layout tests should be rebaselined. With this patch, the IE test
739         drive benchmark "Bayou" can gain about 50%.
740
741         No new tests. Performance optimization.
742
743         * platform/graphics/GeneratorGeneratedImage.cpp:
744         (WebCore::GeneratorGeneratedImage::draw):
745
746 2012-06-11  Vincent Scheib  <scheib@chromium.org>
747
748         Add new Pointer Lock spec attribute webkitPointerLockElement.
749         https://bugs.webkit.org/show_bug.cgi?id=88799
750
751         Reviewed by Dimitri Glazkov.
752
753         Part of a series of refactoring changes to update pointer lock API to
754         the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
755
756         New attribute webkitPointerLockElement added. Follow up patches
757         will remove the previous isLocked attribute. Tests updated to use
758         the new attribute.
759
760         * bindings/generic/RuntimeEnabledFeatures.h:
761         (WebCore::RuntimeEnabledFeatures::webkitPointerLockElementEnabled):
762         * dom/Document.cpp:
763         (WebCore):
764         (WebCore::Document::webkitPointerLockElement):
765         * dom/Document.h:
766         (Document):
767         * dom/Document.idl:
768         * page/PointerLockController.h:
769         (WebCore::PointerLockController::element):
770
771 2012-06-11  Vincent Scheib  <scheib@chromium.org>
772
773         Consolidate Pointer Lock runtime enabled flags to just one.
774         https://bugs.webkit.org/show_bug.cgi?id=88810
775
776         Reviewed by Dimitri Glazkov.
777
778         No new tests.
779
780         * bindings/generic/RuntimeEnabledFeatures.h:
781         (WebCore::RuntimeEnabledFeatures::pointerLockEnabled):
782         (WebCore::RuntimeEnabledFeatures::setPointerLockEnabled):
783         * dom/MouseEvent.idl:
784         * page/Navigator.idl:
785
786 2012-06-11  Alexis Menard  <alexis.menard@openbossa.org>
787
788         [CSS3 Backgrounds and Borders] Protect box-decoration-break behind a feature flag.
789         https://bugs.webkit.org/show_bug.cgi?id=88804
790
791         Reviewed by Tony Chang.
792
793         Protect box-decoration-break behind a feature flag enabled by default.
794
795         No new tests : no behavior change here.
796
797         * Configurations/FeatureDefines.xcconfig:
798         * GNUmakefile.am:
799         * css/CSSComputedStyleDeclaration.cpp:
800         (WebCore):
801         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
802         * css/CSSParser.cpp:
803         (WebCore::isValidKeywordPropertyAndValue):
804         (WebCore::isKeywordPropertyID):
805         (WebCore::CSSParser::parseValue):
806         * css/CSSPrimitiveValueMappings.h:
807         (WebCore):
808         * css/CSSProperty.cpp:
809         (WebCore::CSSProperty::isInheritedProperty):
810         * css/CSSValueKeywords.in:
811         * css/StyleBuilder.cpp:
812         (WebCore::StyleBuilder::StyleBuilder):
813         * rendering/style/RenderStyle.h:
814         * rendering/style/StyleBoxData.cpp:
815         (WebCore::StyleBoxData::StyleBoxData):
816         (WebCore::StyleBoxData::operator==):
817         * rendering/style/StyleBoxData.h:
818         (StyleBoxData):
819
820 2012-06-11  James Robinson  <jamesr@chromium.org>
821
822         [chromium] Port DrawingBufferChromium from TextureLayerChromium over to WebExternalTextureLayer
823         https://bugs.webkit.org/show_bug.cgi?id=86273
824
825         Reviewed by Adrienne Walker.
826
827         This converts more WebCore code over to using public APIs instead of internal compositor layer types.
828
829         Refactor only, no change in behavior thus no new tests.
830
831         * platform/graphics/chromium/DrawingBufferChromium.cpp:
832         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
833         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
834         (WebCore::DrawingBufferPrivate::layer):
835         (DrawingBufferPrivate):
836         * platform/graphics/chromium/TextureLayerChromium.cpp:
837         (WebCore::TextureLayerChromium::~TextureLayerChromium):
838         (WebCore::TextureLayerChromium::setRateLimitContext):
839         (WebCore::TextureLayerChromium::setNeedsDisplayRect):
840         (WebCore::TextureLayerChromium::update):
841         * platform/graphics/chromium/TextureLayerChromium.h:
842         (WebKit):
843         (TextureLayerChromiumClient):
844
845 2012-06-11  Max Feil  <mfeil@rim.com>
846
847         [BlackBerry] Seek calls are being unnecessarily delayed
848         https://bugs.webkit.org/show_bug.cgi?id=88732
849
850         Reviewed by Antonio Gomes.
851
852         There is a problem with the way the m_userDrivenSeekTimer is
853         implemented. When MediaPlayerPrivate::seek() is called, there
854         is always a 100ms delay even if the timer is not running. The
855         timer is supposed to space out (i.e. throttle) repeated seeks
856         that come in too soon after a previous seek, but currently it
857         is slowing down even single seeks and seeks that come in with
858         adequate delay after a previous seek. I fixed this in my patch
859         by improving the way the timer fired function is called.
860         
861         A note on the new m_lastSeekTimePending flag: This flag is
862         needed so that userDrivenSeekTimerFired() knows whether or not
863         to perform the seek. The only case where this flag will not be
864         set is if no MediaPlayerPrivate::seek() call came in while the
865         timer was active, in which case it's important to do nothing.
866         I could encode this flag's information into the m_lastSeekTime
867         float, for example by initializing it and resetting it to NAN
868         and using isnan(). But I feel that using a separate bool is a
869         more portable approach.
870
871         No new tests. I would like to propose not including a layout test
872         with this fix. Doing timing tests for 100ms delays is tricky
873         from Javascript, and I don't think the benefit of such a test
874         outweighs the extra time it would take to develop one. The test
875         would also be a problem to maintain as it may give different
876         results over different runs and across different target hardware.
877
878         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
879         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
880         (WebCore::MediaPlayerPrivate::seek):
881         (WebCore::MediaPlayerPrivate::userDrivenSeekTimerFired):
882         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
883         (MediaPlayerPrivate):
884
885 2012-06-11  Max Feil  <mfeil@rim.com>
886
887         [BlackBerry] Unexpected repeats of short media
888         https://bugs.webkit.org/show_bug.cgi?id=88733
889
890         Reviewed by Antonio Gomes.
891
892         The m_userDrivenSeekTimer is causing unwanted repeats of short
893         media such as sound effects because it is causing the current
894         time to not reflect that the media has finished playing.
895         This problem only affects media whose duration is close to
896         or less than the SeekSubmissionDelay, which is currently
897         set to 100ms. My fix is to ignore the userDrivenSeekTimer in
898         MediaPlayerPrivate::currentTime() if the duration of the media
899         is within twice the SeekSubmissionDelay. Seek drag smoothness
900         is a non-issue for such short media.
901
902         Test: platform/blackberry/media/short-media-repeats-correctly.html
903
904         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
905         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
906         (WebCore):
907         (WebCore::MediaPlayerPrivate::currentTime):
908         (WebCore::MediaPlayerPrivate::seek):
909         (WebCore::MediaPlayerPrivate::userDrivenSeekTimerFired):
910         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
911         (MediaPlayerPrivate):
912
913 2012-06-11  Julien Chaffraix  <jchaffraix@webkit.org>
914
915         Account for margin after when laying out <legend> element
916         https://bugs.webkit.org/show_bug.cgi?id=35981
917
918         Reviewed by Abhishek Arya.
919
920         Tests: fast/forms/legend-after-margin-horizontal-writing-mode.html
921                fast/forms/legend-after-margin-vertical-writing-mode.html
922                fast/forms/legend-after-margin-with-before-border-horizontal-mode.html
923                fast/forms/legend-small-after-margin-before-border-horizontal-mode.html
924
925         The existing code would ignore margin after when layouting out the <legend>. This
926         change only adds the code to handle the margin after, the margin before is still
927         ignored as it's not obvious how it should be working.
928
929         * rendering/RenderFieldset.cpp:
930         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
931         Split the code in 2 code paths to reflect how we position and size. Those are covered by the
932         tests above.
933
934 2012-06-11  James Robinson  <jamesr@chromium.org>
935
936         [chromium] Use WebGraphicsContext3D in rate limiting logic inside compositor
937         https://bugs.webkit.org/show_bug.cgi?id=86259
938
939         Reviewed by Adrienne Walker.
940
941         This refactors the compositor's rate limiting implementation to use the Platform API's WebGraphicsContext3D
942         directly instead of WebCore::GraphicsContext3D to cut down on the number of spurious WebCore dependencies in the
943         compositor.  The one change in contract is that the caller to CCLayerTreeHost::startRateLimit() now has to call
944         CCLayerTreeHost::stopRateLimit() before allowing the referenced context to go away since CCLayerTreeHost no
945         longer retains a reference, but this was always happening already.
946
947         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
948         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
949         (WebCore::Canvas2DLayerChromium::setNeedsDisplayRect):
950         * platform/graphics/chromium/RateLimiter.cpp:
951         (WebCore::RateLimiter::create):
952         (WebCore::RateLimiter::RateLimiter):
953         (WebCore::RateLimiter::start):
954         (WebCore::RateLimiter::rateLimitContext):
955         * platform/graphics/chromium/RateLimiter.h:
956         (WebKit):
957         (RateLimiter):
958         * platform/graphics/chromium/TextureLayerChromium.cpp:
959         (WebCore::TextureLayerChromium::~TextureLayerChromium):
960         (WebCore::TextureLayerChromium::setRateLimitContext):
961         (WebCore::TextureLayerChromium::setNeedsDisplayRect):
962         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
963         (WebCore::CCLayerTreeHost::startRateLimiter):
964         (WebCore::CCLayerTreeHost::stopRateLimiter):
965         (WebCore::CCLayerTreeHost::rateLimit):
966         (WebCore):
967         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
968         (CCLayerTreeHost):
969
970 2012-06-11  Dana Jansens  <danakj@chromium.org>
971
972         [chromium] Separate CCVideoDrawQuad and from the layer tree and video provider by removing ManagedTexture and WebVideoFrame pointers from the quad
973         https://bugs.webkit.org/show_bug.cgi?id=88363
974
975         Reviewed by Adrienne Walker.
976
977         CCVideoDrawQuad should not contain any pointers to data in the layer
978         tree so we are able to serialize it across process boundaries. This
979         patch removes the ManagedTexture pointers from the quad class,
980         replacing them with texture ids. It removes the WebVideoFrame* from
981         the quad, replacing it with the frame provider's texture id included
982         in the WebVideoFrame structure. And it uses a WebTransformationMatrix
983         instead of a pointer to an array of floats.
984
985         Texture allocation is done in CCVideoLayerImpl via the
986         contentsTextureAllocator, so that the memory usage can be tracked.
987
988         We move the copyPlaneToTextures() method back from LayerRendererChromium
989         to CCVideoLayerImpl, as this method uses the texture data pointer in the
990         WebVideoFrame, and we do not want to give this pointer to the quad
991         class. Instead, this method makes use of the LayerTextureSubImage class
992         to copy the pixel data into the texture.
993
994         LayerTextureSubImage is updated to allow non-4byte texture formats.
995
996         * platform/graphics/chromium/LayerRendererChromium.cpp:
997         (WebCore::LayerRendererChromium::drawYUV):
998         (WebCore::LayerRendererChromium::drawRGBA):
999         (WebCore::LayerRendererChromium::drawNativeTexture2D):
1000         (WebCore::LayerRendererChromium::drawStreamTexture):
1001         (WebCore::LayerRendererChromium::drawVideoQuad):
1002         * platform/graphics/chromium/LayerTextureSubImage.cpp:
1003         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
1004         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
1005         * platform/graphics/chromium/TextureCopier.cpp:
1006         * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
1007         (WebCore::CCVideoDrawQuad::create):
1008         (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
1009         * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
1010         (CCVideoDrawQuad):
1011         (WebCore::CCVideoDrawQuad::planes):
1012         (WebCore::CCVideoDrawQuad::frameProviderTextureId):
1013         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1014         (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
1015         (WebCore::CCVideoLayerImpl::willDraw):
1016         (WebCore::CCVideoLayerImpl::willDrawInternal):
1017         (WebCore::CCVideoLayerImpl::appendQuads):
1018         (WebCore::CCVideoLayerImpl::didDraw):
1019         (WebCore::CCVideoLayerImpl::FramePlane::allocateData):
1020         (WebCore):
1021         (WebCore::CCVideoLayerImpl::FramePlane::freeData):
1022         (WebCore::CCVideoLayerImpl::allocatePlaneData):
1023         (WebCore::CCVideoLayerImpl::copyPlaneData):
1024         (WebCore::CCVideoLayerImpl::freePlaneData):
1025         (WebCore::CCVideoLayerImpl::freeUnusedPlaneData):
1026         (WebCore::CCVideoLayerImpl::didLoseContext):
1027         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1028         (FramePlane):
1029         (WebCore::CCVideoLayerImpl::FramePlane::FramePlane):
1030
1031 2012-06-11  Joshua Bell  <jsbell@chromium.org>
1032
1033         IndexedDB: Object stores are not successfully deleted
1034         https://bugs.webkit.org/show_bug.cgi?id=88788
1035
1036         Reviewed by Tony Chang.
1037
1038         Discovered while working on http://webkit.org/b/83074 - object stores are not
1039         being deleted from the backing store. Deletion would succeed in the in-memory
1040         data structures, but after closing/re-opening the backing store the object store
1041         (but not its indexes/data) would reappear. Due to 83074, this isn't detectable
1042         by DRT without a full restart.
1043
1044         Test: [chromium] webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.ComparisonTest'
1045
1046         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1047         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
1048
1049 2012-06-05  Eric Uhrhane <ericu@chromium.org>
1050
1051         Crash in fast/files/read tests during Garbage Collection
1052         https://bugs.webkit.org/show_bug.cgi?id=87165
1053
1054         Reviewed by Michael Saboff
1055
1056         Fix previous fix for hasPendingActivity, and fix a bug in a complex
1057         abort case as well--abort during the final progress event of a write
1058         would hang the writer.
1059
1060         * Modules/filesystem/FileWriter.cpp:
1061         (WebCore::FileWriter::stop):
1062         (WebCore::FileWriter::write):
1063         (WebCore::FileWriter::truncate):
1064         (WebCore::FileWriter::didWrite):
1065         (WebCore::FileWriter::didTruncate):
1066         (WebCore::FileWriter::didFail):
1067         (WebCore::FileWriter::completeAbort):
1068         (WebCore::FileWriter::doOperation):
1069         (WebCore::FileWriter::signalCompletion):
1070
1071 2012-06-11  Shawn Singh  <shawnsingh@chromium.org>
1072
1073         [chromium] Implement position:fixed in compositor thread
1074         https://bugs.webkit.org/show_bug.cgi?id=70103
1075
1076         Reviewed by Adrienne Walker.
1077
1078         Significant contributions to this patch by Alpha Lam and Sami Kyostila.
1079
1080         This patch is the compositor-side change that adds support for
1081         fixed-position layers to be composited layers. Before this patch,
1082         fixed-position elements were positioned only by WebCore (i.e. main
1083         thread when painting), and the compositor did not have enough
1084         knowledge on its own to position it properly. This patch adds the
1085         necessary math and plumbs the necessary layer information so that
1086         the impl thread can properly position fixed-position elements on
1087         its own. This support is necessary for correctness of composited
1088         fixed-position elements, which can greatly help to avoid
1089         repainting container layers when scrolling with a fixed-position
1090         layer.
1091
1092         There also needs to be WebCore-side support for this, which is
1093         addressed in https://bugs.webkit.org/show_bug.cgi?id=78864
1094
1095         Unit tests added to CCLayerTreeHostCommonTest:
1096           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDirectContainer
1097           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithTransformedDirectContainer
1098           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDistantContainer
1099           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDistantContainerAndTransforms
1100           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithMultipleScrollDeltas
1101           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithIntermediateSurfaceAndTransforms
1102           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithMultipleIntermediateSurfaces
1103           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithContainerLayerThatHasSurface
1104           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerThatIsAlsoFixedPositionContainer
1105           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerThatHasNoContainer
1106
1107         * platform/graphics/chromium/LayerChromium.cpp:
1108         (WebCore::LayerChromium::LayerChromium):
1109         (WebCore::LayerChromium::pushPropertiesTo):
1110         * platform/graphics/chromium/LayerChromium.h:
1111         (WebCore::LayerChromium::setIsContainerForFixedPositionLayers):
1112         (WebCore::LayerChromium::isContainerForFixedPositionLayers):
1113         (LayerChromium):
1114         (WebCore::LayerChromium::setFixedToContainerLayerVisibleRect):
1115         (WebCore::LayerChromium::fixedToContainerLayerVisibleRect):
1116         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1117         (WebCore::CCLayerImpl::CCLayerImpl):
1118         * platform/graphics/chromium/cc/CCLayerImpl.h:
1119         (WebCore::CCLayerImpl::setIsContainerForFixedPositionLayers):
1120         (WebCore::CCLayerImpl::isContainerForFixedPositionLayers):
1121         (CCLayerImpl):
1122         (WebCore::CCLayerImpl::setFixedToContainerLayerVisibleRect):
1123         (WebCore::CCLayerImpl::fixedToContainerLayerVisibleRect):
1124         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1125         (WebCore::computeScrollCompensationForThisLayer):
1126         (WebCore):
1127         (WebCore::computeScrollCompensationMatrixForChildren):
1128         (WebCore::calculateDrawTransformsInternal):
1129         (WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):
1130
1131 2012-06-11  Sam Weinig  <sam@webkit.org>
1132
1133         Remove support for disconnected/excluded from search frames, they are not used by Safari anymore
1134         https://bugs.webkit.org/show_bug.cgi?id=88723
1135
1136         Reviewed by Dan Bernstein.
1137
1138         * WebCore.exp.in:
1139         Update export.
1140         * editing/Editor.cpp:
1141         (WebCore::Editor::rangeOfString):
1142         (WebCore::Editor::countMatchesForText):
1143         * editing/Editor.h:
1144         (Editor):
1145         * loader/FrameLoader.cpp:
1146         (WebCore::FrameLoader::findFrameForNavigation):
1147         * page/DOMWindow.cpp:
1148         (WebCore::DOMWindow::parent):
1149         (WebCore::DOMWindow::top):
1150         * page/EventHandler.cpp:
1151         (WebCore::EventHandler::hitTestResultAtPoint):
1152         * page/Frame.cpp:
1153         (WebCore::Frame::Frame):
1154         * page/Frame.h:
1155         (Frame):
1156         * page/FrameTree.cpp:
1157         (WebCore::FrameTree::parent):
1158         (WebCore::FrameTree::top):
1159         * page/FrameTree.h:
1160         (FrameTree):
1161         * page/Location.cpp:
1162         (WebCore::Location::ancestorOrigins):
1163         * xml/XMLTreeViewer.cpp:
1164         (WebCore::XMLTreeViewer::hasNoStyleInformation):
1165         Update for the removal of disconnected frames and text search exclusions concepts.
1166
1167 2012-06-11  Xianzhu Wang  <wangxianzhu@chromium.org>
1168
1169         SVGImageCache leaks image data
1170         https://bugs.webkit.org/show_bug.cgi?id=87792
1171
1172         There are two functions to remove a client from a CachedImage:
1173         - CachedResource::removeClient()
1174         - CachedImage::removeClientForRenderer().
1175         It's easy to make error to call the former which will leak the cached
1176         image buffers in SVGImageCache.
1177
1178         This change combined the two by adding the virtual 
1179         CachedResource::didRemoveClient(). CachedImage will do SVGImageCache
1180         cleanup in the function.
1181
1182         Reviewed by Nikolas Zimmermann.
1183
1184         Test: svg/as-image/svg-image-leak-cached-data.html
1185
1186         * loader/cache/CachedFont.h:
1187         (WebCore::CachedFontClient::resourceClientType): Added 'const'.
1188         * loader/cache/CachedImage.cpp:
1189         (WebCore):
1190         (WebCore::CachedImage::didRemoveClient): Removes the client from SVGImageCache.
1191         (WebCore::CachedImage::lookupOrCreateImageForRenderer):
1192         * loader/cache/CachedImage.h:
1193         (CachedImage):
1194         (WebCore::CachedImageClient::resourceClientType): Added 'const'.
1195         * loader/cache/CachedRawResource.h:
1196         (WebCore::CachedRawResourceClient::resourceClientType): Added 'const'.
1197         * loader/cache/CachedResource.cpp:
1198         (WebCore::CachedResource::removeClient): Added invocation of didRemoveClient().
1199         * loader/cache/CachedResource.h:
1200         (WebCore::CachedResource::didRemoveClient): Added for subclasses to do additional works.
1201         * loader/cache/CachedResourceClient.h:
1202         (WebCore::CachedResourceClient::resourceClientType): Added 'const'.
1203         * loader/cache/CachedSVGDocument.h:
1204         (WebCore::CachedSVGDocumentClient::resourceClientType): Added 'const'.
1205         * loader/cache/CachedStyleSheetClient.h:
1206         (WebCore::CachedStyleSheetClient::resourceClientType): Added 'const'.
1207         * rendering/style/StyleCachedImage.cpp:
1208         (WebCore::StyleCachedImage::removeClient):
1209         * rendering/style/StyleCachedImageSet.cpp:
1210         (WebCore::StyleCachedImageSet::removeClient):
1211         * svg/graphics/SVGImageCache.cpp:
1212         (WebCore::SVGImageCache::~SVGImageCache): Added checking for leaks.
1213         (WebCore::SVGImageCache::removeClientFromCache):
1214         (WebCore::SVGImageCache::setRequestedSizeAndScales): 
1215         (WebCore::SVGImageCache::requestedSizeAndScales):
1216         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForClient):
1217         * svg/graphics/SVGImageCache.h:
1218         (WebCore):
1219         (SVGImageCache):
1220
1221 2012-06-11  Mark Pilgrim  <pilgrim@chromium.org>
1222
1223         [Chromium] Call shared timer functions directly
1224         https://bugs.webkit.org/show_bug.cgi?id=88781
1225
1226         Reviewed by Adam Barth.
1227
1228         Part of a refactoring series. See tracking bug 82948.
1229
1230         * platform/chromium/PlatformSupport.h:
1231         (PlatformSupport):
1232         * platform/chromium/SharedTimerChromium.cpp:
1233         (WebCore::setSharedTimerFiredFunction):
1234         (WebCore::setSharedTimerFireInterval):
1235
1236 2012-06-11  Pravin D  <pravind.2k4@gmail.com>
1237
1238         Relative pos. input fields in columns vanish when you start typing in them
1239         https://bugs.webkit.org/show_bug.cgi?id=76834
1240
1241         Reviewed by Julien Chaffraix.
1242
1243         Test: fast/multicol/multicol-with-child-renderLayer-for-input.html
1244
1245         * page/FrameView.cpp:
1246         (WebCore::updateLayerPositionFlags):
1247         Helper function to prepare the UpdateLayerPositionsFlags based on the input parameters.
1248         If didFullRepaint flag is set, then CheckForRepaints flag is removed from the default flags.
1249         Also during a relayout of a subtree, if the RenderLayer of the subtree root is paginated then updatePagination flag is
1250         included in the flags. 
1251
1252         (WebCore):
1253         (WebCore::FrameView::layout):
1254         Now uses the helper function updateLayerPositionFlags() to get the final set of UpdateLayerPositionsFlags.
1255
1256         * rendering/RenderLayer.h:
1257         (WebCore::RenderLayer::isPaginated):
1258         (RenderLayer):
1259         isPaginated function is made public so that FrameView class can use it prepare UpdateLayerPositionsFlags.
1260
1261 2012-06-11  Mark Pilgrim  <pilgrim@chromium.org>
1262
1263         [Chromium] Remove some dead code in PasteboardChromium
1264         https://bugs.webkit.org/show_bug.cgi?id=88782
1265
1266         Reviewed by Adam Barth.
1267
1268         Part of a refactoring series. See tracking bug 82948.
1269         Leftover detritus from bug 88038.
1270
1271         * platform/chromium/PasteboardChromium.cpp:
1272         (WebCore::Pasteboard::documentFragment):
1273
1274 2012-06-11  Peter Beverloo  <peter@chromium.org>
1275
1276         [Chromium] Theme updates for Android in menu list rendering and selection backgrounds
1277         https://bugs.webkit.org/show_bug.cgi?id=88775
1278
1279         Reviewed by Adam Barth.
1280
1281         For Chrome on Android, use the width of the scrollbar down arrow instead
1282         of the scrollbar's width for determining the arrow padding to apply for
1283         menu list rendering, as WebKit isn't drawing a scrollbar (thus width=0).
1284
1285         Furthermore, change the default active selection background color to be
1286         equal to the tap highlighting color.
1287
1288         These changes should be covered by existing layout tests.
1289
1290         * rendering/RenderThemeChromiumAndroid.cpp:
1291         (WebCore::RenderThemeChromiumAndroid::menuListArrowPadding):
1292         (WebCore): Retrieve the scrollbar down arrow's size via PlatformSupport.
1293         * rendering/RenderThemeChromiumAndroid.h: Override the menuListArrowPadding
1294             and platformActiveSelectionBackgroundColor methods, and add a static
1295             static RGBA32 color for the default active selection bg color.
1296         * rendering/RenderThemeChromiumSkia.cpp:
1297         (WebCore::RenderThemeChromiumSkia::menuListArrowPadding): Default to
1298             the scrollbar thickness, not changing behavior for non-Android.
1299         (WebCore::RenderThemeChromiumSkia::menuListInternalPadding): Instead
1300             of polling the scrollbar thickness, call menuListArrowPadding().
1301         * rendering/RenderThemeChromiumSkia.h: 
1302         (RenderThemeChromiumSkia): Add the menuListArrowPadding() as a protected method.
1303
1304 2012-06-11  David Barr  <davidbarr@chromium.org>
1305
1306         Add css3-images image-resolution (dppx only)
1307         https://bugs.webkit.org/show_bug.cgi?id=85332
1308
1309         Reviewed by Tony Chang.
1310
1311         The css3-images module is at candidate recommendation.
1312         http://www.w3.org/TR/2012/CR-css3-images-20120417/#image-resolution
1313
1314         Test: fast/css/image-resolution.html
1315
1316         * css/CSSComputedStyleDeclaration.cpp:
1317         (WebCore):
1318         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1319         * css/CSSGrammar.y:
1320         * css/CSSParser.cpp:
1321         (WebCore::CSSParser::validUnit):
1322         (WebCore::CSSParser::createPrimitiveNumericValue):
1323         (WebCore::unitFromString):
1324         (WebCore::CSSParser::parseValidPrimitive):
1325         (WebCore::CSSParser::parseValue):
1326         (WebCore):
1327         (WebCore::CSSParser::parseImageResolution):
1328         (WebCore::CSSParser::detectNumberToken):
1329         * css/CSSParser.h:
1330         * css/CSSPrimitiveValue.cpp:
1331         (WebCore::isValidCSSUnitTypeForDoubleConversion):
1332         (WebCore::unitCategory):
1333         (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
1334         (WebCore::CSSPrimitiveValue::customCssText):
1335         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
1336         * css/CSSPrimitiveValue.h:
1337         * css/CSSProperty.cpp:
1338         (WebCore::CSSProperty::isInheritedProperty):
1339         * css/CSSPropertyNames.in:
1340         * css/StyleBuilder.cpp:
1341         (WebCore):
1342         (ApplyPropertyImageResolution):
1343         (WebCore::ApplyPropertyImageResolution::applyInheritValue):
1344         (WebCore::ApplyPropertyImageResolution::applyInitialValue):
1345         (WebCore::ApplyPropertyImageResolution::applyValue):
1346         (WebCore::ApplyPropertyImageResolution::createHandler):
1347         (WebCore::StyleBuilder::StyleBuilder):
1348         * css/StyleResolver.cpp:
1349         (WebCore::StyleResolver::collectMatchingRulesForList):
1350         * rendering/RenderImage.cpp:
1351         (WebCore::RenderImage::styleDidChange):
1352         (WebCore::RenderImage::imageDimensionsChanged):
1353         * rendering/style/RenderStyle.cpp:
1354         (WebCore::RenderStyle::diff):
1355         * rendering/style/RenderStyle.h:
1356         * rendering/style/StyleRareInheritedData.cpp:
1357         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1358         (WebCore::StyleRareInheritedData::operator==):
1359         * rendering/style/StyleRareInheritedData.h:
1360         (StyleRareInheritedData):
1361
1362 2012-06-05  Dana Jansens  <danakj@chromium.org>
1363
1364         [chromium] Free texture from CCIOSurfaceLayerImpl when it is destroyed
1365         https://bugs.webkit.org/show_bug.cgi?id=88371
1366
1367         Reviewed by James Robinson.
1368
1369         Unit test: CCLayerTreeHostImplTest.layersFreeTextures
1370
1371         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
1372         (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
1373         (WebCore::CCIOSurfaceLayerImpl::willDraw):
1374
1375 2012-06-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1376
1377         Unreviewed. Fix make distcheck issues.
1378
1379         * GNUmakefile.am: Add idl files in editing dir to EXTRA_DIST.
1380         * GNUmakefile.list.am: Add missing header file.
1381
1382 2012-06-11  Dan Bernstein  <mitz@apple.com>
1383
1384         Reverted r119940 because it caused multiple media tests to fail on Lion.
1385
1386         * html/HTMLMediaElement.cpp:
1387         (WebCore::HTMLMediaElement::prepareForLoad):
1388         (WebCore):
1389         (WebCore::HTMLMediaElement::userCancelledLoad):
1390         * html/HTMLMediaElement.h:
1391         (HTMLMediaElement):
1392         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1393         (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
1394
1395 2012-06-11  Zoltan Horvath  <zoltan@webkit.org>
1396
1397         [Qt] Add config tests for WEBP imagedecoder library, modify HAVE(decoderlibrary) to USE(...)$
1398         https://bugs.webkit.org/show_bug.cgi?id=87841
1399
1400         Reviewed by Simon Hausmann.
1401
1402         No new tests were needed.
1403
1404         * Target.pri:
1405         * WebCore.pri:
1406         * platform/image-decoders/ImageDecoder.cpp:
1407         (WebCore::ImageDecoder::create):
1408
1409 2012-06-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1410
1411         Add QML api for setting device width and height
1412         https://bugs.webkit.org/show_bug.cgi?id=88777
1413
1414         Reviewed by Simon Hausmann.
1415
1416         Change the default values for deviceWidth/Height to be 0 (unset). The
1417         original values were introduced by Qt and 0 makes it possible to
1418         detect if a value has never been set and therefore fall back.
1419
1420         Only Qt depended on the former values.
1421
1422         * page/Settings.cpp:
1423         (WebCore::Settings::Settings):
1424
1425 2012-06-11  Csaba Osztrogonác  <ossy@webkit.org>
1426
1427         [Qt][Win] Fix UString related build problem in Source/WebCore/bridge/qt/qt_instance.cpp
1428         https://bugs.webkit.org/show_bug.cgi?id=88310
1429
1430         Reviewed by Simon Hausmann.
1431
1432         * bridge/qt/qt_instance.cpp:
1433         (JSC::Bindings::QtInstance::getPropertyNames):
1434
1435 2012-06-11  Michael Brüning  <michael.bruning@nokia.com>
1436
1437         [Qt][WK2] Compute and set cache capacities using the current CacheModel
1438         https://bugs.webkit.org/show_bug.cgi?id=73918
1439
1440         Unreviewed build fix.
1441
1442         No new tests added as this is a build fix.
1443
1444         * platform/qt/FileSystemQt.cpp:
1445
1446 2012-06-11  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1447
1448         Rect-based hittesting doesn't work in tables.
1449         https://bugs.webkit.org/show_bug.cgi?id=86605
1450
1451         Reviewed by Julien Chaffraix.
1452
1453         The existing code only performed a single binary lookup for the central
1454         hit-test point. This meant area-based hit-testing did not work across
1455         table-cell borders. All cells spanned by a hit-test area must be hit
1456         tested.
1457
1458         This patch introduces three auxilary functions to help calculate rows
1459         and columns spanned by an rect. These are intended to also be used by
1460         repaint logic in a later patch.
1461
1462         For point-based hit-testing we maintain unchanged behavior and still
1463         only hit test a single column in a single row.
1464
1465         Test: fast/dom/nodesFromRect-table.html
1466
1467         * rendering/RenderTableSection.cpp:
1468         (WebCore::RenderTableSection::logicalRectForWritingModeAndDirection):
1469         (WebCore::RenderTableSection::spannedRows):
1470         (WebCore::RenderTableSection::spannedColumns):
1471         (WebCore::RenderTableSection::nodeAtPoint):
1472         * rendering/RenderTableSection.h:
1473         (RenderTableSection):
1474
1475 2012-06-11  Min Qin  <qinmin@google.com>
1476
1477         Adding a flag to show fullscreen media controls in chromium
1478         https://bugs.webkit.org/show_bug.cgi?id=88266
1479
1480         Reviewed by Adam Barth.
1481
1482         The default chromium shadow DOM for media element does not contain fullscreen button.
1483         This change adds a flag to display the fullscreen button.
1484         It will be used by the android port.
1485
1486         No new tests needed. We will use the same layout tests as desktop chromium.
1487         However, new test result expections will be added later.
1488
1489         * html/shadow/MediaControlRootElementChromium.cpp:
1490         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
1491         (WebCore::MediaControlRootElementChromium::create):
1492         (WebCore::MediaControlRootElementChromium::setMediaController):
1493         (WebCore::MediaControlRootElementChromium::reset):
1494         (WebCore::MediaControlRootElementChromium::reportedError):
1495         * html/shadow/MediaControlRootElementChromium.h:
1496         (MediaControlRootElementChromium):
1497
1498 2012-06-11  Michael Brüning  <michael.bruning@nokia.com>
1499
1500         [Qt][WK2] Compute and set cache capacities using the current CacheModel
1501         https://bugs.webkit.org/show_bug.cgi?id=73918
1502
1503         Reviewed by Kenneth Rohde Christiansen.
1504
1505         No new tests needed / applicable (using operating system functionality).
1506
1507         Added method to read free file system space for a path to support cache model
1508         implementation in Qt WK 2.
1509
1510         * platform/FileSystem.h:
1511         (WebCore):
1512         * platform/qt/FileSystemQt.cpp:
1513         (WebCore::getVolumeFreeSizeForPath): Added for Qt ports.
1514         (WebCore):
1515
1516 2012-06-11  Peter Wang  <peter.wang@torchmobile.com.cn>
1517
1518         [JSC] Web Inspector: implement breaking from native callback
1519         https://bugs.webkit.org/show_bug.cgi?id=43332
1520
1521         Reviewed by Pavel Feldman.
1522
1523         These test cases were enabled:
1524         LayoutTests/inspector/debugger/dom-breakpoints.html
1525         LayoutTests/inspector/debugger/event-listener-breakpoints.html
1526         LayoutTests/inspector/debugger/step-through-event-listeners.html
1527         LayoutTests/inspector/debugger/xhr-breakpoints.html
1528
1529         * bindings/js/ScriptDebugServer.cpp:
1530         (WebCore::ScriptDebugServer::breakProgram):
1531         * bindings/js/ScriptDebugServer.h:
1532         (WebCore::supportsNativeBreakpoints):
1533
1534 2012-06-11  MORITA Hajime  <morrita@google.com>
1535
1536         Spellchecker crash in async scenario.
1537         https://bugs.webkit.org/show_bug.cgi?id=88617
1538
1539         Reviewed by Tony Chang.
1540
1541         SpellCheckRequest::invokeRequest() can be reached after the frame is detached.
1542         SpellCheckRequest should ignore such a request since TextCheckerClient is not available
1543         for detached Frames.
1544
1545         No new tests. It's hard to reproduce this.
1546
1547         * editing/SpellChecker.cpp:
1548         (WebCore::SpellChecker::invokeRequest):
1549
1550 2012-06-11  Ryuan Choi  <ryuan.choi@samsung.com>
1551
1552         [EFL] Extract CursorMap from WidgetEfl.cpp.
1553         https://bugs.webkit.org/show_bug.cgi?id=88633
1554
1555         Reviewed by Ryosuke Niwa.
1556
1557         In order to share CursorMap in WebKit/efl and UIProcess of WebKit2/Efl,
1558         extract it and expose getEcoreCursor.
1559
1560         No new tests, refactoring only.
1561
1562         * platform/efl/EflScreenUtilities.cpp:
1563         (WebCore):
1564         (CursorMap):
1565         (WebCore::CursorMap::cursor):
1566         (WebCore::CursorMap::CursorMap):
1567         (WebCore::getEcoreCursor):
1568         * platform/efl/EflScreenUtilities.h:
1569         (WebCore):
1570         * platform/efl/WidgetEfl.cpp:
1571         (WebCore::Widget::applyFallbackCursor):
1572
1573 2012-06-10  Sheriff Bot  <webkit.review.bot@gmail.com>
1574
1575         Unreviewed, rolling out r119955.
1576         http://trac.webkit.org/changeset/119955
1577         https://bugs.webkit.org/show_bug.cgi?id=88758
1578
1579         Breaks Chromium compile - Chromium depends on removed API
1580         (Requested by dominicc on #webkit).
1581
1582         * WebCore.exp.in:
1583         * editing/Editor.cpp:
1584         (WebCore::Editor::insideVisibleArea):
1585         (WebCore):
1586         (WebCore::Editor::firstVisibleRange):
1587         (WebCore::Editor::lastVisibleRange):
1588         (WebCore::Editor::nextVisibleRange):
1589         (WebCore::Editor::rangeOfString):
1590         (WebCore::Editor::countMatchesForText):
1591         * editing/Editor.h:
1592         (Editor):
1593         * loader/FrameLoader.cpp:
1594         (WebCore::FrameLoader::findFrameForNavigation):
1595         * page/DOMWindow.cpp:
1596         (WebCore::DOMWindow::parent):
1597         (WebCore::DOMWindow::top):
1598         * page/EventHandler.cpp:
1599         (WebCore::EventHandler::hitTestResultAtPoint):
1600         * page/Frame.cpp:
1601         (WebCore::Frame::Frame):
1602         * page/Frame.h:
1603         (Frame):
1604         (WebCore::Frame::isDisconnected):
1605         (WebCore):
1606         (WebCore::Frame::setIsDisconnected):
1607         (WebCore::Frame::excludeFromTextSearch):
1608         (WebCore::Frame::setExcludeFromTextSearch):
1609         * page/FrameTree.cpp:
1610         (WebCore::FrameTree::parent):
1611         (WebCore::FrameTree::top):
1612         * page/FrameTree.h:
1613         (FrameTree):
1614         * page/Location.cpp:
1615         (WebCore::Location::ancestorOrigins):
1616         * xml/XMLTreeViewer.cpp:
1617         (WebCore::XMLTreeViewer::hasNoStyleInformation):
1618
1619 2012-06-08  Kinuko Yasuda  <kinuko@chromium.org>
1620
1621         Using BlobBuilder should show a deprecation warning message (if it is enabled)
1622         https://bugs.webkit.org/show_bug.cgi?id=88644
1623
1624         Reviewed by Jian Li.
1625
1626         Mac has already disabled BlobBuilder, but Chromium still has it.
1627         We should start showing a warning to let people migrate to using Blob constructor.
1628
1629         Tests: fast/files/blob-builder-crash.html
1630
1631         * fileapi/WebKitBlobBuilder.cpp:
1632         (WebCore):
1633         (WebCore::WebKitBlobBuilder::create):
1634         * fileapi/WebKitBlobBuilder.h:
1635         (WebCore):
1636         (WebKitBlobBuilder):
1637         * fileapi/WebKitBlobBuilder.idl:
1638
1639 2012-06-10  Sam Weinig  <sam@webkit.org>
1640
1641         Remove support for disconnected/excluded from search frames, they are not used by Safari anymore
1642         https://bugs.webkit.org/show_bug.cgi?id=88723
1643
1644         Reviewed by Dan Bernstein.
1645
1646         * WebCore.exp.in:
1647         Update export.
1648         * editing/Editor.cpp:
1649         (WebCore::Editor::rangeOfString):
1650         (WebCore::Editor::countMatchesForText):
1651         * editing/Editor.h:
1652         (Editor):
1653         * loader/FrameLoader.cpp:
1654         (WebCore::FrameLoader::findFrameForNavigation):
1655         * page/DOMWindow.cpp:
1656         (WebCore::DOMWindow::parent):
1657         (WebCore::DOMWindow::top):
1658         * page/EventHandler.cpp:
1659         (WebCore::EventHandler::hitTestResultAtPoint):
1660         * page/Frame.cpp:
1661         (WebCore::Frame::Frame):
1662         * page/Frame.h:
1663         (Frame):
1664         * page/FrameTree.cpp:
1665         (WebCore::FrameTree::parent):
1666         (WebCore::FrameTree::top):
1667         * page/FrameTree.h:
1668         (FrameTree):
1669         * page/Location.cpp:
1670         (WebCore::Location::ancestorOrigins):
1671         * xml/XMLTreeViewer.cpp:
1672         (WebCore::XMLTreeViewer::hasNoStyleInformation):
1673         Update for the removal of disconnected frames and text search exclusions concepts.
1674
1675 2012-06-07  Kinuko Yasuda  <kinuko@google.com>
1676
1677         Move Quota related code out of DOMWindow and into the quota/ folder
1678         https://bugs.webkit.org/show_bug.cgi?id=88512
1679
1680         Reviewed by Adam Barth.
1681
1682         No new tests: no visible changes.
1683
1684         * CMakeLists.txt:
1685         * DerivedSources.cpp:
1686         * DerivedSources.make:
1687         * DerivedSources.pri:
1688         * Modules/quota/DOMWindowQuota.cpp: Added.
1689         * Modules/quota/DOMWindowQuota.h: Added.
1690         * Modules/quota/DOMWindowQuota.idl: Added.
1691         * Modules/quota/StorageInfo.cpp: Renamed from Source/WebCore/storage/StorageInfo.cpp.
1692         * Modules/quota/StorageInfo.h: Renamed from Source/WebCore/storage/StorageInfo.h.
1693         * Modules/quota/StorageInfo.idl: Renamed from Source/WebCore/storage/StorageInfo.idl.
1694         * Modules/quota/StorageInfoErrorCallback.h: Renamed from Source/WebCore/storage/StorageInfoErrorCallback.h.
1695         * Modules/quota/StorageInfoErrorCallback.idl: Renamed from Source/WebCore/storage/StorageInfoErrorCallback.idl.
1696         * Modules/quota/StorageInfoQuotaCallback.h: Renamed from Source/WebCore/storage/StorageInfoQuotaCallback.h.
1697         * Modules/quota/StorageInfoQuotaCallback.idl: Renamed from Source/WebCore/storage/StorageInfoQuotaCallback.idl.
1698         * Modules/quota/StorageInfoUsageCallback.h: Renamed from Source/WebCore/storage/StorageInfoUsageCallback.h.
1699         * Modules/quota/StorageInfoUsageCallback.idl: Renamed from Source/WebCore/storage/StorageInfoUsageCallback.idl.
1700         * Target.pri:
1701         * WebCore.gyp/WebCore.gyp:
1702         * WebCore.gypi:
1703         * WebCore.pri:
1704         * WebCore.vcproj/WebCore.vcproj:
1705         * WebCore.vcproj/WebCoreCommon.vsprops:
1706         * WebCore.vcproj/copyForwardingHeaders.cmd:
1707         * WebCore.xcodeproj/project.pbxproj:
1708         * page/DOMWindow.cpp:
1709         * page/DOMWindow.h:
1710         * page/DOMWindow.idl:
1711
1712 2012-06-10  Hayato Ito  <hayato@chromium.org>
1713
1714         An inheritance of '-webkit-user-modify' does not stop at shadow boundary.
1715         https://bugs.webkit.org/show_bug.cgi?id=88514
1716
1717         Reviewed by Ryosuke Niwa.
1718
1719         In StyleResolver::styleForElement(), we reset '-webkit-user-modify'
1720         CSS property after inheriting a parent style, but that is not
1721         enough.  We also have to reset '-webkit-user-modify' when we use a
1722         cached result in applying matched properties.
1723
1724         Test: fast/dom/shadow/user-modify-inheritance.html
1725
1726         * css/StyleResolver.cpp:
1727         (WebCore::StyleResolver::applyMatchedProperties):
1728         (WebCore::StyleResolver::styleForElement):
1729         * css/StyleResolver.h:
1730         (StyleResolver):
1731         * rendering/style/RenderStyle.cpp:
1732         (WebCore::RenderStyle::inheritFrom):
1733         * rendering/style/RenderStyle.h:
1734
1735 2012-06-10  Yoshifumi Inoue  <yosin@chromium.org>
1736
1737         [Forms] Introduce Decimal behind the InputNumber type
1738         https://bugs.webkit.org/show_bug.cgi?id=88383
1739
1740         Reviewed by Kent Tamura.
1741
1742         This patch introduces decimal arithmetic for steppable input types,
1743         e.g. date, datetime, number, range, and so on, to avoid rounding error
1744         caused by base 2 floating point representation, e.g. C/C++ double type.
1745
1746         Most of decimal arithmetic calculations are implemented in StepRange
1747         class, replacing "double" with "Decimal", InputType::applyStep, and
1748         InputType::stepFromRenderer.
1749
1750         Changes introduced by this patch are still intermediate state.
1751         Following patch will replace InputNumber type to Decimal type for
1752         completion of introducing decimal arithmetic.
1753
1754         Test: fast/forms/range/range-value-rounding.html
1755
1756         * html/BaseDateAndTimeInputType.cpp:
1757         (WebCore::BaseDateAndTimeInputType::serialize): Changed for Decimal type.
1758         (WebCore::BaseDateAndTimeInputType::serializeWithComponents): ditto.
1759         * html/DateInputType.cpp:
1760         (WebCore::DateInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber.
1761         * html/DateTimeInputType.cpp:
1762         (WebCore::DateTimeInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber.
1763         * html/DateTimeLocalInputType.cpp:
1764         (WebCore::DateTimeLocalInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber.
1765         * html/InputType.cpp:
1766         (WebCore::InputType::rangeUnderflow): Changed for Decimal type.
1767         (WebCore::InputType::rangeOverflow): Changed for Decimal type.
1768         (WebCore::InputType::minimum): Changed for Decimal type.
1769         (WebCore::InputType::maximum): ditto.
1770         (WebCore::InputType::isInRange): ditto.
1771         (WebCore::InputType::isOutOfRange): ditto.
1772         (WebCore::InputType::stepMismatch): ditto.
1773         (WebCore::InputType::validationMessage): ditto.
1774         (WebCore::InputType::parseToNumberOrNaN): ditto.
1775         (WebCore::InputType::applyStep): ditto.
1776         (WebCore::InputType::stepUpFromRenderer): ditto.
1777         * html/InputType.h:
1778         (InputType): Removed parseToNumberWIthDecimaplPlaces.
1779         * html/MonthInputType.cpp:
1780         (WebCore::MonthInputType::createStepRange): Changed for Decimal type.
1781         * html/NumberInputType.cpp:
1782         (WebCore::RealNumberRenderSize): Added for calculateRenderSize.
1783         (WebCore::calculateRenderSize): Added. This function replacess lengthBeforeDecimalPoint.
1784         (WebCore::NumberInputType::createStepRange): Changed for Decimal type.
1785         (WebCore::NumberInputType::sizeShouldIncludeDecoration): Changed to use calculateRenderSize.
1786         (WebCore::NumberInputType::parseToNumber): Changed for Decimal type.
1787         (WebCore::NumberInputType::serialize): ditto.
1788         * html/NumberInputType.h:
1789         (NumberInputType): Removed parseToNumberWIthDecimaplPlaces.
1790         * html/RangeInputType.cpp:
1791         (WebCore::RangeInputType::createStepRange): Changed for Decimal type.
1792         (WebCore::RangeInputType::handleKeydownEvent): ditto.
1793         (WebCore::RangeInputType::parseToNumber): ditto.
1794         (WebCore::RangeInputType::serialize): ditto.
1795         * html/StepRange.cpp:
1796         (WebCore::StepRange::StepRange): Removed decimal places and changed for Decimal type.
1797         (WebCore::StepRange::acceptableError): Changed for Decimal type.
1798         (WebCore::StepRange::alignValueForStep): ditto.
1799         (WebCore::StepRange::clampValue): Changed for Decimal type and std::min/max.
1800         (WebCore::StepRange::parseStep): Changed for Decimal type and removed NumberWithDecimalPlaces.
1801         (WebCore::StepRange::stepMismatch): Changed for Decimal type.
1802         (WebCore::convertDoubleToInputNumber): Changed to real implementation.
1803         (WebCore::convertInputNumberToDouble):  Changed to real implementation.
1804         * html/StepRange.h:
1805         (InputNumber): Replacement of NumberWithDecimalPlaces.
1806         (WebCore::StepRange::InputNumber::InputNumber):
1807         * html/TimeInputType.cpp:
1808         (WebCore::TimeInputType::createStepRange): Changed for Decimal type.
1809         * html/WeekInputType.cpp:
1810         (WebCore::WeekInputType::createStepRange): Changed for Decimal type.
1811         * html/parser/HTMLParserIdioms.cpp:
1812         (WebCore::serializeForNumberType): Added Decimal version.
1813         (WebCore::parseToDecimalForNumberType): Added.
1814         * html/parser/HTMLParserIdioms.h: Updated comments for parseToDoubleForNumberType.
1815         * html/shadow/SliderThumbElement.cpp:
1816         (WebCore::sliderPosition): Changed for Decimal type.
1817
1818 2012-06-10  Jason Liu  <jason.liu@torchmobile.com.cn>
1819
1820         [BlackBerry] Possible to clobber httponly cookie.
1821         https://bugs.webkit.org/show_bug.cgi?id=86067
1822
1823         Reviewed by Rob Buis.
1824
1825         If a cookie is set by javaScript and there is already a same httpOnly cookie in cookieManager,
1826         we should reject it. If it has a httpOnly property, we reject it, too.
1827
1828         Test: http/tests/cookies/js-get-and-set-http-only-cookie.html
1829
1830         * platform/blackberry/CookieJarBlackBerry.cpp:
1831         (WebCore::setCookies):
1832         * platform/blackberry/CookieManager.cpp:
1833         (WebCore::CookieManager::setCookies):
1834         (WebCore::CookieManager::checkAndTreatCookie):
1835         (WebCore::CookieManager::addCookieToMap):
1836         (WebCore::CookieManager::setPrivateMode):
1837         * platform/blackberry/CookieManager.h:
1838         * platform/blackberry/CookieMap.cpp:
1839         (WebCore::CookieMap::addOrReplaceCookie):
1840         (WebCore::CookieMap::removeCookie):
1841         * platform/blackberry/CookieMap.h:
1842         (CookieMap):
1843
1844 2012-06-10  Pablo Flouret  <pablof@motorola.com>
1845
1846         Access control allow lists starting with a comma are parsed incorrectly (CORS)
1847         https://bugs.webkit.org/show_bug.cgi?id=88461
1848
1849         Reviewed by Adam Barth.
1850
1851         The parsing algorithm would stop parsing at the first comma (being an
1852         empty entry, of sorts) and bail out, effectively ignoring the whole
1853         header.
1854
1855         Test: http/tests/xmlhttprequest/access-control-allow-lists-starting-with-comma.html
1856
1857         * loader/CrossOriginPreflightResultCache.cpp:
1858         (WebCore::parseAccessControlAllowList):
1859
1860 2012-06-10  Darin Adler  <darin@apple.com>
1861
1862         Some additional tweaks to keep TreeShared code simple/clean
1863         https://bugs.webkit.org/show_bug.cgi?id=88738
1864
1865         Reviewed by Adam Barth.
1866
1867         * platform/TreeShared.h: Make constructor and destructor both protected.
1868         It's slightly dangerous to have a public non-virtual destructor, and there
1869         is no reason it needs to be public.
1870         (WebCore::TreeShared::~TreeShared): Make debug-only destructor non-virtual;
1871         we were getting no value from it being virtual. Now that it's non-virtual,
1872         there is no need to use an #if on it since it's an empty inline destructor
1873         in non-debug builds.
1874
1875 2012-06-06  Jer Noble  <jer.noble@apple.com>
1876
1877         REGRESSION: Setting invalid media "src" does not cause "error" event
1878         https://bugs.webkit.org/show_bug.cgi?id=88423
1879
1880         Reviewed by Eric Carlson.
1881
1882         Test: http/tests/media/video-src-invalid-error.html
1883
1884         Two problems here.  When the loadTimer is scheduled, the m_pendingLoadFlags
1885         variable is set to specify what type of load is scheduled.  It is cleared
1886         when the loadTimer fires. But, when prepareForLoad() stops the loadTimer,
1887         it does not clear the m_pendingLoadFlags variable, so the next time
1888         scheduleLoad() is called (when the src is changed to an invalid URL)
1889         prepareForLoad() is not called again.
1890
1891         Second problem: Due to a bug in QTKit (<rdar://problem/11606415>), the
1892         QTMovieLoadStateChangedNotification is never fired for an invalid http
1893         URL if QTMovieOpenAsyncRequiredAttribute:YES is not passed when creating
1894         the QTMovie.
1895
1896         Add a new utility method which both stops the m_loadTimer and clears the 
1897         m_pendingLoadFlags, and use it in all the places where m_loadTimer was 
1898         stopped explicitly:
1899
1900         * html/HTMLMediaElement.cpp:
1901         (WebCore::HTMLMediaElement::prepareForLoad):
1902         (WebCore::HTMLMediaElement::stopLoadTimer): Added
1903         (WebCore::HTMLMediaElement::userCancelledLoad):
1904         * html/HTMLMediaElement.h:
1905
1906         And pass QTMovieOpenAsyncRequiredAttribute:YES when creating the QTMovie:
1907
1908         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1909         (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
1910
1911 2012-06-06  Jer Noble  <jer.noble@apple.com>
1912
1913         Add logging functions to MediaPlayerPrivateQTKit.
1914         https://bugs.webkit.org/show_bug.cgi?id=88425
1915
1916         Reviewed by Eric Carlson.
1917
1918         No new tests; adds logging functions to aide debugging.
1919
1920         MediaPlayerPrivateQTKit should emit the same kind of logging messages as 
1921         other MediaPlayerPrivate engines to aide in debugging.
1922
1923         Distinguish between loadedRangesChanged() and loadStateChanged() for logging
1924         purposes:
1925         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1926         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1927         (WebCore::MediaPlayerPrivateQTKit::loadedRangesChanged):
1928         (-[WebCoreMovieObserver loadedRangesChanged:]):
1929
1930         Add LOG messages for each of the following functions:
1931         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1932         (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit):
1933         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1934         (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
1935         (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView):
1936         (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
1937         (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer):
1938         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
1939         (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
1940         (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
1941         (WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering):
1942         (WebCore::MediaPlayerPrivateQTKit::load):
1943         (WebCore::MediaPlayerPrivateQTKit::prepareToPlay):
1944         (WebCore::MediaPlayerPrivateQTKit::play):
1945         (WebCore::MediaPlayerPrivateQTKit::pause):
1946         (WebCore::MediaPlayerPrivateQTKit::seek):
1947         (WebCore::MediaPlayerPrivateQTKit::cancelSeek):
1948         (WebCore::MediaPlayerPrivateQTKit::setVolume):
1949         (WebCore::MediaPlayerPrivateQTKit::setRate):
1950         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
1951         (WebCore::MediaPlayerPrivateQTKit::cancelLoad):
1952         (WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
1953         (WebCore::MediaPlayerPrivateQTKit::updateStates):
1954         (WebCore::MediaPlayerPrivateQTKit::loadStateChanged):
1955         (WebCore::MediaPlayerPrivateQTKit::rateChanged):
1956         (WebCore::MediaPlayerPrivateQTKit::sizeChanged):
1957         (WebCore::MediaPlayerPrivateQTKit::timeChanged):
1958         (WebCore::MediaPlayerPrivateQTKit::didEnd):
1959         (WebCore::MediaPlayerPrivateQTKit::clearMediaCache):
1960         (WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForSite):
1961         (WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks):
1962
1963 2012-06-07  Jer Noble  <jer.noble@apple.com>
1964
1965         WebCore should use a single definition of an invalid media time.
1966         https://bugs.webkit.org/show_bug.cgi?id=88572
1967
1968         Reviewed by Eric Carlson.
1969
1970         No new tests; no change in functionality, so covered by existing tests.
1971
1972         Add a new, universal definition for an invalid media time:
1973         * platform/graphics/MediaPlayer.h:
1974         (WebCore::MediaPlayer::invalidTime):
1975
1976         Use this new definition instead of the hodge podge of (identical) local
1977         definitions for an invalid media time:
1978         * html/HTMLMediaElement.cpp:
1979         (WebCore::HTMLMediaElement::HTMLMediaElement):
1980         (WebCore::HTMLMediaElement::invalidateCachedTime):
1981         (WebCore::HTMLMediaElement::currentTime):
1982         (WebCore::HTMLMediaElement::initialTime):
1983         (WebCore::HTMLMediaElement::playbackProgressTimerFired):
1984         (WebCore::HTMLMediaElement::prepareMediaFragmentURI):
1985         (WebCore::HTMLMediaElement::applyMediaFragmentURI):
1986         * html/MediaFragmentURIParser.cpp:
1987         (WebCore::MediaFragmentURIParser::invalidTimeValue):
1988         (WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
1989         (WebCore::MediaFragmentURIParser::startTime):
1990         (WebCore::MediaFragmentURIParser::endTime):
1991         (WebCore::MediaFragmentURIParser::parseTimeFragment):
1992         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1993         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
1994         (WebCore::MediaPlayerPrivateAVFoundation::duration):
1995         (WebCore::MediaPlayerPrivateAVFoundation::seeking):
1996         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
1997         (WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration):
1998         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1999         (MediaPlayerPrivateAVFoundation):
2000         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2001         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
2002         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2003         (WebCore::MediaPlayerPrivateQTKit::duration):
2004         (WebCore::MediaPlayerPrivateQTKit::updateStates):
2005         (WebCore::MediaPlayerPrivateQTKit::timeChanged):
2006
2007 2012-06-10  Darin Adler  <darin@apple.com>
2008
2009         Remove unneeded callRemovedLastRef function from TreeShared refactoring
2010         https://bugs.webkit.org/show_bug.cgi?id=88653
2011
2012         Reviewed by Sam Weinig.
2013
2014         * WebCore.exp.in: Updated to remove callRemovedLastRef and add removedLastRef.
2015
2016         * dom/ContainerNode.cpp: Removed callRemovedLastRef, which is no longer
2017         needed and also had a bad cast in it.
2018
2019         * dom/Document.h: Made removedLastRef private and non-virtual and made Node
2020         a friend so it can call the private function.
2021
2022         * dom/Node.cpp:
2023         (WebCore::Node::removedLastRef): Moved here. This should not be an inline
2024         function. Added comments explaining why it should not be inlined. Also added
2025         explicit code to call to Document::removedLastRef, and added a comment why
2026         that's the right thing to do here.
2027         * dom/Node.h: Inherit from TreeShared<Node, ContainerNode>. Made the
2028         removedLastRef function non-virtual and removed it from the header file.
2029         Updated TreeShared using statements. Made the TreeShared template class a
2030         friend so it can call the private removedLastRef.
2031
2032         * html/HTMLFormControlElement.h: Updated TreeShared using statements to specify
2033         Node instead, which accomplishes the same thing.
2034         * html/HTMLObjectElement.h: Ditto.
2035
2036         * platform/TreeShared.h: Made TreeShared take two template arguments for the
2037         node type and the parent node type. Removed the callRemovedLastRef functions and
2038         the extra forward declarations it required. Removed the private unused
2039         removedLastRef function; not sure why it was left in here at all.
2040         (WebCore::TreeShared::deref): Call removedLastRef instead of callRemovedLastRef.
2041         (WebCore::TreeShared::setParent): Use ParentNodeType.
2042         (WebCore::TreeShared::parent): Ditto.
2043         (WebCore::adopted): Updated to have both template arguments.
2044
2045         * svg/SVGElementInstance.cpp:
2046         (WebCore::SVGElementInstance::removedLastRef): Replaced callRemovedLastRef with
2047         this. Moved the body out of the header and added a comment explaining why the
2048         function should not be inlined.
2049         * svg/SVGElementInstance.h: Made removedLastRef non-virtual, non-inline, and
2050         private. Made TreeShared a friend so it can call the private removedLastRef.
2051         Updated TreeShared using statements.
2052
2053 2012-06-10  Darin Adler  <darin@apple.com>
2054
2055         * WebCore.exp.in: Re-sorted and alphabetized the file.
2056
2057 2012-06-10  Balazs Kelemen  <kbalazs@webkit.org>
2058
2059         [Qt][Win] Fix building Source/WebCore/plugins/win/PluginViewWin.cpp
2060         https://bugs.webkit.org/show_bug.cgi?id=88308
2061
2062         Reviewed by Simon Hausmann.
2063
2064         No new tests, just a build fix.
2065
2066         Use ownerWindow() from page client. It has been
2067         introduced for x11 plugins to solve exactly the
2068         same problem.
2069
2070         * plugins/win/PluginViewWin.cpp:
2071         (windowHandleForPageClient):
2072
2073 2012-06-10  Balazs Kelemen  <kbalazs@webkit.org>
2074
2075         [Qt][Win] Fix building ImageQt.cpp
2076         https://bugs.webkit.org/show_bug.cgi?id=88306
2077
2078         Reviewed by Simon Hausmann.
2079
2080         No new tests, this is just a build fix.
2081
2082         * platform/graphics/qt/ImageQt.cpp:
2083         (WebCore):
2084         (WebCore::BitmapImage::create):
2085         Adapt to the "API" changes in Qt.
2086
2087 2012-06-09  Gregg Tavares  <gman@google.com>
2088
2089         Make WebGL mark draws for compositing even if the draw count is zero
2090         https://bugs.webkit.org/show_bug.cgi?id=88718
2091
2092         Reviewed by Kenneth Russell.
2093
2094         No new tests as no new functionality.
2095
2096         * html/canvas/WebGLRenderingContext.cpp:
2097         (WebCore):
2098         (WebCore::WebGLRenderingContext::drawArrays):
2099         (WebCore::WebGLRenderingContext::drawElements):
2100
2101 2012-06-09  Dominic Cooney  <dominicc@chromium.org>
2102
2103         [Chromium] Remove JavaScriptCore dependencies from gyp
2104         https://bugs.webkit.org/show_bug.cgi?id=88510
2105
2106         Reviewed by Adam Barth.
2107
2108         Chromium doesn't support JSC any more and there doesn't seem to be
2109         a strong interest in using GYP as the common build system in other
2110         ports.
2111
2112         No new functionality => No new tests.
2113
2114         * gyp/WebCore.gyp: Removed.
2115         * gyp/copy-forwarding-and-icu-headers.sh: Removed.
2116         * gyp/copy-inspector-resources.sh: Removed.
2117         * gyp/generate-derived-sources.sh: Removed.
2118         * gyp/generate-webcore-export-file-generator.sh: Removed.
2119         * gyp/gtk.gyp: Removed.
2120         * gyp/run-if-exists.sh: Removed.
2121         * gyp/streamline-inspector-source.sh: Removed.
2122         * gyp/update-info-plist.sh: Removed.
2123
2124 2012-06-07  Darin Adler  <darin@apple.com>
2125
2126         Refactor and improve code style in TextResourceDecoder to prepare for buffering improvement
2127         https://bugs.webkit.org/show_bug.cgi?id=88566
2128
2129         Reviewed by Alexey Proskuryakov.
2130
2131         * loader/TextResourceDecoder.cpp:
2132         (WebCore::bytesEqual): Added helper function to make comparing against sequences of bytes
2133         easier to read at the call site.
2134         (WebCore::KanjiCode::judge): Changed to use bytesEqual in a few places, merged multiple if
2135         statements, got rid of else after goto.
2136         (WebCore::TextResourceDecoder::checkForCSSCharset): Changed to use early return instead of
2137         nesting the whole function. Changed to use bytesEqual.
2138         (WebCore::skipComment): Changed to use early return for more cases. Changed to use bytesEqual.
2139         (WebCore::TextResourceDecoder::checkForHeadCharset): Changed to use bytesEqual.
2140         (WebCore::TextResourceDecoder::decode): Changed to use emptyString() instead of "", since
2141         the former is more efficient.
2142
2143 2012-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2144
2145         Unreviewed, rolling out r118618 and r119353.
2146         http://trac.webkit.org/changeset/118618
2147         http://trac.webkit.org/changeset/119353
2148         https://bugs.webkit.org/show_bug.cgi?id=88720
2149
2150         Caused at least 30 different crashes on ClusterFuzz (Requested
2151         by inferno-sec on #webkit).
2152
2153         * loader/SubresourceLoader.cpp:
2154         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
2155         * loader/cache/CachedCSSStyleSheet.cpp:
2156         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
2157         * loader/cache/CachedFont.cpp:
2158         (WebCore::CachedFont::allClientsRemoved):
2159         * loader/cache/CachedFont.h:
2160         (WebCore::CachedFontClient::resourceClientType):
2161         * loader/cache/CachedImage.cpp:
2162         (WebCore::CachedImage::removeClientForRenderer):
2163         (WebCore):
2164         (WebCore::CachedImage::allClientsRemoved):
2165         (WebCore::CachedImage::lookupOrCreateImageForRenderer):
2166         * loader/cache/CachedImage.h:
2167         (CachedImage):
2168         (WebCore::CachedImageClient::resourceClientType):
2169         * loader/cache/CachedRawResource.cpp:
2170         (WebCore::CachedRawResource::allClientsRemoved):
2171         (WebCore):
2172         * loader/cache/CachedRawResource.h:
2173         (CachedRawResource):
2174         (WebCore::CachedRawResourceClient::resourceClientType):
2175         * loader/cache/CachedResource.cpp:
2176         (WebCore::CachedResource::removeClient):
2177         * loader/cache/CachedResource.h:
2178         (WebCore::CachedResource::allClientsRemoved):
2179         * loader/cache/CachedResourceClient.h:
2180         (WebCore::CachedResourceClient::resourceClientType):
2181         * loader/cache/CachedSVGDocument.h:
2182         (WebCore::CachedSVGDocumentClient::resourceClientType):
2183         * loader/cache/CachedScript.cpp:
2184         (WebCore::CachedScript::allClientsRemoved):
2185         * loader/cache/CachedStyleSheetClient.h:
2186         (WebCore::CachedStyleSheetClient::resourceClientType):
2187         * rendering/style/StyleCachedImage.cpp:
2188         (WebCore::StyleCachedImage::removeClient):
2189         * rendering/style/StyleCachedImageSet.cpp:
2190         (WebCore::StyleCachedImageSet::removeClient):
2191         * svg/graphics/SVGImageCache.cpp:
2192         (WebCore::SVGImageCache::~SVGImageCache):
2193         (WebCore::SVGImageCache::removeRendererFromCache):
2194         (WebCore::SVGImageCache::setRequestedSizeAndScales):
2195         (WebCore::SVGImageCache::requestedSizeAndScales):
2196         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
2197         * svg/graphics/SVGImageCache.h:
2198         (WebCore):
2199         (SVGImageCache):
2200
2201 2012-06-09  Florin Malita  <fmalita@chromium.org>
2202
2203         Fixed-position foreignObject descendants should be relative to the foreignObject viewport
2204         https://bugs.webkit.org/show_bug.cgi?id=88547
2205
2206         Reviewed by Abhishek Arya.
2207
2208         Tests: svg/foreignObject/fO-fixed-position-crash.html
2209                svg/foreignObject/fixed-position-expected.svg
2210                svg/foreignObject/fixed-position.svg
2211
2212         Fixed position elements are currently registered with the top level
2213         RenderView even when embedded within an SVG foreignOject. This patch
2214         changes containingBlock() & container() to return the containing
2215         foreignObject renderer instead.
2216
2217         The new foreignObject fixed position behavior matches that of current
2218         FireFox and Opera versions and is consistent with the spec:
2219         http://www.w3.org/TR/CSS2/visuren.html#fixed-positioning
2220         http://www.w3.org/TR/SVG/coords.html#EstablishingANewViewport
2221
2222         * rendering/RenderObject.cpp:
2223         (WebCore::RenderObject::containingBlock):
2224         (WebCore::RenderObject::container):
2225
2226 2012-06-09  Adam Barth  <abarth@webkit.org>
2227
2228         Can't use eval in iframes sanbdoxed via CSP header
2229         https://bugs.webkit.org/show_bug.cgi?id=88450
2230
2231         Reviewed by Mihai Parparita.
2232
2233         The initial empty document in a frame inherits the security context of
2234         its parent (including the CSP policy).  When we load the real document,
2235         in some cases we'll do a "secure transition" to the new document.  That
2236         means that we leave the global object in place in case the parent
2237         document has created any properties that it expects will be visible to
2238         the new document.
2239
2240         If the parent document has a CSP policy that blocks eval, the "no eval"
2241         bit will be set on the global object of the initial document.  When we
2242         perform a "secure transition" to the new document, we'll keep the bit,
2243         which is wrong.  In this patch, we reset the bit by always enabling
2244         eval when clearing the context, regardless of whether we're performing
2245         a "secure transition".
2246
2247         Test: http/tests/security/contentSecurityPolicy/iframe-inside-csp.html
2248
2249         * bindings/js/ScriptController.cpp:
2250         (WebCore::ScriptController::enableEval):
2251         (WebCore):
2252         * bindings/js/ScriptController.h:
2253         (ScriptController):
2254         * bindings/v8/ScriptController.cpp:
2255         (WebCore::ScriptController::enableEval):
2256         (WebCore):
2257         (WebCore::ScriptController::disableEval):
2258         * bindings/v8/ScriptController.h:
2259         (ScriptController):
2260         * loader/FrameLoader.cpp:
2261         (WebCore::FrameLoader::clear):
2262
2263 2012-06-09  Pablo Flouret  <pablof@motorola.com>
2264
2265         The value in Access-Control-Allow-Origin is not being matched correctly for CORS-enabled requests
2266         https://bugs.webkit.org/show_bug.cgi?id=88139
2267
2268         Reviewed by Adam Barth.
2269
2270         Compare a request's origin with the value given in any
2271         Access-Control-Allow-Origin headers in an exact, case-sensitive manner,
2272         instead of using SecurityOrigin::isSameSchemeHostPort(). Per step 3 of
2273         the resource sharing check algorithm in
2274         http://dvcs.w3.org/hg/cors/raw-file/tip/Overview.html#resource-sharing-check
2275
2276         Test: http/tests/xmlhttprequest/origin-exact-matching.html
2277
2278         * loader/CrossOriginAccessControl.cpp:
2279         (WebCore::passesAccessControlCheck):
2280
2281 2012-06-09  Huang Dongsung  <luxtella@company100.net>
2282
2283         [Qt][Texmap] All layers with backingStore are opaque when using TextureMapperGL.
2284         https://bugs.webkit.org/show_bug.cgi?id=88703
2285
2286         The bug originated from StillImage that is not override
2287         Image::currentFrameHasAlpha(), so it always returns false.
2288         StillImage is used by ImageBuffer, and if Texmap draws contents on ImageBuffer,
2289         TextureMapperBackingStore thinks contents does not have alpha.
2290
2291         Covered by existing compositing tests.
2292
2293         Reviewed by Noam Rosenthal.
2294
2295         * platform/graphics/qt/StillImageQt.cpp:
2296         (WebCore::StillImage::currentFrameHasAlpha):
2297         (WebCore):
2298         * platform/graphics/qt/StillImageQt.h:
2299         (StillImage):
2300
2301 2012-06-09  Victor Carbune  <victor@rosedu.org>
2302
2303         Basic support for timestamps within a TextTrackCue
2304         https://bugs.webkit.org/show_bug.cgi?id=88187
2305
2306         Implemented support for timestamps within a TextTrackCue.
2307         This enables rendering functionality for Karaoke and Paint-on captions.
2308
2309         Reviewed by Eric Carlson.
2310
2311         Test: media/track/track-cue-rendering-inner-timestamps.html
2312
2313         * css/mediaControls.css: Remove the background shadow pseudo-id and
2314         added two others, which can be further used for styling past / future
2315         contents of the cue.
2316         (video::-webkit-media-text-track-past-nodes): Used to style elements
2317         within the cue that are before the current movie time.
2318         (video::-webkit-media-text-track-future-nodes): Used to style elements
2319         within the cue that are after the current movie time.
2320         * html/HTMLMediaElement.cpp:
2321         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Regardless of whether
2322         the active set changed or not, the current cues need to be informed of the current
2323         movie time.
2324         * html/track/TextTrackCue.cpp:
2325         (WebCore::TextTrackCue::TextTrackCue): Initiliazed past and future containers.
2326         (WebCore::TextTrackCue::getCueAsHTML): Checked whether the current cue text has
2327         inner timestamps or not, in order to render faster if no timestamps are there.
2328         (WebCore::TextTrackCue::updateDisplayTree): Added method that keeps the past and future
2329         containers up to date, given a current movie time.
2330         (WebCore):
2331         (WebCore::TextTrackCue::getDisplayTree): Replaced the cue background container with the
2332         past cues container. The *internal* display tree of the cue now has two containers,
2333         representing past and future elements.
2334         * html/track/TextTrackCue.h: Added several variables to support the new functionality.
2335         (TextTrackCue):
2336         * html/track/WebVTTParser.cpp:
2337         (WebCore::WebVTTParser::constructTreeFromToken): Updated representation for this patch.
2338         * html/track/WebVTTParser.h:
2339         (WebVTTParser): Made public the collectTimeStamp method, as this is required for
2340         parsing timestamps within a cue as well.
2341
2342 2012-06-09  Vsevolod Vlasov  <vsevik@chromium.org>
2343
2344         Web Inspector: Open links in Sources panel by default and fallback to Resources and Network panel otherwise.
2345         https://bugs.webkit.org/show_bug.cgi?id=88710
2346
2347         Reviewed by Pavel Feldman.
2348
2349         * inspector/front-end/inspector.js:
2350         (WebInspector.documentClick.followLink):
2351         (WebInspector.documentClick):
2352         (WebInspector._showAnchorLocation):
2353
2354 2012-06-09  Vsevolod Vlasov  <vsevik@chromium.org>
2355
2356         Web Inspector: Only expand root domain in Sources/Scripts panel
2357         https://bugs.webkit.org/show_bug.cgi?id=88135
2358
2359         Reviewed by Pavel Feldman.
2360
2361         * inspector/front-end/NavigatorView.js:
2362         (WebInspector.NavigatorTreeOutline._treeElementsCompare.compare.typeWeight):
2363         (WebInspector.NavigatorTreeOutline._treeElementsCompare):
2364         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
2365
2366 2012-06-09  Vsevolod Vlasov  <vsevik@chromium.org>
2367
2368         Web Inspector: Pretty print should respect text editor indent setting.
2369         https://bugs.webkit.org/show_bug.cgi?id=88713
2370
2371         Reviewed by Pavel Feldman.
2372
2373         * inspector/front-end/ScriptFormatter.js:
2374
2375 2012-06-09  Dan Bernstein  <mitz@apple.com>
2376
2377         Fixed the build after r119895.
2378
2379         * WebCore.xcodeproj/project.pbxproj:
2380
2381 2012-06-09  Andrey Kosyakov  <caseq@chromium.org>
2382
2383         Web Inspector: [refactoring] rename TimelineVerticalOverview into TimelineFrameOverview
2384         https://bugs.webkit.org/show_bug.cgi?id=88708
2385
2386         Reviewed by Vsevolod Vlasov.
2387
2388         - rename TimelineVerticalOverview to TimelineFrameOverview;
2389         - rename associated fields, parameters, CSS classes etc;
2390         - rename overview mode designators to match the UI;
2391         - drop unused CSS rules for old-style mode selector;
2392
2393         * inspector/front-end/TimelineOverviewPane.js:
2394         (WebInspector.TimelineOverviewPane):
2395         (WebInspector.TimelineOverviewPane.prototype._showEvents):
2396         (WebInspector.TimelineOverviewPane.prototype._showFrames):
2397         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
2398         (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
2399         (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
2400         (WebInspector.TimelineOverviewPane.prototype._update):
2401         (WebInspector.TimelineOverviewPane.prototype.addFrame):
2402         (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
2403         (WebInspector.TimelineOverviewPane.prototype._reset):
2404         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
2405         (WebInspector.TimelineFrameOverview):
2406         * inspector/front-end/TimelinePanel.js:
2407         (WebInspector.TimelinePanel):
2408         (WebInspector.TimelinePanel.prototype._shouldShowFrames):
2409         (WebInspector.TimelinePanel.prototype.revealRecordAt):
2410         * inspector/front-end/timelinePanel.css:
2411         (.timeline-frame-overview #timeline-overview-grid):
2412         (.timeline-frame-overview .timeline-overview-window):
2413         (.timeline-frame-overview .timeline-overview-dividers-background):
2414         (.timeline-frame-overview #timeline-overview-memory):
2415         (.timeline-frame-overview-status-bar-item.toggled-on .glyph):
2416         (.timeline-frame-overview-bars):
2417         (.timeline.timeline-frame-overview .resources-divider):
2418         (.sidebar-tree-item .timeline-frame-overview-status-bar-item):
2419
2420 2012-06-08  Vsevolod Vlasov  <vsevik@chromium.org>
2421
2422         IndexedDB: Inspector should handle null, string, and array keyPaths
2423         https://bugs.webkit.org/show_bug.cgi?id=84303
2424
2425         Reviewed by Pavel Feldman.
2426
2427         Supported different key path types and updated tests to cover each case.
2428         Key path strings are now highlighted in the DataGrid column headers.
2429
2430         * inspector/Inspector.json:
2431         * inspector/InspectorIndexedDBAgent.cpp:
2432         (WebCore):
2433         * inspector/front-end/IndexedDBModel.js:
2434         (WebInspector.IndexedDBModel.idbKeyPathFromKeyPath):
2435         (WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath):
2436         (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
2437         (WebInspector.IndexedDBModel.prototype._loadDatabase):
2438         (WebInspector.IndexedDBModel.ObjectStore.prototype.get keyPathString):
2439         (WebInspector.IndexedDBModel.Index.prototype.get keyPathString):
2440         * inspector/front-end/IndexedDBViews.js:
2441         (WebInspector.IDBDataView.prototype._createDataGrid):
2442         (WebInspector.IDBDataView.prototype._keyColumnHeaderFragment):
2443         (WebInspector.IDBDataView.prototype._keyPathStringFragment):
2444         (WebInspector.IDBDataGridNode.prototype.createCell):
2445         * inspector/front-end/ResourcesPanel.js:
2446         (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip):
2447         (WebInspector.IDBIndexTreeElement.prototype._updateTooltip):
2448
2449 2012-06-08  Vsevolod Vlasov  <vsevik@chromium.org>
2450
2451         Web Inspector: Increase size limits for resource content cached in InspectorResourceAgent.
2452         https://bugs.webkit.org/show_bug.cgi?id=88674
2453
2454         Reviewed by Pavel Feldman.
2455
2456         * inspector/NetworkResourcesData.cpp:
2457
2458 2012-05-25  Vsevolod Vlasov  <vsevik@chromium.org>
2459
2460         Web Inspector: Limit DebuggerAgent.Location use to DebuggerModel only, introduce WebInspector.RawLocation to be used elsewhere.
2461         https://bugs.webkit.org/show_bug.cgi?id=87270
2462
2463         Reviewed by Pavel Feldman.
2464
2465         Introduced WebInspector.RawLocation interface, a generic raw location independent from concrete domain (Styles, Debugger).
2466         Made WebInspector.DebuggerModel.Location implement it and switched all debugger related methods to it.
2467
2468         * inspector/front-end/BreakpointManager.js:
2469         (WebInspector.BreakpointManager.prototype._breakpointResolved):
2470         * inspector/front-end/CompilerScriptMapping.js:
2471         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2472         * inspector/front-end/DebuggerModel.js:
2473         (WebInspector.DebuggerModel.Location):
2474         (WebInspector.DebuggerModel.prototype.continueToLocation):
2475         (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
2476         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
2477         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2478         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2479         (WebInspector.DebuggerModel.prototype._breakpointResolved):
2480         (WebInspector.DebuggerModel.prototype.createRawLocation):
2481         (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
2482         (WebInspector.DebuggerModel.prototype.setSelectedCallFrame):
2483         (WebInspector.DebuggerModel.prototype.createLiveLocation):
2484         (WebInspector.DebuggerModel.CallFrame.prototype.get location):
2485         (WebInspector.DebuggerModel.CallFrame.prototype.createLiveLocation):
2486         * inspector/front-end/DebuggerResourceBinding.js:
2487         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
2488         (WebInspector.DebuggerResourceBinding.setScriptSource):
2489         (WebInspector.DebuggerResourceBinding.prototype.setContent.get if):
2490         (WebInspector.DebuggerResourceBinding.prototype.setContent):
2491         (WebInspector.DebuggerResourceBinding.prototype._setContentWithInitialContent):
2492         * inspector/front-end/JavaScriptSource.js:
2493         (WebInspector.JavaScriptSource.prototype.uiLocationToRawLocation):
2494         * inspector/front-end/Linkifier.js:
2495         * inspector/front-end/ObjectPopoverHelper.js:
2496         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
2497         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
2498         * inspector/front-end/PresentationConsoleMessageHelper.js:
2499         * inspector/front-end/RawSourceCode.js:
2500         * inspector/front-end/ResourceScriptMapping.js:
2501         (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
2502         * inspector/front-end/Script.js:
2503         (WebInspector.Script.prototype.rawLocationToUILocation):
2504         * inspector/front-end/ScriptSnippetModel.js:
2505         (WebInspector.SnippetScriptMapping.prototype.rawLocationToUILocation):
2506         * inspector/front-end/SourceMapping.js:
2507         * inspector/front-end/UISourceCode.js:
2508         (WebInspector.RawLocation):
2509
2510 2012-06-09  Eugene Klyuchnikov  <eustas.bug@gmail.com>
2511
2512         Web Inspector: Add message loop instrumentation to public API and timeline agent
2513         https://bugs.webkit.org/show_bug.cgi?id=88639
2514
2515         Reviewed by Vsevolod Vlasov.
2516
2517         Message loop instrumentation will show when the render thread is busy.
2518         That way developer can discover if a render thread business causes low fps, or not.
2519
2520         * inspector/InspectorClient.h:
2521         (WebCore::InspectorClient::startMessageLoopMonitoring): Starts observer.
2522         (WebCore::InspectorClient::stopMessageLoopMonitoring): Stops observer.
2523         * inspector/InspectorController.cpp:
2524         (WebCore::InspectorController::InspectorController):
2525         Changed timeline agent constructor parameters.
2526         * inspector/InspectorInstrumentation.cpp:
2527         (WebCore::InspectorInstrumentation::willProcessTaskImpl):
2528         Forwards observer notification.
2529         (WebCore):
2530         (WebCore::InspectorInstrumentation::didProcessTaskImpl):
2531         Ditto.
2532         * inspector/InspectorInstrumentation.h:
2533         (InspectorInstrumentation):
2534         (WebCore::InspectorInstrumentation::willProcessTask):
2535         Ditto.
2536         (WebCore):
2537         (WebCore::InspectorInstrumentation::didProcessTask):
2538         Ditto.
2539         * inspector/InspectorTimelineAgent.cpp:
2540         (WebCore::InspectorTimelineAgent::start):
2541         Starts observer.
2542         (WebCore::InspectorTimelineAgent::stop):
2543         Stops observer.
2544         (WebCore::InspectorTimelineAgent::supportsFrameInstrumentation):
2545         Changed result origin.
2546         (WebCore::InspectorTimelineAgent::willProcessTask):
2547         Noop implementqation.
2548         (WebCore):
2549         (WebCore::InspectorTimelineAgent::didProcessTask):
2550         Noop implementqation.
2551         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2552         Changed constructor parameters.
2553         * inspector/InspectorTimelineAgent.h:
2554         (WebCore::InspectorTimelineAgent::create):
2555         Ditto.
2556         (InspectorTimelineAgent):
2557         * inspector/WorkerInspectorController.cpp:
2558         (WebCore::WorkerInspectorController::WorkerInspectorController):
2559         Changed timeline agent constructor parameters.
2560
2561 2012-06-08  Andrey Kosyakov  <caseq@chromium.org>
2562
2563         Web Inspector: optimize timeline's frame mode overview appearance for 30fps
2564         https://bugs.webkit.org/show_bug.cgi?id=88556
2565
2566         Reviewed by Vsevolod Vlasov.
2567
2568         - adjust frame overview scale to 30fps == full height by default;
2569         - provide a fall-back auto-scale mode when median frame is longer than 1/30s;
2570         - add horizontal lines for 30 and 60fps;
2571         - drive-by fix: always use same order of categories in frame bars.
2572
2573         * inspector/front-end/TimelineOverviewPane.js:
2574         (WebInspector.TimelineVerticalOverview.prototype.update):
2575         (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
2576         (WebInspector.TimelineVerticalOverview.prototype._renderBars):
2577         (WebInspector.TimelineVerticalOverview.prototype._drawFPSMarks):
2578         (WebInspector.TimelineVerticalOverview.prototype._renderBar):
2579
2580
2581 2012-06-09  Sukolsak Sakshuwong  <sukolsak@google.com>
2582
2583         Add UNDO_MANAGER flag
2584         https://bugs.webkit.org/show_bug.cgi?id=87908
2585
2586         Reviewed by Tony Chang.
2587
2588         Add undoManager property to document behind the UNDO_MANAGER flag and
2589         add placeholders for some methods of undoManager.
2590
2591         Test: editing/undomanager/document-has-undomanager.html
2592
2593         * CMakeLists.txt:
2594         * Configurations/FeatureDefines.xcconfig:
2595         * DerivedSources.cpp:
2596         * DerivedSources.make:
2597         * DerivedSources.pri:
2598         * GNUmakefile.am:
2599         * GNUmakefile.list.am:
2600         * WebCore.gypi:
2601         * WebCore.xcodeproj/project.pbxproj:
2602         * dom/Document.cpp:
2603         (WebCore::Document::Document):
2604         (WebCore):
2605         (WebCore::Document::undoManager):
2606         * dom/Document.h:
2607         (WebCore):
2608         (Document):
2609         * dom/Document.idl:
2610         * editing/UndoManager.cpp: Added.
2611         (WebCore):
2612         (WebCore::UndoManager::create):
2613         (WebCore::UndoManager::UndoManager):
2614         (WebCore::UndoManager::undo):
2615         (WebCore::UndoManager::redo):
2616         (WebCore::UndoManager::clearUndo):
2617         (WebCore::UndoManager::clearRedo):
2618         * editing/UndoManager.h: Added.
2619         (WebCore):
2620         (UndoManager):
2621         * editing/UndoManager.idl: Added.
2622
2623 2012-06-08  Levi Weintraub  <leviw@chromium.org>
2624
2625         RenderLayer::paintChildLayerIntoColumns doesn't properly pixel snap
2626         https://bugs.webkit.org/show_bug.cgi?id=88554
2627
2628         Reviewed by Darin Adler.
2629
2630         Column handling code in RenderLayer and RenderBlock was improperly clipping and translating
2631         using floats derived from FractionalLayoutUnits without pixel snapping. RenderLayer also
2632         improperly stored render tree offsets in ints instead of LayoutUnits. This corrects this
2633         issue.
2634
2635         Test: fast/sub-pixel/column-clipping.html
2636
2637         * rendering/RenderBlock.cpp:
2638         (WebCore::RenderBlock::paintColumnContents):
2639         * rendering/RenderLayer.cpp:
2640         (WebCore::RenderLayer::paintChildLayerIntoColumns):
2641
2642 2012-06-08  Rakesh KN  <rakesh.kn@motorola.com>
2643
2644         REGRESSION(r116487?): HTMLFormElement::elements['name'] is empty if the form is detached from the document tree
2645         https://bugs.webkit.org/show_bug.cgi?id=88632
2646
2647         Reviewed by Ryosuke Niwa.
2648
2649         Update root node of RadioNodeList when the form element is detached from dom tree.
2650
2651         Test: fast/forms/radionodelist-whose-form-element-detached-from-domtree.html
2652
2653         * dom/Node.cpp:
2654         (WebCore::Node::resetCachedRadioNodeListRootNode):
2655         New function to update the root node of RadioNodeLists to form element from document.
2656         * dom/Node.h: Ditto.
2657         * html/HTMLFormElement.cpp:
2658         (WebCore::HTMLFormElement::removedFrom):
2659         On detach, we update the root node of all RadioNodeLists of this form element.
2660         * html/RadioNodeList.cpp:
2661         (WebCore::RadioNodeList::setRootElement):
2662         Setter for updating root node.
2663         * html/RadioNodeList.h:
2664         (RadioNodeList): Ditto.
2665
2666 2012-06-08  David Reveman  <reveman@chromium.org>
2667
2668         [Chromium] Compositor doesn't support translucent root layers.
2669         https://bugs.webkit.org/show_bug.cgi?id=87821
2670
2671         Reviewed by James Robinson.
2672
2673         Forward the isTransparent WebView setting to WebLayerTreeView,
2674         CCLayerTreeHost and CCLayerTreeHostImpl as hasTransparentBackground.
2675         Use hasTransparentBackground setting to determine how to clear the
2676         root render pass and draw the background. Set opaque flag correctly
2677         on the NonCompositedContentHost's graphics layer to make sure
2678         sub-pixel rendering is not used with a transparent WebView.
2679
2680         Unit tests: CCLayerTreeHostImplTest.hasTransparentBackground
2681                     LayerRendererChromiumTest2.opaqueRenderPass
2682                     LayerRendererChromiumTest2.transparentRenderPass
2683
2684         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
2685         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
2686         * platform/graphics/chromium/LayerRendererChromium.cpp:
2687         (WebCore::LayerRendererChromium::clearRenderPass):
2688         (WebCore::LayerRendererChromium::drawRenderPass):
2689         (WebCore::LayerRendererChromium::drawBackgroundFilters):
2690         * platform/graphics/chromium/LayerRendererChromium.h:
2691         (LayerRendererChromium):
2692         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
2693         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
2694         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2695         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2696         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2697         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2698         (WebCore::CCLayerTreeHost::setHasTransparentBackground):
2699         (CCLayerTreeHost):
2700         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2701         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2702         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2703         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2704         (WebCore::CCLayerTreeHostImpl::hasTransparentBackground):
2705         (WebCore::CCLayerTreeHostImpl::setHasTransparentBackground):
2706         (CCLayerTreeHostImpl):
2707         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2708         (WebCore::CCRenderPass::CCRenderPass):
2709         * platform/graphics/chromium/cc/CCRenderPass.h:
2710         (WebCore::CCRenderPass::hasTransparentBackground):
2711         (WebCore::CCRenderPass::setHasTransparentBackground):
2712         (CCRenderPass):
2713
2714 2012-06-08  Ian Vollick  <vollick@chromium.org>
2715
2716         [chromium] Single thread proxy's animation timer should short circuit if the layer renderer has not been initialized
2717         https://bugs.webkit.org/show_bug.cgi?id=88668
2718
2719         Reviewed by James Robinson.
2720
2721         Unit test: CCSingleThreadProxyTestDidAddAnimationBeforeInitializingLayerRenderer.runSingleThreaded
2722
2723         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2724         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2725
2726 2012-06-08  Shezan Baig  <shezbaig.wk@gmail.com>
2727
2728         Caret is not rendered in empty inline contenteditable elements
2729         https://bugs.webkit.org/show_bug.cgi?id=85793
2730
2731         Reviewed by Ryosuke Niwa.
2732
2733         Override localCaretRect in RenderInline. The implementation was almost
2734         identical to localCaretRect in RenderBlock for empty block elements, so
2735         I refactored RenderBlock::localCaretRect and moved the logic to a new
2736         method 'localCaretRectForEmptyElement' in RenderBoxModelObject. The
2737         implementation of 'localCaretRect' in RenderBlock and RenderInline both
2738         use this helper method in RenderBoxModelObject.
2739
2740         Tests: editing/selection/caret-in-empty-inline-1.html
2741                editing/selection/caret-in-empty-inline-2.html
2742
2743         * rendering/RenderBlock.cpp:
2744         (WebCore::RenderBlock::localCaretRect):
2745         Modified to use RenderBoxModelObject::localCaretRectForEmptyElement.
2746         * rendering/RenderBoxModelObject.cpp:
2747         (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
2748         (WebCore):
2749         * rendering/RenderBoxModelObject.h:
2750         (RenderBoxModelObject):
2751         Add localCaretRectForEmptyElement helper method.
2752         * rendering/RenderInline.cpp:
2753         (WebCore::RenderInline::localCaretRect):
2754         (WebCore):
2755         * rendering/RenderInline.h:
2756         (RenderInline):
2757         Override localCaretRect using localCaretRectForEmptyElement.
2758
2759 2012-06-08  Mike West  <mkwst@chromium.org>
2760
2761         Treat blob: and filesystem: URLs generated via secure origins as secure.
2762         https://bugs.webkit.org/show_bug.cgi?id=84054
2763
2764         Loading a blob: or filesystem: URL into an iframe or image that's
2765         contained on an HTTPS page shouldn't generate a mixed content warning.
2766         This change adds a SecurityOrigin::isSecure to check both against a
2767         URLs protocol, and the protocol of it's so-called "inner URL" if it's
2768         the type of URL that has such a thing. These sorts of URLs which are
2769         generated from secure sources will themselves be treated as secure.
2770
2771         Reviewed by Adam Barth.
2772
2773         Tests: http/tests/security/mixedContent/blob-url-in-iframe.html
2774                http/tests/security/mixedContent/filesystem-url-in-iframe.html
2775
2776         * loader/FrameLoader.cpp:
2777         (WebCore::FrameLoader::isMixedContent):
2778         * page/SecurityOrigin.cpp:
2779         (WebCore):
2780         (WebCore::SecurityOrigin::isSecure):
2781         * page/SecurityOrigin.h:
2782         (SecurityOrigin):
2783
2784 2012-06-08  Martin Robinson  <mrobinson@igalia.com>
2785
2786         [Cairo] [TextureMapperGL] Nvidia card does not update WebGL texture when interacting with canvas
2787         https://bugs.webkit.org/show_bug.cgi?id=87797
2788
2789         Reviewed by Philippe Normand.
2790
2791         No new tests. WebGL is already covered by WebGL tests and this
2792         bug is only present on certain hardware.
2793
2794         After resolving multisampling before drawing the texture via the
2795         TextureMapper, first rebind the multisampling framebuffer. This ensures
2796         that the texture isn't active in two framebuffers at a time.
2797
2798         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
2799         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): Rebind the multisampling
2800         framebuffer.
2801
2802 2012-06-08  Alexey Proskuryakov  <ap@apple.com>
2803
2804         <rdar://problem/11412294> Add appropriate iOS default font settings
2805
2806         Reviewed by Dan Bernstein.
2807
2808         * page/mac/SettingsMac.mm: (WebCore::Settings::initializeDefaultFontFamilies):
2809
2810 2012-06-08  Charles Wei  <charles.wei@torchmobile.com.cn>
2811
2812         IndexedDB: Transactions without any request scheduled should abort itself.
2813         https://bugs.webkit.org/show_bug.cgi?id=88052
2814
2815         Reviewed by Kentaro Hara.
2816
2817         This is needed for indexedDB to make it work for JSC. We need to clean up all the
2818         pending transactions(transactions without any request scheduled) when leaving Javascript context.
2819
2820         Manually tested using the existing test LayoutTests/storage/indexeddb/tutorial.html
2821
2822         * bindings/js/JSMainThreadExecState.cpp:
2823         (WebCore):
2824         (WebCore::JSMainThreadExecState::didLeaveScriptContext):
2825         * bindings/js/JSMainThreadExecState.h:
2826         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
2827         (JSMainThreadExecState):
2828
2829 2012-06-08  Ryosuke Niwa  <rniwa@webkit.org>
2830
2831         Crash in WebCore::CompositeEditCommand::breakOutOfEmptyListItem
2832         https://bugs.webkit.org/show_bug.cgi?id=88361
2833
2834         Reviewed by Levi Weintraub.
2835
2836         Use RefPtr instead of raw pointers across DOM mutations.
2837
2838         No tests are added for the lack of a reliable reduction.
2839
2840         * editing/CompositeEditCommand.cpp:
2841         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
2842
2843 2012-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2844
2845         Unreviewed, rolling out r119514.
2846         http://trac.webkit.org/changeset/119514
2847         https://bugs.webkit.org/show_bug.cgi?id=88664
2848
2849         Broke JSFiddle.net (Requested by arv on #webkit).
2850
2851         * bindings/v8/V8DOMWindowShell.cpp:
2852         (WebCore::V8DOMWindowShell::initContextIfNeeded):
2853         * bindings/v8/WorkerContextExecutionProxy.cpp:
2854         (WebCore::WorkerContextExecutionProxy::initIsolate):
2855
2856 2012-06-08  Ryosuke Niwa  <rniwa@webkit.org>
2857
2858         Crash in WebCore::InsertParagraphSeparatorCommand::doApply
2859         https://bugs.webkit.org/show_bug.cgi?id=88108
2860
2861         Reviewed by Levi Weintraub.
2862
2863         Use NodeVector instead of walking through siblings as we mutate the DOM.
2864
2865         No new tests are added since there is no reliable reduction.
2866
2867         * editing/BreakBlockquoteCommand.cpp:
2868         (WebCore::BreakBlockquoteCommand::doApply):
2869         * editing/CompositeEditCommand.cpp:
2870         (WebCore::CompositeEditCommand::moveRemainingSiblingsToNewParent):
2871         (WebCore):
2872         * editing/CompositeEditCommand.h:
2873         (CompositeEditCommand):
2874         * editing/InsertParagraphSeparatorCommand.cpp:
2875         (WebCore::InsertParagraphSeparatorCommand::doApply):
2876
2877 2012-06-08  David Grogan  <dgrogan@chromium.org>
2878
2879         IndexedDB: rename some instances of open to registerFrontendCallbacks
2880         https://bugs.webkit.org/show_bug.cgi?id=88611
2881
2882         We should still make the change in the WebKit API.
2883
2884         Reviewed by Tony Chang.
2885
2886         No new tests, just a method rename.
2887
2888         * Modules/indexeddb/IDBDatabase.cpp:
2889         (WebCore::IDBDatabase::registerFrontendCallbacks):
2890         * Modules/indexeddb/IDBDatabase.h:
2891         (IDBDatabase):
2892         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2893         (WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
2894         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2895         (IDBDatabaseBackendImpl):
2896         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
2897         (IDBDatabaseBackendInterface):
2898         * Modules/indexeddb/IDBRequest.cpp:
2899         (WebCore::IDBRequest::onSuccess):
2900
2901 2012-06-08  Dana Jansens  <danakj@chromium.org>
2902
2903         [chromium] Skip willDraw() and didDraw() on fully occluded layers
2904         https://bugs.webkit.org/show_bug.cgi?id=88435
2905
2906         Reviewed by Adrienne Walker.
2907
2908         Current willDraw() is called on all layers with non-empty
2909         visibleLayerRect and non-empty scissorRect. This excludes
2910         layers outside the viewport, but does not exclude occluded
2911         layers. We add a check for occlusion to calculateRenderPasses
2912         in order to avoid willDraw() when it will be culled anyway.
2913
2914         We prevent didDraw() from being called for occluded layers, for
2915         which we did not call didDraw() by holding a vector of layers
2916         for which we did call willDraw(). This lets us avoid storing a
2917         flag on the layers, or computing occlusion again in
2918         didDrawAllLayers.
2919
2920         Unit test: CCLayerTreeHostImplTest.willDrawNotCalledOnOccludedLayer
2921
2922         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2923         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2924         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2925         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
2926         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2927         (FrameData):
2928         (CCLayerTreeHostImpl):
2929
2930 2012-06-08  Antonio Gomes  <agomes@rim.com>
2931
2932         EventHandler shouldn't schedule the fake mousemove event timer when scrolling on devices that don't have a mouse
2933         https://bugs.webkit.org/show_bug.cgi?id=88379
2934
2935         Reviewed by James Robinson.
2936
2937         Paraphrasing Andy Estes:
2938         "In <http://trac.webkit.org/changeset/119465> we stopped dispatching fake
2939         mousemove events when scrolling on devices that don't support mice. This event
2940         is dispatched on a timer, so one better would be to not even schedule the
2941         timer (rather than scheduling the timer but making it a no-op).
2942
2943         No new tests, as no functionality has changed. We basically do not
2944         start a timer under a given circumstance instead of fire it, it times out,
2945         and we make the callback no-op when under the given circumstance.
2946
2947         It is still possible though that we have the following scenario:
2948         - Setting::deviceSupportsMouse set as true;
2949         - we fire the timer;
2950         - before its callback gets executed (timed out) the setting gets toggled.
2951         So for sakeness, lets keep the check in both places.
2952
2953         * page/EventHandler.cpp:
2954         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
2955         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
2956
2957 2012-06-08  James Robinson  <jamesr@chromium.org>
2958
2959         [chromium] Clean up some unnecessary LayerChromium.h includes
2960         https://bugs.webkit.org/show_bug.cgi?id=88599
2961
2962         Reviewed by Adam Barth.
2963
2964         Reworks test code slightly to use WebCore interfaces.
2965
2966         * testing/Internals.cpp:
2967         (WebCore::Internals::setBackgroundBlurOnNode):
2968
2969 2012-06-08  Erik Arvidsson  <arv@chromium.org>
2970
2971         [V8] Keep TextTrackList alive as long as its owner is alive
2972         https://bugs.webkit.org/show_bug.cgi?id=88541
2973
2974         Reviewed by Adam Barth.
2975
2976         Add a hidden reference from the owner to the text track list.
2977
2978         Covered by existing tests.
2979
2980         * Target.pri: Add V8TextTrackListCustom.cpp.
2981         * UseV8.cmake: Ditto.
2982         * WebCore.gypi: Ditto.
2983         * bindings/v8/V8HiddenPropertyName.h:
2984         (WebCore):
2985         * bindings/v8/custom/V8TextTrackListCustom.cpp: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
2986         (WebCore):
2987         (WebCore::toV8): When the wrapper is created add a reference to the owner of the TextTrackList to the TextTrackList.
2988         * html/track/TextTrackList.idl:
2989
2990 2012-06-08  Ian Vollick  <vollick@chromium.org>
2991
2992         [chromium] Accelerated animations should use WebTransformOperations
2993         https://bugs.webkit.org/show_bug.cgi?id=87686
2994
2995         Reviewed by James Robinson.
2996
2997         CCTransformKeyframe new owns a WebTransformOperations rather than a
2998         TransformOperations. LayerChromium's API has been changed so that
2999         LayerChromium::addAnimation should take only a CCActiveAnimation.
3000         GraphicsLayerChromium is new responsible for translating to
3001         WebTransformOperations and creating CCActiveAnimations. Tests that use
3002         the public API (that is, they call addAnimation with KeyframeValueList
3003         and Animation arguments) have been moved to GraphicsLayerChromiumTest.
3004
3005          Unit tests:
3006             GraphicsLayerChromiumTest.createOpacityAnimation
3007             GraphicsLayerChromiumTest.createTransformAnimation
3008             GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation
3009             GraphicsLayerChromiumTest.createTransformAnimationWithSingularMatrix
3010             GraphicsLayerChromiumTest.createReversedAnimation
3011             GraphicsLayerChromiumTest.createAlternatingAnimation
3012             GraphicsLayerChromiumTest.createReversedAlternatingAnimation
3013
3014         * WebCore.gypi:
3015         * platform/graphics/chromium/AnimationTranslationUtil.cpp: Added.
3016         (WebCore):
3017         (WebCore::toWebTransformOperations):
3018         (WebCore::appendKeyframe):
3019         (WebCore::CCKeyframedTransformAnimationCurve):
3020         (WebCore::createActiveAnimation):
3021         * platform/graphics/chromium/AnimationTranslationUtil.h: Added.
3022         (WebCore):
3023         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3024         (WebCore::GraphicsLayerChromium::addAnimation):
3025         * platform/graphics/chromium/LayerChromium.cpp:
3026         (WebCore::LayerChromium::addAnimation):
3027         * platform/graphics/chromium/LayerChromium.h:
3028         (WebCore):
3029         (WebCore::LayerChromium::bounds):
3030         (LayerChromium):
3031         * platform/graphics/chromium/LinkHighlight.cpp:
3032         (WebCore::LinkHighlight::LinkHighlight):
3033         * platform/graphics/chromium/cc/CCAnimationCurve.h:
3034         (CCTransformAnimationCurve):
3035         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
3036         (WebCore::CCTransformKeyframe::create):
3037         (WebCore::CCTransformKeyframe::CCTransformKeyframe):
3038         (WebCore::CCTransformKeyframe::value):
3039         (WebCore::CCTransformKeyframe::clone):
3040         (WebCore::CCKeyframedTransformAnimationCurve::getValue):
3041         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
3042         (CCTransformKeyframe):
3043         (CCKeyframedTransformAnimationCurve):
3044         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3045         (WebCore::CCLayerAnimationController::removeAnimation):
3046         (WebCore):
3047         (WebCore::CCLayerAnimationController::addAnimation):
3048         (WebCore::CCLayerAnimationController::getActiveAnimation):
3049         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
3050         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
3051         (WebCore::CCLayerAnimationController::tickAnimations):
3052         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
3053         (CCLayerAnimationControllerClient):
3054         (CCLayerAnimationController):
3055         * platform/graphics/chromium/cc/CCLayerImpl.h:
3056         (WebCore::CCLayerImpl::bounds):
3057
3058 2012-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
3059
3060         [Texmap] Accelerated versions of drop-shadow and blur filters
3061         https://bugs.webkit.org/show_bug.cgi?id=87695
3062
3063         Reviewed by Kenneth Rohde Christiansen.
3064
3065         Added shaders for blur and drop-shadow effects.
3066         The shaders use sampling of multiple coordinates and averaging them with normal-
3067         distribution to create a fast gaussian blur effect.
3068
3069         Covered by existing tests in css3/filters.
3070
3071         * platform/graphics/texmap/TextureMapperGL.cpp:
3072         (WebCore::TextureMapperGL::drawFiltered):
3073             Call the prepare function explicitly, with a size argument that's used to calculate
3074             some of the uniform values.
3075
3076         * platform/graphics/texmap/TextureMapperLayer.cpp:
3077         (WebCore::TextureMapperLayer::intermediateSurfaceRect):
3078             The outsets of the effect have to be considered when calculating the intermediate rect.
3079             Otherwise the resulting image is scaled instead of outsetted.
3080
3081         (WebCore::applyFilters):
3082         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
3083         (WebCore::StandardFilterProgram::StandardFilterProgram):
3084             Added the new shaders.
3085
3086         (WebCore::StandardFilterProgram::prepare):
3087         (WebCore::TextureMapperShaderManager::getShaderForFilter):
3088         * platform/graphics/texmap/TextureMapperShaderManager.h:
3089         (StandardFilterProgram):
3090
3091 2012-06-08  Dan Bernstein  <mitz@apple.com>
3092
3093         Tried to fix the build after r119844.
3094
3095         * bindings/js/GCController.cpp:
3096         (WebCore::GCController::discardAllCompiledCode):
3097
3098 2012-06-08  Mike West  <mkwst@chromium.org>
3099
3100         Add COMPILE_ASSERT to StyledElement to ensure it doesn't accidentally grow larger.
3101         https://bugs.webkit.org/show_bug.cgi?id=88627
3102
3103         Reviewed by Adam Barth.
3104
3105         No change in user-facing behavior.
3106
3107         * dom/StyledElement.cpp:
3108         (WebCore):
3109
3110 2012-06-08  Vsevolod Vlasov  <vsevik@chromium.org>
3111
3112         Web Inspector: Fix several compiler warnings and errors.
3113         https://bugs.webkit.org/show_bug.cgi?id=88660
3114
3115         Reviewed by Pavel Feldman.
3116
3117         Fixed several compiler warnings and errors.
3118         Removed isEmpty method from Object.prototype and made it static method on Object.
3119
3120         * inspector/InjectedScriptExterns.js:
3121         * inspector/front-end/FileSystemModel.js:
3122         (WebInspector.FileSystemModel.prototype._detachFrame):
3123         * inspector/front-end/HeapSnapshot.js:
3124         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
3125         * inspector/front-end/utilities.js:
3126         (Object.isEmpty):
3127
3128 2012-06-08  Max Feil  <mfeil@rim.com>
3129
3130         [BlackBerry] Fix assertion failure introduced by bug 87551
3131         https://bugs.webkit.org/show_bug.cgi?id=88659
3132
3133         Reviewed by Antonio Gomes.
3134
3135         The determineRenderSlider() convenience function added in bug
3136         87551 made an assumption that wasn't always true. This didn't
3137         cause a functional error but it caused an assertion failure,
3138         which indicates a problem with the code. PR164142.
3139
3140         No new tests because this case is already covered by ASSERT's.
3141
3142         * platform/blackberry/RenderThemeBlackBerry.cpp:
3143         (WebCore::determineRenderSlider):
3144
3145 2012-06-08  Ion Rosca  <rosca@adobe.com>
3146
3147         Some overlay scrollbar API calls in ScrollAnimatorMac can lead to an assertion in RenderBox::mapAbsoluteToLocalPoint
3148         https://bugs.webkit.org/show_bug.cgi?id=74111
3149
3150         Reviewed by Simon Fraser.
3151
3152         Added zero-delay timer for AppKit scroll notification that can be called during layout.
3153         Manual test: ManualTests/scrollbar-crash-on-hide-scrolled-area.html
3154         This assertion does not fire when running layout tests. It can be easly reproduced using a debug build by loading the manual test page.
3155
3156         * platform/mac/ScrollAnimatorMac.h:
3157         (ScrollAnimatorMac):
3158         * platform/mac/ScrollAnimatorMac.mm:
3159         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3160         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
3161         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon):
3162         (WebCore):
3163         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
3164
3165 2012-06-08  Renata Hodovan  <reni@webkit.org>
3166
3167         Adding few already supported features to the FeatureSet in DOMImplementation
3168         https://bugs.webkit.org/show_bug.cgi?id=86482
3169
3170         Text, Filter and View features are already implemented but they
3171         are not added to the SVG11 feature set. This is corrected in this patch.
3172
3173         Reviewed by Nikolas Zimmermann.
3174
3175         No new testcase is needed because we already have one what checks the svg features via
3176         DOMImplementation (svg/custom/svg-features.html).
3177
3178         * dom/DOMImplementation.cpp:
3179         (WebCore::isSVG11Feature):
3180
3181 2012-06-08  Stephen Chenney  <schenney@chromium.org>
3182
3183         WebCore::ImageBuffer.cpp has broken color table code
3184         https://bugs.webkit.org/show_bug.cgi?id=80321
3185
3186         Reviewed by Dirk Schulze.
3187
3188         The code in ImageBuffer::transformColorSpace had two problems that are
3189         fixed by this patch.
3190
3191         First, it was using member variables for data
3192         that is static constant. This is incredibly wasteful, as every
3193         ImageBuffer that is created (and we make a lot of them) gets its own
3194         copy of the LUT and the table is initialized again and again. The
3195         patch replaces this with a static local, with lazy evaluation, in
3196         the method that uses the tables.
3197
3198         Second, the code for filling the table was mapping 255 to 254, thus
3199         reducing the intensity and alpha of every image it pushed through a
3200         color transform.
3201
3202         Test: svg/filters/color-space-conversion.svg
3203
3204         * platform/graphics/ImageBuffer.cpp:
3205         (WebCore::ImageBuffer::transformColorSpace):
3206         * platform/graphics/ImageBuffer.h:
3207         (ImageBuffer):
3208
3209 2012-06-08  Alexei Filippov  <alexeif@chromium.org>
3210
3211         Web Inspector: Better labels positioning on the memory pie chart
3212         https://bugs.webkit.org/show_bug.cgi?id=88652
3213
3214         Reviewed by Vsevolod Vlasov.
3215
3216         * inspector/front-end/NativeMemorySnapshotView.js:
3217         (WebInspector.NativeMemoryPieChart.prototype._paint.paintPercentAndLabel):
3218         (WebInspector.NativeMemoryPieChart.prototype._paint):
3219
3220 2012-06-08  Bryan McQuade  <bmcquade@google.com>
3221
3222         Web Inspector: Annotate timeline records with a frame identifier
3223         https://bugs.webkit.org/show_bug.cgi?id=86406
3224
3225         Reviewed by Vsevolod Vlasov.
3226
3227         Tests: Updated existing layout tests.
3228
3229         * inspector/InspectorController.cpp:
3230         (WebCore::InspectorController::InspectorController):
3231         * inspector/InspectorInstrumentation.cpp:
3232         (WebCore::frameForScriptExecutionContext):
3233         (WebCore):
3234         (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
3235         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
3236         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
3237         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
3238         (WebCore::InspectorInstrumentation::willChangeXHRReadyStateImpl):
3239         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
3240         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
3241         (WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
3242         (WebCore::InspectorInstrumentation::willFireTimerImpl):
3243         (WebCore::InspectorInstrumentation::willLayoutImpl):
3244         (WebCore::InspectorInstrumentation::willLoadXHRImpl):
3245         (WebCore::InspectorInstrumentation::willPaintImpl):
3246         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
3247         (WebCore::InspectorInstrumentation::willSendRequestImpl):
3248         (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
3249         (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
3250         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
3251         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
3252         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
3253         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
3254         (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
3255         (WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl):
3256         (WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl):
3257         (WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
3258         * inspector/InspectorInstrumentation.h:
3259         (InspectorInstrumentation):
3260         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
3261         (WebCore::InspectorInstrumentation::didInstallTimer):
3262         (WebCore::InspectorInstrumentation::didRemoveTimer):
3263         (WebCore::InspectorInstrumentation::willCallFunction):
3264         (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
3265         (WebCore::InspectorInstrumentation::willDispatchEvent):
3266         (WebCore::InspectorInstrumentation::willEvaluateScript):
3267         (WebCore::InspectorInstrumentation::willFireTimer):
3268         (WebCore::InspectorInstrumentation::willLayout):
3269         (WebCore::InspectorInstrumentation::willLoadXHR):
3270         (WebCore::InspectorInstrumentation::willPaint):
3271         (WebCore::InspectorInstrumentation::willRecalculateStyle):
3272         (WebCore::InspectorInstrumentation::willReceiveResourceData):
3273         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
3274         (WebCore::InspectorInstrumentation::willWriteHTML):
3275         (WebCore::InspectorInstrumentation::didRequestAnimationFrame):
3276         (WebCore::InspectorInstrumentation::didCancelAnimationFrame):
3277         (WebCore::InspectorInstrumentation::willFireAnimationFrame):
3278         * inspector/InspectorTimelineAgent.cpp:
3279         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
3280         (WebCore::InspectorTimelineAgent::didBeginFrame):
3281         (WebCore::InspectorTimelineAgent::willCallFunction):
3282         (WebCore::InspectorTimelineAgent::willDispatchEvent):
3283         (WebCore::InspectorTimelineAgent::willLayout):
3284         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
3285         (WebCore::InspectorTimelineAgent::willPaint):
3286         (WebCore::InspectorTimelineAgent::willComposite):
3287         (WebCore::InspectorTimelineAgent::willWriteHTML):
3288         (WebCore::InspectorTimelineAgent::didInstallTimer):
3289         (WebCore::InspectorTimelineAgent::didRemoveTimer):
3290         (WebCore::InspectorTimelineAgent::willFireTimer):
3291         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
3292         (WebCore::InspectorTimelineAgent::willLoadXHR):
3293         (WebCore::InspectorTimelineAgent::willEvaluateScript):
3294         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
3295         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
3296         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
3297         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
3298         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
3299         (WebCore::InspectorTimelineAgent::didTimeStamp):
3300         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
3301         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
3302         (WebCore::InspectorTimelineAgent::didRequestAnimationFrame):
3303         (WebCore::InspectorTimelineAgent::didCancelAnimationFrame):
3304         (WebCore::InspectorTimelineAgent::willFireAnimationFrame):
3305         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
3306         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
3307         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
3308         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3309         (WebCore::InspectorTimelineAgent::appendRecord):
3310         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
3311         (WebCore::InspectorTimelineAgent::pushCancelableRecord):
3312         (WebCore::InspectorTimelineAgent::commitCancelableRecords):
3313         * inspector/InspectorTimelineAgent.h:
3314         (WebCore):
3315         (WebCore::InspectorTimelineAgent::create):
3316         (InspectorTimelineAgent):
3317         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
3318         (TimelineRecordEntry):
3319         * inspector/WorkerInspectorController.cpp:
3320         (WebCore::WorkerInspectorController::WorkerInspectorController):
3321         * inspector/front-end/TimelinePresentationModel.js:
3322         (WebInspector.TimelinePresentationModel.isEventDivider):
3323         (WebInspector.TimelinePresentationModel.Record):
3324
3325 2012-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3326
3327         Unreviewed, rolling out r119821.
3328         http://trac.webkit.org/changeset/119821
3329         https://bugs.webkit.org/show_bug.cgi?id=88648
3330
3331         Seems to have regression on Mac (Requested by kinuko on
3332         #webkit).
3333
3334         * fileapi/File.cpp:
3335         (WebCore::File::File):
3336         (WebCore::File::lastModifiedDate):
3337         (WebCore::File::lastModifiedDateForBinding):
3338         (WebCore):
3339         (WebCore::File::captureSnapshot):
3340         * fileapi/File.h:
3341         (File):
3342         * fileapi/File.idl:
3343         * platform/FileMetadata.h:
3344         (WebCore::FileMetadata::FileMetadata):
3345         * platform/FileSystem.h:
3346         * platform/chromium/support/WebHTTPBody.cpp:
3347         (WebKit::WebHTTPBody::elementAt):
3348         * platform/network/BlobData.cpp:
3349         (WebCore):
3350         * platform/network/BlobData.h:
3351         (BlobDataItem):
3352         (WebCore::BlobDataItem::BlobDataItem):
3353         * platform/network/FormData.cpp:
3354         (WebCore::FormData::appendFile):
3355         * platform/network/cf/FormDataStreamCFNet.cpp:
3356         (WebCore::advanceCurrentStream):
3357         * platform/network/soup/ResourceHandleSoup.cpp:
3358         (WebCore::blobIsOutOfDate):
3359
3360 2012-06-08  Kinuko Yasuda  <kinuko@chromium.org>
3361
3362         Unreviewed, removing duplicated entries in gyp.
3363
3364         * WebCore.gypi:
3365
3366 2012-06-08  Arko Saha  <arko@motorola.com>
3367
3368         Microdata: An element with an empty itemprop='' should not get listed in the .properties list.
3369         https://bugs.webkit.org/show_bug.cgi?id=88235
3370
3371         Reviewed by Ryosuke Niwa.
3372
3373         As per the specification change http://html5.org/r/6854, an element should be listed in .properties
3374         if the elelement has an attribute itemprop specified and the element has one or more property names.
3375
3376         Test: fast/dom/MicroData/element-with-empty-itemprop.html
3377
3378         * html/HTMLPropertiesCollection.cpp:
3379         (WebCore::HTMLPropertiesCollection::itemAfter):
3380
3381 2012-06-07  Kinuko Yasuda  <kinuko@chromium.org>
3382
3383         File::lastModifiedDate should use NaN or separate boolean flag for null Date value
3384         https://bugs.webkit.org/show_bug.cgi?id=87826
3385
3386         Reviewed by Kent Tamura.
3387
3388         Test: http/tests/local/fileapi/file-last-modified-after-delete.html
3389
3390         * fileapi/File.cpp:
3391         (WebCore::File::File):
3392         (WebCore::File::captureSnapshot):
3393         (WebCore::File::lastModifiedDate):
3394         (WebCore::File::lastModifiedDateForBinding): Removed.
3395         * fileapi/File.h:
3396         (File):
3397         * fileapi/File.idl:
3398         * platform/FileMetadata.h:
3399         (WebCore::FileMetadata::FileMetadata):
3400         * platform/FileSystem.h:
3401         * platform/chromium/support/WebHTTPBody.cpp:
3402         (WebKit::WebHTTPBody::elementAt):
3403         * platform/network/BlobData.h:
3404         (WebCore::BlobDataItem::doNotCheckFileChange): Removed.
3405         * platform/network/BlobData.cpp:
3406         * platform/network/cf/FormDataStreamCFNet.cpp:
3407         (WebCore::advanceCurrentStream):
3408         * platform/network/soup/ResourceHandleSoup.cpp:
3409         (WebCore::blobIsOutOfDate):
3410
3411 2012-06-08  Kent Tamura  <tkent@chromium.org>
3412
3413         Move form-related functions of Document to FormController
3414         https://bugs.webkit.org/show_bug.cgi?id=88497
3415
3416         Reviewed by Hajime Morita.
3417
3418         A lot of files depend on Document.h. We had to build many files when we
3419         touched form-related features in Document.h or
3420         CheckedRadioButtons.h. This patch reduces such pain.
3421
3422         No new tests. Just a refactoring.
3423
3424         * CMakeLists.txt: Add FormController.cpp and/or FormController.h.
3425         * GNUmakefile.list.am: ditto.
3426         * Target.pri: ditto.
3427         * WebCore.gypi: ditto.
3428         * WebCore.vcproj/WebCore.vcproj: ditto.
3429         * WebCore.xcodeproj/project.pbxproj: ditto.
3430
3431         * dom/Document.cpp: Removed form-releated features except the followings.
3432         (WebCore::Document::formController): Accessor for a FormController.
3433         (WebCore::Document::formElementsState):
3434         Just returns FormController::formElementsState().
3435         We don't create new FormController.
3436         (WebCore::Document::setStateForNewFormElements):
3437         Just returns FormController::setStateForNewFormElements().
3438         We don't create new FormController if the specified vector is empty.
3439         * dom/Document.h:
3440         Moved form-related functions to FormController.
3441
3442         * html/FormController.cpp: Added. Moved from Document.cpp.
3443         * html/FormController.h: Added. Moved from Document.h
3444
3445         * html/FormAssociatedElement.cpp: Use Document::formController().
3446         (WebCore::FormAssociatedElement::didMoveToNewDocument):
3447         (WebCore::FormAssociatedElement::insertedInto):
3448         (WebCore::FormAssociatedElement::removedFrom):
3449         (WebCore::FormAssociatedElement::formAttributeChanged):
3450         * html/HTMLFormControlElementWithState.cpp: Use Document::formController().
3451         (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
3452         (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
3453         (WebCore::HTMLF