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