[chromium] Skip willDraw() and didDraw() on fully occluded layers
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-06-08  Dana Jansens  <danakj@chromium.org>
2
3         [chromium] Skip willDraw() and didDraw() on fully occluded layers
4         https://bugs.webkit.org/show_bug.cgi?id=88435
5
6         Reviewed by Adrienne Walker.
7
8         Current willDraw() is called on all layers with non-empty
9         visibleLayerRect and non-empty scissorRect. This excludes
10         layers outside the viewport, but does not exclude occluded
11         layers. We add a check for occlusion to calculateRenderPasses
12         in order to avoid willDraw() when it will be culled anyway.
13
14         We prevent didDraw() from being called for occluded layers, for
15         which we did not call didDraw() by holding a vector of layers
16         for which we did call willDraw(). This lets us avoid storing a
17         flag on the layers, or computing occlusion again in
18         didDrawAllLayers.
19
20         Unit test: CCLayerTreeHostImplTest.willDrawNotCalledOnOccludedLayer
21
22         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
23         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
24         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
25         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
26         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
27         (FrameData):
28         (CCLayerTreeHostImpl):
29
30 2012-06-08  Antonio Gomes  <agomes@rim.com>
31
32         EventHandler shouldn't schedule the fake mousemove event timer when scrolling on devices that don't have a mouse
33         https://bugs.webkit.org/show_bug.cgi?id=88379
34
35         Reviewed by James Robinson.
36
37         Paraphrasing Andy Estes:
38         "In <http://trac.webkit.org/changeset/119465> we stopped dispatching fake
39         mousemove events when scrolling on devices that don't support mice. This event
40         is dispatched on a timer, so one better would be to not even schedule the
41         timer (rather than scheduling the timer but making it a no-op).
42
43         No new tests, as no functionality has changed. We basically do not
44         start a timer under a given circumstance instead of fire it, it times out,
45         and we make the callback no-op when under the given circumstance.
46
47         It is still possible though that we have the following scenario:
48         - Setting::deviceSupportsMouse set as true;
49         - we fire the timer;
50         - before its callback gets executed (timed out) the setting gets toggled.
51         So for sakeness, lets keep the check in both places.
52
53         * page/EventHandler.cpp:
54         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
55         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
56
57 2012-06-08  James Robinson  <jamesr@chromium.org>
58
59         [chromium] Clean up some unnecessary LayerChromium.h includes
60         https://bugs.webkit.org/show_bug.cgi?id=88599
61
62         Reviewed by Adam Barth.
63
64         Reworks test code slightly to use WebCore interfaces.
65
66         * testing/Internals.cpp:
67         (WebCore::Internals::setBackgroundBlurOnNode):
68
69 2012-06-08  Erik Arvidsson  <arv@chromium.org>
70
71         [V8] Keep TextTrackList alive as long as its owner is alive
72         https://bugs.webkit.org/show_bug.cgi?id=88541
73
74         Reviewed by Adam Barth.
75
76         Add a hidden reference from the owner to the text track list.
77
78         Covered by existing tests.
79
80         * Target.pri: Add V8TextTrackListCustom.cpp.
81         * UseV8.cmake: Ditto.
82         * WebCore.gypi: Ditto.
83         * bindings/v8/V8HiddenPropertyName.h:
84         (WebCore):
85         * bindings/v8/custom/V8TextTrackListCustom.cpp: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
86         (WebCore):
87         (WebCore::toV8): When the wrapper is created add a reference to the owner of the TextTrackList to the TextTrackList.
88         * html/track/TextTrackList.idl:
89
90 2012-06-08  Ian Vollick  <vollick@chromium.org>
91
92         [chromium] Accelerated animations should use WebTransformOperations
93         https://bugs.webkit.org/show_bug.cgi?id=87686
94
95         Reviewed by James Robinson.
96
97         CCTransformKeyframe new owns a WebTransformOperations rather than a
98         TransformOperations. LayerChromium's API has been changed so that
99         LayerChromium::addAnimation should take only a CCActiveAnimation.
100         GraphicsLayerChromium is new responsible for translating to
101         WebTransformOperations and creating CCActiveAnimations. Tests that use
102         the public API (that is, they call addAnimation with KeyframeValueList
103         and Animation arguments) have been moved to GraphicsLayerChromiumTest.
104
105          Unit tests:
106             GraphicsLayerChromiumTest.createOpacityAnimation
107             GraphicsLayerChromiumTest.createTransformAnimation
108             GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation
109             GraphicsLayerChromiumTest.createTransformAnimationWithSingularMatrix
110             GraphicsLayerChromiumTest.createReversedAnimation
111             GraphicsLayerChromiumTest.createAlternatingAnimation
112             GraphicsLayerChromiumTest.createReversedAlternatingAnimation
113
114         * WebCore.gypi:
115         * platform/graphics/chromium/AnimationTranslationUtil.cpp: Added.
116         (WebCore):
117         (WebCore::toWebTransformOperations):
118         (WebCore::appendKeyframe):
119         (WebCore::CCKeyframedTransformAnimationCurve):
120         (WebCore::createActiveAnimation):
121         * platform/graphics/chromium/AnimationTranslationUtil.h: Added.
122         (WebCore):
123         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
124         (WebCore::GraphicsLayerChromium::addAnimation):
125         * platform/graphics/chromium/LayerChromium.cpp:
126         (WebCore::LayerChromium::addAnimation):
127         * platform/graphics/chromium/LayerChromium.h:
128         (WebCore):
129         (WebCore::LayerChromium::bounds):
130         (LayerChromium):
131         * platform/graphics/chromium/LinkHighlight.cpp:
132         (WebCore::LinkHighlight::LinkHighlight):
133         * platform/graphics/chromium/cc/CCAnimationCurve.h:
134         (CCTransformAnimationCurve):
135         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
136         (WebCore::CCTransformKeyframe::create):
137         (WebCore::CCTransformKeyframe::CCTransformKeyframe):
138         (WebCore::CCTransformKeyframe::value):
139         (WebCore::CCTransformKeyframe::clone):
140         (WebCore::CCKeyframedTransformAnimationCurve::getValue):
141         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
142         (CCTransformKeyframe):
143         (CCKeyframedTransformAnimationCurve):
144         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
145         (WebCore::CCLayerAnimationController::removeAnimation):
146         (WebCore):
147         (WebCore::CCLayerAnimationController::addAnimation):
148         (WebCore::CCLayerAnimationController::getActiveAnimation):
149         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
150         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
151         (WebCore::CCLayerAnimationController::tickAnimations):
152         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
153         (CCLayerAnimationControllerClient):
154         (CCLayerAnimationController):
155         * platform/graphics/chromium/cc/CCLayerImpl.h:
156         (WebCore::CCLayerImpl::bounds):
157
158 2012-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
159
160         [Texmap] Accelerated versions of drop-shadow and blur filters
161         https://bugs.webkit.org/show_bug.cgi?id=87695
162
163         Reviewed by Kenneth Rohde Christiansen.
164
165         Added shaders for blur and drop-shadow effects.
166         The shaders use sampling of multiple coordinates and averaging them with normal-
167         distribution to create a fast gaussian blur effect.
168
169         Covered by existing tests in css3/filters.
170
171         * platform/graphics/texmap/TextureMapperGL.cpp:
172         (WebCore::TextureMapperGL::drawFiltered):
173             Call the prepare function explicitly, with a size argument that's used to calculate
174             some of the uniform values.
175
176         * platform/graphics/texmap/TextureMapperLayer.cpp:
177         (WebCore::TextureMapperLayer::intermediateSurfaceRect):
178             The outsets of the effect have to be considered when calculating the intermediate rect.
179             Otherwise the resulting image is scaled instead of outsetted.
180
181         (WebCore::applyFilters):
182         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
183         (WebCore::StandardFilterProgram::StandardFilterProgram):
184             Added the new shaders.
185
186         (WebCore::StandardFilterProgram::prepare):
187         (WebCore::TextureMapperShaderManager::getShaderForFilter):
188         * platform/graphics/texmap/TextureMapperShaderManager.h:
189         (StandardFilterProgram):
190
191 2012-06-08  Dan Bernstein  <mitz@apple.com>
192
193         Tried to fix the build after r119844.
194
195         * bindings/js/GCController.cpp:
196         (WebCore::GCController::discardAllCompiledCode):
197
198 2012-06-08  Mike West  <mkwst@chromium.org>
199
200         Add COMPILE_ASSERT to StyledElement to ensure it doesn't accidentally grow larger.
201         https://bugs.webkit.org/show_bug.cgi?id=88627
202
203         Reviewed by Adam Barth.
204
205         No change in user-facing behavior.
206
207         * dom/StyledElement.cpp:
208         (WebCore):
209
210 2012-06-08  Vsevolod Vlasov  <vsevik@chromium.org>
211
212         Web Inspector: Fix several compiler warnings and errors.
213         https://bugs.webkit.org/show_bug.cgi?id=88660
214
215         Reviewed by Pavel Feldman.
216
217         Fixed several compiler warnings and errors.
218         Removed isEmpty method from Object.prototype and made it static method on Object.
219
220         * inspector/InjectedScriptExterns.js:
221         * inspector/front-end/FileSystemModel.js:
222         (WebInspector.FileSystemModel.prototype._detachFrame):
223         * inspector/front-end/HeapSnapshot.js:
224         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
225         * inspector/front-end/utilities.js:
226         (Object.isEmpty):
227
228 2012-06-08  Max Feil  <mfeil@rim.com>
229
230         [BlackBerry] Fix assertion failure introduced by bug 87551
231         https://bugs.webkit.org/show_bug.cgi?id=88659
232
233         Reviewed by Antonio Gomes.
234
235         The determineRenderSlider() convenience function added in bug
236         87551 made an assumption that wasn't always true. This didn't
237         cause a functional error but it caused an assertion failure,
238         which indicates a problem with the code. PR164142.
239
240         No new tests because this case is already covered by ASSERT's.
241
242         * platform/blackberry/RenderThemeBlackBerry.cpp:
243         (WebCore::determineRenderSlider):
244
245 2012-06-08  Ion Rosca  <rosca@adobe.com>
246
247         Some overlay scrollbar API calls in ScrollAnimatorMac can lead to an assertion in RenderBox::mapAbsoluteToLocalPoint
248         https://bugs.webkit.org/show_bug.cgi?id=74111
249
250         Reviewed by Simon Fraser.
251
252         Added zero-delay timer for AppKit scroll notification that can be called during layout.
253         Manual test: ManualTests/scrollbar-crash-on-hide-scrolled-area.html
254         This assertion does not fire when running layout tests. It can be easly reproduced using a debug build by loading the manual test page.
255
256         * platform/mac/ScrollAnimatorMac.h:
257         (ScrollAnimatorMac):
258         * platform/mac/ScrollAnimatorMac.mm:
259         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
260         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
261         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon):
262         (WebCore):
263         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
264
265 2012-06-08  Renata Hodovan  <reni@webkit.org>
266
267         Adding few already supported features to the FeatureSet in DOMImplementation
268         https://bugs.webkit.org/show_bug.cgi?id=86482
269
270         Text, Filter and View features are already implemented but they
271         are not added to the SVG11 feature set. This is corrected in this patch.
272
273         Reviewed by Nikolas Zimmermann.
274
275         No new testcase is needed because we already have one what checks the svg features via
276         DOMImplementation (svg/custom/svg-features.html).
277
278         * dom/DOMImplementation.cpp:
279         (WebCore::isSVG11Feature):
280
281 2012-06-08  Stephen Chenney  <schenney@chromium.org>
282
283         WebCore::ImageBuffer.cpp has broken color table code
284         https://bugs.webkit.org/show_bug.cgi?id=80321
285
286         Reviewed by Dirk Schulze.
287
288         The code in ImageBuffer::transformColorSpace had two problems that are
289         fixed by this patch.
290
291         First, it was using member variables for data
292         that is static constant. This is incredibly wasteful, as every
293         ImageBuffer that is created (and we make a lot of them) gets its own
294         copy of the LUT and the table is initialized again and again. The
295         patch replaces this with a static local, with lazy evaluation, in
296         the method that uses the tables.
297
298         Second, the code for filling the table was mapping 255 to 254, thus
299         reducing the intensity and alpha of every image it pushed through a
300         color transform.
301
302         Test: svg/filters/color-space-conversion.svg
303
304         * platform/graphics/ImageBuffer.cpp:
305         (WebCore::ImageBuffer::transformColorSpace):
306         * platform/graphics/ImageBuffer.h:
307         (ImageBuffer):
308
309 2012-06-08  Alexei Filippov  <alexeif@chromium.org>
310
311         Web Inspector: Better labels positioning on the memory pie chart
312         https://bugs.webkit.org/show_bug.cgi?id=88652
313
314         Reviewed by Vsevolod Vlasov.
315
316         * inspector/front-end/NativeMemorySnapshotView.js:
317         (WebInspector.NativeMemoryPieChart.prototype._paint.paintPercentAndLabel):
318         (WebInspector.NativeMemoryPieChart.prototype._paint):
319
320 2012-06-08  Bryan McQuade  <bmcquade@google.com>
321
322         Web Inspector: Annotate timeline records with a frame identifier
323         https://bugs.webkit.org/show_bug.cgi?id=86406
324
325         Reviewed by Vsevolod Vlasov.
326
327         Tests: Updated existing layout tests.
328
329         * inspector/InspectorController.cpp:
330         (WebCore::InspectorController::InspectorController):
331         * inspector/InspectorInstrumentation.cpp:
332         (WebCore::frameForScriptExecutionContext):
333         (WebCore):
334         (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
335         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
336         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
337         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
338         (WebCore::InspectorInstrumentation::willChangeXHRReadyStateImpl):
339         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
340         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
341         (WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
342         (WebCore::InspectorInstrumentation::willFireTimerImpl):
343         (WebCore::InspectorInstrumentation::willLayoutImpl):
344         (WebCore::InspectorInstrumentation::willLoadXHRImpl):
345         (WebCore::InspectorInstrumentation::willPaintImpl):
346         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
347         (WebCore::InspectorInstrumentation::willSendRequestImpl):
348         (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
349         (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
350         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
351         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
352         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
353         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
354         (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
355         (WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl):
356         (WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl):
357         (WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
358         * inspector/InspectorInstrumentation.h:
359         (InspectorInstrumentation):
360         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
361         (WebCore::InspectorInstrumentation::didInstallTimer):
362         (WebCore::InspectorInstrumentation::didRemoveTimer):
363         (WebCore::InspectorInstrumentation::willCallFunction):
364         (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
365         (WebCore::InspectorInstrumentation::willDispatchEvent):
366         (WebCore::InspectorInstrumentation::willEvaluateScript):
367         (WebCore::InspectorInstrumentation::willFireTimer):
368         (WebCore::InspectorInstrumentation::willLayout):
369         (WebCore::InspectorInstrumentation::willLoadXHR):
370         (WebCore::InspectorInstrumentation::willPaint):
371         (WebCore::InspectorInstrumentation::willRecalculateStyle):
372         (WebCore::InspectorInstrumentation::willReceiveResourceData):
373         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
374         (WebCore::InspectorInstrumentation::willWriteHTML):
375         (WebCore::InspectorInstrumentation::didRequestAnimationFrame):
376         (WebCore::InspectorInstrumentation::didCancelAnimationFrame):
377         (WebCore::InspectorInstrumentation::willFireAnimationFrame):
378         * inspector/InspectorTimelineAgent.cpp:
379         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
380         (WebCore::InspectorTimelineAgent::didBeginFrame):
381         (WebCore::InspectorTimelineAgent::willCallFunction):
382         (WebCore::InspectorTimelineAgent::willDispatchEvent):
383         (WebCore::InspectorTimelineAgent::willLayout):
384         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
385         (WebCore::InspectorTimelineAgent::willPaint):
386         (WebCore::InspectorTimelineAgent::willComposite):
387         (WebCore::InspectorTimelineAgent::willWriteHTML):
388         (WebCore::InspectorTimelineAgent::didInstallTimer):
389         (WebCore::InspectorTimelineAgent::didRemoveTimer):
390         (WebCore::InspectorTimelineAgent::willFireTimer):
391         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
392         (WebCore::InspectorTimelineAgent::willLoadXHR):
393         (WebCore::InspectorTimelineAgent::willEvaluateScript):
394         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
395         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
396         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
397         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
398         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
399         (WebCore::InspectorTimelineAgent::didTimeStamp):
400         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
401         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
402         (WebCore::InspectorTimelineAgent::didRequestAnimationFrame):
403         (WebCore::InspectorTimelineAgent::didCancelAnimationFrame):
404         (WebCore::InspectorTimelineAgent::willFireAnimationFrame):
405         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
406         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
407         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
408         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
409         (WebCore::InspectorTimelineAgent::appendRecord):
410         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
411         (WebCore::InspectorTimelineAgent::pushCancelableRecord):
412         (WebCore::InspectorTimelineAgent::commitCancelableRecords):
413         * inspector/InspectorTimelineAgent.h:
414         (WebCore):
415         (WebCore::InspectorTimelineAgent::create):
416         (InspectorTimelineAgent):
417         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
418         (TimelineRecordEntry):
419         * inspector/WorkerInspectorController.cpp:
420         (WebCore::WorkerInspectorController::WorkerInspectorController):
421         * inspector/front-end/TimelinePresentationModel.js:
422         (WebInspector.TimelinePresentationModel.isEventDivider):
423         (WebInspector.TimelinePresentationModel.Record):
424
425 2012-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
426
427         Unreviewed, rolling out r119821.
428         http://trac.webkit.org/changeset/119821
429         https://bugs.webkit.org/show_bug.cgi?id=88648
430
431         Seems to have regression on Mac (Requested by kinuko on
432         #webkit).
433
434         * fileapi/File.cpp:
435         (WebCore::File::File):
436         (WebCore::File::lastModifiedDate):
437         (WebCore::File::lastModifiedDateForBinding):
438         (WebCore):
439         (WebCore::File::captureSnapshot):
440         * fileapi/File.h:
441         (File):
442         * fileapi/File.idl:
443         * platform/FileMetadata.h:
444         (WebCore::FileMetadata::FileMetadata):
445         * platform/FileSystem.h:
446         * platform/chromium/support/WebHTTPBody.cpp:
447         (WebKit::WebHTTPBody::elementAt):
448         * platform/network/BlobData.cpp:
449         (WebCore):
450         * platform/network/BlobData.h:
451         (BlobDataItem):
452         (WebCore::BlobDataItem::BlobDataItem):
453         * platform/network/FormData.cpp:
454         (WebCore::FormData::appendFile):
455         * platform/network/cf/FormDataStreamCFNet.cpp:
456         (WebCore::advanceCurrentStream):
457         * platform/network/soup/ResourceHandleSoup.cpp:
458         (WebCore::blobIsOutOfDate):
459
460 2012-06-08  Kinuko Yasuda  <kinuko@chromium.org>
461
462         Unreviewed, removing duplicated entries in gyp.
463
464         * WebCore.gypi:
465
466 2012-06-08  Arko Saha  <arko@motorola.com>
467
468         Microdata: An element with an empty itemprop='' should not get listed in the .properties list.
469         https://bugs.webkit.org/show_bug.cgi?id=88235
470
471         Reviewed by Ryosuke Niwa.
472
473         As per the specification change http://html5.org/r/6854, an element should be listed in .properties
474         if the elelement has an attribute itemprop specified and the element has one or more property names.
475
476         Test: fast/dom/MicroData/element-with-empty-itemprop.html
477
478         * html/HTMLPropertiesCollection.cpp:
479         (WebCore::HTMLPropertiesCollection::itemAfter):
480
481 2012-06-07  Kinuko Yasuda  <kinuko@chromium.org>
482
483         File::lastModifiedDate should use NaN or separate boolean flag for null Date value
484         https://bugs.webkit.org/show_bug.cgi?id=87826
485
486         Reviewed by Kent Tamura.
487
488         Test: http/tests/local/fileapi/file-last-modified-after-delete.html
489
490         * fileapi/File.cpp:
491         (WebCore::File::File):
492         (WebCore::File::captureSnapshot):
493         (WebCore::File::lastModifiedDate):
494         (WebCore::File::lastModifiedDateForBinding): Removed.
495         * fileapi/File.h:
496         (File):
497         * fileapi/File.idl:
498         * platform/FileMetadata.h:
499         (WebCore::FileMetadata::FileMetadata):
500         * platform/FileSystem.h:
501         * platform/chromium/support/WebHTTPBody.cpp:
502         (WebKit::WebHTTPBody::elementAt):
503         * platform/network/BlobData.h:
504         (WebCore::BlobDataItem::doNotCheckFileChange): Removed.
505         * platform/network/BlobData.cpp:
506         * platform/network/cf/FormDataStreamCFNet.cpp:
507         (WebCore::advanceCurrentStream):
508         * platform/network/soup/ResourceHandleSoup.cpp:
509         (WebCore::blobIsOutOfDate):
510
511 2012-06-08  Kent Tamura  <tkent@chromium.org>
512
513         Move form-related functions of Document to FormController
514         https://bugs.webkit.org/show_bug.cgi?id=88497
515
516         Reviewed by Hajime Morita.
517
518         A lot of files depend on Document.h. We had to build many files when we
519         touched form-related features in Document.h or
520         CheckedRadioButtons.h. This patch reduces such pain.
521
522         No new tests. Just a refactoring.
523
524         * CMakeLists.txt: Add FormController.cpp and/or FormController.h.
525         * GNUmakefile.list.am: ditto.
526         * Target.pri: ditto.
527         * WebCore.gypi: ditto.
528         * WebCore.vcproj/WebCore.vcproj: ditto.
529         * WebCore.xcodeproj/project.pbxproj: ditto.
530
531         * dom/Document.cpp: Removed form-releated features except the followings.
532         (WebCore::Document::formController): Accessor for a FormController.
533         (WebCore::Document::formElementsState):
534         Just returns FormController::formElementsState().
535         We don't create new FormController.
536         (WebCore::Document::setStateForNewFormElements):
537         Just returns FormController::setStateForNewFormElements().
538         We don't create new FormController if the specified vector is empty.
539         * dom/Document.h:
540         Moved form-related functions to FormController.
541
542         * html/FormController.cpp: Added. Moved from Document.cpp.
543         * html/FormController.h: Added. Moved from Document.h
544
545         * html/FormAssociatedElement.cpp: Use Document::formController().
546         (WebCore::FormAssociatedElement::didMoveToNewDocument):
547         (WebCore::FormAssociatedElement::insertedInto):
548         (WebCore::FormAssociatedElement::removedFrom):
549         (WebCore::FormAssociatedElement::formAttributeChanged):
550         * html/HTMLFormControlElementWithState.cpp: Use Document::formController().
551         (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
552         (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
553         (WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
554         (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
555         * html/HTMLFormElement.cpp: Use Document::formController().
556         (WebCore::HTMLFormElement::didNotifyDescendantInsertions):
557         (WebCore::HTMLFormElement::removedFrom):
558         * html/HTMLInputElement.cpp: Use Document::formController().
559         (WebCore::HTMLInputElement::~HTMLInputElement):
560         (WebCore::HTMLInputElement::didMoveToNewDocument):
561         (WebCore::HTMLInputElement::checkedRadioButtons):
562         * html/HTMLInputElement.h:
563         Declare CheckedRadioButtons. It was provided by Document.h.
564         * html/parser/HTMLConstructionSite.h:
565         Declare HTMLFormElement. It was provided by Document.h
566
567 2012-06-08  Taiju Tsuiki  <tzik@chromium.org>
568
569         Add FileSystem item to storage tree.
570         https://bugs.webkit.org/show_bug.cgi?id=72691
571
572         Reviewed by Vsevolod Vlasov.
573
574         * WebCore.gypi:
575         * WebCore.vcproj/WebCore.vcproj:
576         * inspector/compile-front-end.py:
577         * inspector/front-end/FileSystemModel.js: Added.
578         * inspector/front-end/Images/fileSystem.png: Added.
579         * inspector/front-end/ResourcesPanel.js:
580         (WebInspector.FileSystemListTreeElement):
581         (WebInspector.FileSystemListTreeElement.prototype.onexpand):
582         (WebInspector.FileSystemListTreeElement.prototype.onattach):
583         (WebInspector.FileSystemListTreeElement.prototype._handleContextMenuEvent):
584         (WebInspector.FileSystemListTreeElement.prototype._fileSystemAdded):
585         (WebInspector.FileSystemListTreeElement.prototype._fileSystemRemoved):
586         (WebInspector.FileSystemListTreeElement.prototype._fileSystemTreeElementByName):
587         (WebInspector.FileSystemListTreeElement.prototype._refreshFileSystem):
588         (WebInspector.FileSystemTreeElement):
589         (WebInspector.FileSystemTreeElement.prototype.get fileSystemName):
590         (WebInspector.FileSystemTreeElement.prototype.get itemURL):
591         * inspector/front-end/Settings.js:
592         (WebInspector.ExperimentsSettings):
593         * inspector/front-end/WebKit.qrc:
594         * inspector/front-end/inspector.html:
595         * inspector/front-end/resourcesPanel.css:
596         (.file-system-storage-tree-item .icon):
597         * inspector/front-end/utilities.js:
598
599 2012-06-08  Kentaro Hara  <haraken@chromium.org>
600
601         REGRESSION r119802: Remove unnecessary ASSERT(!m_deletionHasBegun) from Document.h
602         https://bugs.webkit.org/show_bug.cgi?id=88528
603
604         Reviewed by Ryosuke Niwa.
605
606         m_deletionHasBegun should become true just before 'delete this'.
607
608         No tests. No change in behavior.
609
610         * dom/Document.h:
611         (WebCore::Document::guardRef):
612         (WebCore::Document::guardDeref):
613
614 2012-06-08  Adam Barth  <abarth@webkit.org>
615
616         HTTP 204 No Content responses shouldn't trigger MIME type warnings in the web inspector
617         https://bugs.webkit.org/show_bug.cgi?id=88603
618
619         Reviewed by Pavel Feldman.
620
621         A 204 response doesn't have an entity body, so its MIME type is kind of
622         meaningless.  We shouldn't spam the console with a warning about MIME
623         types.
624
625         * inspector/front-end/NetworkManager.js:
626         (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
627
628 2012-06-08  Yoshifumi Inoue  <yosin@chromium.org>
629
630         [Forms] Drop StepRange::NumberWithDecimalPlacesOrMissing
631         https://bugs.webkit.org/show_bug.cgi?id=88621
632
633         Reviewed by Kent Tamura.
634
635         This patch changes NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
636         We use NaN as indication of having value or not.
637
638         No new tests, because this patch doesn't change behavior.
639
640         * html/DateInputType.cpp:
641         (WebCore::DateInputType::createStepRange): Replace NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
642         * html/DateTimeInputType.cpp:
643         (WebCore::DateTimeInputType::createStepRange): ditto.
644         * html/DateTimeLocalInputType.cpp:
645         (WebCore::DateTimeLocalInputType::createStepRange): ditto.
646         * html/MonthInputType.cpp:
647         (WebCore::MonthInputType::createStepRange): ditto.
648         * html/NumberInputType.cpp:
649         (WebCore::NumberInputType::createStepRange): ditto.
650         * html/RangeInputType.cpp:
651         (WebCore::RangeInputType::createStepRange): ditto.
652         * html/StepRange.cpp:
653         (WebCore::StepRange::StepRange): Checks value is finite or not.
654         (WebCore::StepRange::parseStep): Replace NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
655         * html/StepRange.h:
656         (StepRange): Removed NumberWithDecimalPlacesOrMissing.
657         * html/TimeInputType.cpp:
658         (WebCore::TimeInputType::createStepRange):  NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
659         * html/WeekInputType.cpp:
660         (WebCore::WeekInputType::createStepRange): ditto.
661
662 2012-06-08  Kentaro Hara  <haraken@chromium.org>
663
664         Unreviewed. Fixed a comment, pointed out by ap@.
665
666         * platform/TreeShared.h:
667         (WebCore):
668
669 2012-06-08  Noel Gordon  <noel.gordon@gmail.com>
670
671         [chromium] WEBP image blue and red color channels reversed on Android
672         https://bugs.webkit.org/show_bug.cgi?id=88613
673
674         Reviewed by Kent Tamura.
675
676         No new tests. Covered by test fast/images/webp-image-decoding.html though I'm
677         not sure where/how the Androids run their layout tests.
678
679         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
680         (outputMode): Detect little-endian Skia with a blue pixel shift (aka Android)
681         which seems to be the way for them per bug 75861.
682
683 2012-06-08  Ryosuke Niwa  <rniwa@webkit.org>
684
685         Remove the assertion that has been moved to TreeScope after r119802.
686
687         * dom/Document.cpp:
688         (WebCore::Document::removedLastRef):
689
690 2012-06-07  Kentaro Hara  <haraken@chromium.org>
691
692         Reduce Node object size from 72 byte to 64 byte
693         https://bugs.webkit.org/show_bug.cgi?id=88528
694
695         Reviewed by Ryosuke Niwa.
696
697         This patch removes all virtual methods from TreeShared.h,
698         by which we can remove a virtual method table pointer (8 byte
699         in a 64bit architechture) from each Node object. Consequently,
700         this patch reduces the Node object size from 72 byte to 64 byte.
701
702         e.g. The HTML spec (http://www.whatwg.org/specs/web-apps/current-work/)
703         contains 325640 Node objects. Thus this patch saves 325640 * 8 byte = 2.6 MB.
704
705         e.g. sizeof(Element) is reduced from 104 byte to 96 byte.
706
707         - In multiple inheritance, a virtual method table pointer is allocated
708         for each base class that has virtual methods. For example, for
709         'class A : public B, C {};' where B and C have virtual methods,
710         two virtual method table pointers are allocated for each A object.
711         In this patch, A = Node, B = EventTarget, and C = TreeShared.
712         By removing the virtual methods from TreeShared, we can save the virtual
713         method table pointer for TreeShared. 8 byte saving.
714
715         - Node and SVGElementInstance are the only classes that inherit TreeShared.
716
717         - This patch removes virtual TreeShared::removeLastRef() and implements
718         virtual Node::removeLastRef() and virtual SVGElementInstance::removeLastRef().
719         Node::removeLastRef() calls 'delete this' for 'this' of type Node*,
720         and SVGElementInstance::removeLastRef() calls 'delete this' for 'this' of type
721         SVGElementInstance*.
722
723         - This patch removes the virtual destructor of TreeShared. This removal is safe
724         because (1) no one calls 'delete this' for 'this' of type TreeShared*,
725         and (2) both Node and SVGElementInstance have virtual destructor.
726
727         No change in behavior. Confirm no regression in existing tests.
728
729         * dom/ContainerNode.cpp:
730         (WebCore::callRemovedLastRef):
731         (WebCore):
732         * dom/Node.h:
733         (WebCore::Node::removedLastRef):
734         * platform/TreeShared.h:
735         (WebCore):
736         (TreeShared):
737         (WebCore::TreeShared::deref):
738         * svg/SVGElementInstance.cpp:
739         (WebCore::callRemovedLastRef):
740         (WebCore):
741         * svg/SVGElementInstance.h:
742         (WebCore::SVGElementInstance::removedLastRef):
743
744         * WebCore.order: Added a symbol for callRemovedLastRef().
745         * WebCore.exp.in: Ditto.
746
747 2012-06-07  Takashi Sakamoto  <tasak@google.com>
748
749         ShadowRoot needs resetStyleInheritance
750         https://bugs.webkit.org/show_bug.cgi?id=84048
751
752         Added resetStyleInheritance API to ShadowRoot. The spec URL is
753         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-root-attributes
754         To implement the API, modified StyleResolver to use empty style
755         instead of parent style if resetStyleInheritance is true,
756         and a node and its parent node are placed in different shadow trees.
757
758         Reviewed by Hajime Morita.
759
760         Test: fast/dom/shadow/shadow-root-resetStyleInheritance.html
761               fast/dom/shadow/shadow-root-resetStyleInheritance-expected.html
762
763         * css/StyleResolver.cpp:
764         (WebCore::StyleResolver::initForStyleResolve):
765         Set m_parentStyle to NULL when resetStyleInheritance.
766         (WebCore::StyleResolver::documentSettings):
767         Added a new method to obtain current document's settings.
768         (WebCore::StyleResolver::initializeFontStyle):
769         Initialize m_style by using document settings. Its code was move
770         from the code initializing font style in applyProperty.
771         (WebCore::StyleResolver::styleForElement):
772         Initialize font style if m_parentStyle is NULL. The old code just
773         used style() and don't touch font style. The new code uses the above
774         initializeFontStyle.
775         (WebCore::StyleResolver::applyProperty):
776         Moved a code for initializing font style as "initial" to
777         a new method: initializeFontStyle and modified to use the method.
778         Modified to use documentSettings().
779         (WebCore::StyleResolver::checkForGenericFamilyChange):
780         Modified to use documentSettings().
781         * css/StyleResolver.h:
782         (WebCore::StyleResolver::documentSettings):
783         (WebCore::StyleResolver::initializeFontStyle):
784         Added two new methods to class StyleResolver.
785         * dom/NodeRenderingContext.cpp:
786         (WebCore::NodeRenderingContext::NodeRenderingContext):
787         Modified to calculate m_resetStyleInheritance in its constructor.
788         * dom/NodeRenderingContext.h:
789         (WebCore::NodeRenderingContext::resetStyleInheritance):
790         Implemented a new method, just returning m_resetStyleInheritance.
791         * dom/ShadowRoot.cpp:
792         (WebCore::ShadowRoot::setResetStyleInheritance):
793         Modified to force to recalculate children's styles if
794         resetStyleInheritance is changed.
795         * dom/ShadowRoot.h:
796         (ShadowRoot):
797         Added resetStyleInheritance getter and setter.
798         * dom/ShadowRoot.idl:
799         Added an attribute, resetStyleInheritance.
800         * dom/TreeScope.cpp:
801         (WebCore::TreeScope::resetStyleInheritance):
802         * dom/TreeScope.h:
803         (TreeScope):
804         Added resetStyleInheritance's default getter.
805         The getter will be overrided by class ShadowRoot's getter.
806
807 2012-06-07  Victor Carbune  <victor@rosedu.org>
808
809         addTextTrack should set track mode to HIDDEN
810         https://bugs.webkit.org/show_bug.cgi?id=88317
811
812         Reviewed by Eric Carlson.
813
814         Updated existing test.
815
816         * html/HTMLMediaElement.cpp:
817         (WebCore::HTMLMediaElement::addTextTrack): Set the default parameters
818         for the newly created TextTrack.
819         * html/track/TextTrack.cpp:
820         (WebCore::TextTrack::TextTrack):
821
822 2012-06-07  Li Yin  <li.yin@intel.com>
823
824         FileAPI: Blob should support ArrayBufferView instead of ArrayBuffer for Constructor Parameters
825         https://bugs.webkit.org/show_bug.cgi?id=88294
826
827         Reviewed by Jian Li.
828
829         From Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob
830         Currently we add the support for ArrayBufferView, while still keeping ArrayBuffer for
831         backward compatibility. We will remove it in the near future.
832
833         Test: fast/files/blob-constructor.html
834
835         * bindings/js/JSBlobCustom.cpp:
836         (WebCore::JSBlobConstructor::constructJSBlob):
837         * bindings/v8/custom/V8BlobCustom.cpp:
838         (WebCore::V8Blob::constructorCallback):
839         * fileapi/WebKitBlobBuilder.cpp:
840         (WebCore::WebKitBlobBuilder::append):
841         (WebCore):
842         * fileapi/WebKitBlobBuilder.h:
843         (WebCore):
844         (WebKitBlobBuilder):
845         * fileapi/WebKitBlobBuilder.idl: Add support for ArrayBufferView in append method
846
847 2012-06-07  MORITA Hajime  <morrita@google.com>
848
849         A style in an older shadow subtree causes assert when composing with <shadow>
850         https://bugs.webkit.org/show_bug.cgi?id=88299
851
852         Reviewed by Dimitri Glazkov.
853
854         InsertionPoint::attach() assumes its distributed content not being attach()-ed.
855         But this assumption can break. This change added a guard for that.
856         This can happen for shadow boundaries in general. But ShadowRoot already handles that case.
857
858         Test: fast/dom/shadow/insertion-point-shadow-crash.html
859
860         * html/shadow/InsertionPoint.cpp:
861         (WebCore::InsertionPoint::attach):
862
863 2012-06-07  Max Feil  <mfeil@rim.com>
864
865         [BlackBerry] Show correct fullscreen button image (media controls)
866         https://bugs.webkit.org/show_bug.cgi?id=88563
867
868         Reviewed by Antonio Gomes.
869
870         PR159306: Show "exit" fullscreen button image instead of "enter"
871         fullscreen button image when in fullscreen mode (HTML5 media
872         controls).
873
874         I am not providing a test due to the simplicity of this patch
875         and the relative difficulty and maintainability issues associated
876         with testing how an image is rendered.
877
878         * platform/blackberry/RenderThemeBlackBerry.cpp:
879         (WebCore::RenderThemeBlackBerry::paintMediaFullscreenButton):
880
881 2012-06-07  Noel Gordon  <noel.gordon@gmail.com>
882
883         [chromium] Use WEBPImportPictureRGBX|BGRX to import picture data
884         https://bugs.webkit.org/show_bug.cgi?id=88218
885
886         Reviewed by Kent Tamura.
887
888         Stop using the RGBA and RGBA variants of the picture import routines (since
889         these will import alpha channel data in a future libwebp). Use the RGBX and
890         BGRX variants to import picture data for encoding to make it clear that the
891         alpha channel is (and must be) ignored.
892
893         Test: fast/canvas/canvas-toDataURL-webp.html
894
895         * platform/image-encoders/skia/WEBPImageEncoder.cpp:
896         (WebCore::rgbPictureImport):
897         (WebCore::importPictureBGRX): Use WEBPImportPictureBGRX for picture imports
898         that must ignore the alpha channel. Change the template parameter to be the
899         premultiplied alpha state of the input image data.
900         (WebCore::importPictureRGBX): Use WEBPImportPictureRGBX, ditto.
901         (WebCore::encodePixels): Invert the sense of the template parameter to make
902         it now indicate the premultiplied alpha state of the input image data.
903
904 2012-06-07  Takashi Sakamoto  <tasak@google.com>
905
906         Improve the performance of pushScope in StyleResolver
907         https://bugs.webkit.org/show_bug.cgi?id=88222
908
909         Reviewed by Hajime Morita.
910
911         As setupScopeStack always sets m_scopeStackParent to be NULL,
912         m_scopeStack is never reused. m_scopeStackParent should be the last
913         element of m_scopeStack.
914
915         No new tests, because fast/css/style-scoped/ uses pushScope,
916         popScope and setupScopeStack and checks whether there exists
917         any crash bug or not. And this patch doesn't change any behavior
918         of scoped author syltes.
919
920         * css/StyleResolver.cpp:
921         (WebCore::StyleResolver::setupScopeStack):
922         Modified to set m_scopeSackParent to be the last element of
923         m_scopeStack.
924         (WebCore::StyleResolver::popScope):
925         Modified to remove the last element if m_scopeStack is not empty and
926         the last element of m_scopeStack has the same scope as the scoping
927         element given by the argument.
928
929 2012-06-07  Mark Pilgrim  <pilgrim@chromium.org>
930
931         [Chromium] Move didStartWorkerRunLoop to Platform.h
932         https://bugs.webkit.org/show_bug.cgi?id=88562
933
934         Reviewed by Adam Barth.
935
936         Part of a refactoring series. See tracking bug 82948.
937
938         * WebCore.gyp/WebCore.gyp:
939         * bindings/v8/WorkerScriptController.cpp:
940         (WebCore::WorkerScriptController::~WorkerScriptController):
941         * platform/chromium/PlatformSupport.h:
942         (WebCore):
943         * workers/WorkerThread.cpp:
944         (WebCore::WorkerThread::workerThread):
945
946 2012-06-07  Mike West  <mkwst@chromium.org>
947
948         Dropping m_startingLineNumber property from StyledElement.
949         https://bugs.webkit.org/show_bug.cgi?id=86848
950
951         Reviewed by Adam Barth.
952
953         We can have the same effect by moving the line-number calculation
954         directly into StyledElement::styleAttributeChanged. This means that
955         subsequent changes to the style attribute (via script) won't generate
956         error messages with line numbers, but that's an acceptable tradeoff.
957
958         Behavior is covered by existing CSP tests.
959
960         * dom/StyledElement.cpp:
961         (WebCore::StyledElement::StyledElement):
962         (WebCore::StyledElement::styleAttributeChanged):
963         * dom/StyledElement.h:
964         (WebCore::StyledElement::destroyInlineStyle):
965
966 2012-06-07  Peter Beverloo  <peter@chromium.org>
967
968         Initialize m_document in AXObjectCache's constructor for !HAVE(ACCESSIBILITY) builds
969         https://bugs.webkit.org/show_bug.cgi?id=88527
970
971         Reviewed by Adam Barth.
972
973         Initialize the m_document member with the passed on document in the stubbed
974         AXObjectCache constructor. No behavioral changes.
975
976         * accessibility/AXObjectCache.h:
977         (WebCore::AXObjectCache::AXObjectCache):
978
979 2012-06-05  James Robinson  <jamesr@chromium.org>
980
981         [chromium] Move deferral-related logic out of Canvas2DLayerChromium
982         https://bugs.webkit.org/show_bug.cgi?id=86050
983
984         Reviewed by Stephen White.
985
986         This removes Canvas2DLayerChromium and puts the deferral and double-buffering related logic in a new class,
987         Canvas2DLayerBridge, that uses TextureLayerChromium for compositing.  The bridge is responsible for managing the
988         front texture when double buffering is active, inserting the correct makeContextCurrent() and flush() calls on
989         the GraphicsContext3D and SkCanvas when appropriate, and owning the lifetime of the layer.
990
991         * WebCore.gypi:
992         * platform/graphics/chromium/Canvas2DLayerBridge.cpp: Added.
993         (WebCore):
994         (AcceleratedDeviceContext):
995         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
996         (WebCore::AcceleratedDeviceContext::prepareForDraw):
997         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
998         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
999         (WebCore::Canvas2DLayerBridge::skCanvas):
1000         (WebCore::Canvas2DLayerBridge::prepareTexture):
1001         (WebCore::Canvas2DLayerBridge::context):
1002         (WebCore::Canvas2DLayerBridge::layer):
1003         (WebCore::Canvas2DLayerBridge::contextAcquired):
1004         * platform/graphics/chromium/Canvas2DLayerBridge.h: Added.
1005         (WebCore):
1006         (Canvas2DLayerBridge):
1007         (WebCore::Canvas2DLayerBridge::create):
1008         * platform/graphics/chromium/Canvas2DLayerChromium.cpp: Removed.
1009         * platform/graphics/chromium/Canvas2DLayerChromium.h: Removed.
1010         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1011         * platform/graphics/chromium/ImageBufferDataSkia.h:
1012         (WebCore):
1013         (ImageBufferData):
1014         * platform/graphics/chromium/TextureLayerChromium.cpp:
1015         (WebCore::TextureLayerChromium::willModifyTexture):
1016             willModifyTexture() is called whenever the texture currently owned by the TextureLayerChromium will be
1017             modified by a system out of the compositor's control. It makes sure that the compositor does not attempt to
1018             draw with the potentially-modified texture until the next commit. For canvas, this is used when threading is
1019             enabled and a non-deferrable drawing command is invoked from JS.
1020         (WebCore):
1021         * platform/graphics/chromium/TextureLayerChromium.h:
1022         (TextureLayerChromium):
1023         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
1024         (WebCore::CCTextureUpdater::hasMoreUpdates):
1025         (WebCore::CCTextureUpdater::update):
1026         (WebCore::CCTextureUpdater::clear):
1027         * platform/graphics/chromium/cc/CCTextureUpdater.h:
1028         (CCTextureUpdater):
1029         * platform/graphics/skia/ImageBufferSkia.cpp:
1030         (WebCore::createAcceleratedCanvas):
1031         (WebCore::ImageBuffer::~ImageBuffer):
1032         (WebCore::ImageBuffer::context):
1033         (WebCore::ImageBuffer::platformLayer):
1034
1035 2012-06-07  Patrick Gansterer  <paroga@webkit.org>
1036
1037         Remove HAVE(PATH_BASED_BORDER_RADIUS_DRAWING)
1038         https://bugs.webkit.org/show_bug.cgi?id=87931
1039
1040         Reviewed by Beth Dakin.
1041
1042         r62035 added HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until all ports implement
1043         GraphicsContext::clipConvexPolygon(). All major ports define HAVE_PATH_BASED_BORDER_RADIUS_DRAWING in the
1044         meantime and the alternative path has unnecessary maintainace costs and even don't compile at the moment.
1045
1046         * rendering/RenderBoxModelObject.cpp:
1047         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
1048         * rendering/RenderObject.cpp:
1049         (WebCore::RenderObject::paintFocusRing):
1050         * rendering/RenderObject.h:
1051         (RenderObject):
1052
1053 2012-06-06  Vincent Scheib  <scheib@chromium.org>
1054
1055         Add new Pointer Lock spec events webkitpointerlockchange and webkitpointerlockerror
1056         https://bugs.webkit.org/show_bug.cgi?id=88377
1057
1058         Reviewed by Dimitri Glazkov.
1059
1060         Part of a series of refactoring changes to update pointer lock API to
1061         the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
1062
1063         New change and error events added. Follow up patches will remove
1064         the previous callbacks and pointerlocklost event. Tests updated
1065         to include the new events, and a new test added specifically for
1066         the new events, pointerlockchange-pointerlockerror-events.html.
1067
1068         Test: pointer-lock/pointerlockchange-pointerlockerror-events.html
1069
1070         * dom/Document.h:
1071         (Document):
1072         * dom/Document.idl:
1073         * dom/EventNames.h:
1074         (WebCore):
1075         * page/PointerLockController.cpp:
1076         (WebCore::PointerLockController::requestPointerLock):
1077         (WebCore::PointerLockController::didAcquirePointerLock):
1078         (WebCore::PointerLockController::didNotAcquirePointerLock):
1079         (WebCore::PointerLockController::didLosePointerLock):
1080         (WebCore::PointerLockController::enqueueEvent):
1081         (WebCore):
1082         * page/PointerLockController.h:
1083         (PointerLockController):
1084
1085 2012-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1086
1087         Unreviewed, rolling out r119744.
1088         http://trac.webkit.org/changeset/119744
1089         https://bugs.webkit.org/show_bug.cgi?id=88584
1090
1091         Fails assertions in debug builds (Requested by jamesr_ on
1092         #webkit).
1093
1094         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
1095         (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
1096         (WebCore::CCIOSurfaceLayerImpl::willDraw):
1097
1098 2012-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
1099
1100         Cache RenderLayer::isRootLayer for better performance
1101         https://bugs.webkit.org/show_bug.cgi?id=88570
1102
1103         Reviewed by Ojan Vafai.
1104
1105         Caching covered by existing tests.
1106
1107         RenderLayer::isRootLayer()'s answer will be the same during the RenderLayer's
1108         lifetime as a RenderLayer is tied to a RenderBoxModelObject. This change caches
1109         isRootLayer value in the constructor.
1110
1111         On http://dglazkov.github.com/performance-tests/biggrid.html with a 100,000 rows
1112         by 100 columns table, it saves about 10% on the paint time during scrolling on
1113         my machine (going from 50ms to 45ms). It would expect all code paths to see some
1114         improvement as checking renderer()->isRenderView() was pretty common.
1115
1116         * rendering/RenderLayer.cpp:
1117         (WebCore::RenderLayer::RenderLayer):
1118         Added code to cache the result of renderer()->isRenderView() here.
1119
1120         (WebCore::RenderLayer::stackingContext):
1121         (WebCore::isPositionedContainer):
1122         (WebCore::isFixedPositionedContainer):
1123         (WebCore::RenderLayer::enclosingTransformedAncestor):
1124         (WebCore::RenderLayer::clippingRootForPainting):
1125         (WebCore::shouldSuppressPaintingLayer):
1126         (WebCore::RenderLayer::hitTest):
1127         (WebCore::RenderLayer::intersectsDamageRect):
1128         * rendering/RenderLayer.h:
1129         (WebCore::RenderLayer::isStackingContext):
1130         Updated all the call sites to use isRootLayer() instead of renderer()->isRenderView()
1131         as it is faster.
1132
1133         (WebCore::RenderLayer::isRootLayer):
1134         Added our caching here. Also made m_canSkipRepaintRectsUpdateOnScroll to follow
1135         m_isRootLayer example.
1136
1137 2012-06-07  Takashi Sakamoto  <tasak@google.com>
1138
1139         Incorrect border rendering when border radius is above 2px.
1140         https://bugs.webkit.org/show_bug.cgi?id=88046
1141
1142         Fixing findInnerVertex's logic to decide which is the better line
1143         to find an inner vertex, x=center point's x of a rendering box or
1144         y=center point's y of a rendering box.
1145
1146         Reviewed by Simon Fraser.
1147
1148         Test: fast/borders/border-radius-valid-border-clipping.html
1149
1150         * rendering/RenderBoxModelObject.cpp:
1151         (WebCore::findInnerVertex):
1152
1153 2012-06-07  Edaena Salinas Jasso  <edaena@apple.com>
1154
1155         Should fire error event for empty 404 script
1156         https://bugs.webkit.org/show_bug.cgi?id=50589
1157         
1158         Reviewed by Brady Eidson.
1159
1160         Tests: 
1161         http/tests/loading/fire-error-event-empty-404-script.html
1162         http/tests/loading/fire-error-script-no-content-type.html
1163
1164         * loader/SubresourceLoader.cpp:
1165         (WebCore::SubresourceLoader::didReceiveResponse): We should check for http status 
1166         codes here to stop depending on the response being non-empty.
1167         (WebCore::SubresourceLoader::didReceiveData): Moved the http status check but
1168         avoid messing with multipart responses.
1169         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError): Renamed from 
1170         errorLoadingResource for clarity.
1171
1172         * loader/SubresourceLoader.h:
1173         * loader/cf/SubresourceLoaderCF.cpp:
1174         (WebCore::SubresourceLoader::didReceiveDataArray):
1175         Updated for errorLoadingResource renaming.
1176
1177 2012-06-07  Konrad Piascik  <kpiascik@rim.com>
1178
1179         [BlackBerry] Update PlayBook's User Agent String for Web Inspector
1180         https://bugs.webkit.org/show_bug.cgi?id=88543
1181
1182         Reviewed by Antonio Gomes.
1183
1184         We expect users to upgrade their devices so developers only need the latest UA String.
1185
1186         No tests needed.
1187
1188         * inspector/front-end/SettingsScreen.js:
1189         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
1190
1191 2012-06-07  Shawn Singh  <shawnsingh@chromium.org>
1192
1193         [chromium] Remove obsolete FIXME comment about a layer sorting bug.
1194         https://bugs.webkit.org/show_bug.cgi?id=88546
1195
1196         Reviewed by James Robinson.
1197
1198         No tests needed, only comment changed. The comment referred to a
1199         potential bug that actually will not occur. The W3C spec on CSS 3d
1200         transforms indicates that layers that do not share the same "3d
1201         rendering context" do not sort together, and our existing code
1202         sorts this way already.
1203
1204         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1205         (WebCore::subtreeShouldRenderToSeparateSurface):
1206
1207 2012-06-07  Adam Barth  <abarth@webkit.org>
1208
1209         Settings::defaultDeviceScaleFactor is redundant with Page::deviceScaleFactor
1210         https://bugs.webkit.org/show_bug.cgi?id=88375
1211
1212         Reviewed by James Robinson.
1213
1214         This patch removes Settings::defaultDeviceScaleFactor because it is
1215         redundant with Page::deviceScaleFactor now that we no longer support
1216         target-densitydpi.  Page::deviceScaleFactor is the canonical place to
1217         store the device scale factor.
1218
1219         * WebCore.exp.in:
1220         * page/Settings.cpp:
1221         (WebCore::Settings::Settings):
1222         (WebCore):
1223         * page/Settings.h:
1224         (Settings):
1225         * testing/InternalSettings.cpp:
1226         (WebCore::InternalSettings::setDeviceScaleFactor):
1227
1228 2012-06-07  Alec Flett  <alecflett@chromium.org>
1229
1230         IndexedDB: Error codes, phase one
1231         https://bugs.webkit.org/show_bug.cgi?id=88459
1232
1233         Reviewed by Tony Chang.
1234
1235         This phase gets rid of the now-deprecated NOT_ALLOWED_ERR and
1236         NON_TRANSIENT_ERR from earlier versions of the spec, and
1237         normalizes the place where TypeError should be thrown so that it's
1238         easier to update when the bindings change.
1239
1240         No new tests: existing tests cover these changes and have been updated.
1241
1242         * Modules/indexeddb/IDBCursor.cpp:
1243         (WebCore::IDBCursor::advance):
1244         (WebCore::IDBCursor::continueFunction):
1245         (WebCore::IDBCursor::stringToDirection):
1246         (WebCore::IDBCursor::directionToString):
1247         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
1248         (WebCore::IDBCursorBackendImpl::update):
1249         (WebCore::IDBCursorBackendImpl::deleteFunction):
1250         * Modules/indexeddb/IDBDatabase.cpp:
1251         (WebCore::IDBDatabase::createObjectStore):
1252         (WebCore::IDBDatabase::deleteObjectStore):
1253         (WebCore::IDBDatabase::setVersion):
1254         (WebCore::IDBDatabase::transaction):
1255         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1256         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1257         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
1258         (WebCore::IDBDatabaseBackendImpl::setVersion):
1259         * Modules/indexeddb/IDBDatabaseException.cpp:
1260         (WebCore):
1261         * Modules/indexeddb/IDBDatabaseException.h:
1262         * Modules/indexeddb/IDBDatabaseException.idl:
1263         * Modules/indexeddb/IDBFactory.cpp:
1264         (WebCore::IDBFactory::open):
1265         (WebCore::IDBFactory::deleteDatabase):
1266         * Modules/indexeddb/IDBObjectStore.cpp:
1267         (WebCore::IDBObjectStore::index):
1268         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1269         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1270         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
1271         * Modules/indexeddb/IDBRequest.cpp:
1272         (WebCore::IDBRequest::result):
1273         (WebCore::IDBRequest::errorCode):
1274         (WebCore::IDBRequest::webkitErrorMessage):
1275         * Modules/indexeddb/IDBTransaction.cpp:
1276         (WebCore::IDBTransaction::objectStore):
1277         (WebCore::IDBTransaction::stringToMode):
1278         (WebCore::IDBTransaction::modeToString):
1279         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1280         (WebCore::IDBTransactionBackendImpl::objectStore):
1281
1282 2012-06-07  Dana Jansens  <danakj@chromium.org>
1283
1284         [chromium] Free texture from CCIOSurfaceLayerImpl when it is destroyed
1285         https://bugs.webkit.org/show_bug.cgi?id=88371
1286
1287         Reviewed by James Robinson.
1288
1289         Unit test: CCLayerTreeHostImplTest.layersFreeTextures
1290
1291         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
1292         (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
1293         (WebCore::CCIOSurfaceLayerImpl::willDraw):
1294
1295 2012-06-07  Peter Beverloo  <peter@chromium.org>
1296
1297         Buildfix for ENABLE_OVERFLOW_SCROLLING=0 (though defined)
1298         https://bugs.webkit.org/show_bug.cgi?id=88564
1299
1300         Reviewed by Adam Barth.
1301
1302         Where ENABLE(X) mandates that X both has to be defined and evaluates to
1303         true as a lone preprocessor statement, there were two places in the CSS
1304         property and value input files where only was checked whether is has
1305         been defined. This also goes against other #ifdefs in those files.
1306
1307         * css/CSSPropertyNames.in:
1308         * css/CSSValueKeywords.in:
1309
1310 2012-06-07  Ami Fischman  <fischman@chromium.org>
1311
1312         Plumb CORS attribute information from HTMLMediaElement to media players so it can be used
1313         https://bugs.webkit.org/show_bug.cgi?id=88349
1314
1315         Reviewed by Adam Barth.
1316
1317         Test: http/tests/security/video-cross-origin-readback.html
1318
1319         * html/HTMLMediaElement.cpp:
1320         (WebCore::HTMLMediaElement::mediaPlayerCORSMode):
1321         (WebCore):
1322         * html/HTMLMediaElement.h:
1323         (HTMLMediaElement):
1324         * html/canvas/CanvasRenderingContext.cpp:
1325         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
1326         * platform/graphics/MediaPlayer.cpp:
1327         (WebCore::MediaPlayer::didPassCORSAccessCheck):
1328         (WebCore):
1329         * platform/graphics/MediaPlayer.h:
1330         (WebCore::MediaPlayerClient::mediaPlayerCORSMode):
1331         (MediaPlayer):
1332         * platform/graphics/MediaPlayerPrivate.h:
1333         (WebCore::MediaPlayerPrivateInterface::didPassCORSAccessCheck):
1334         (MediaPlayerPrivateInterface):
1335
1336 2012-06-07  Mark Hahnenberg  <mhahnenberg@apple.com>
1337
1338         Worker tear-down can re-enter JSC during GC finalization
1339         https://bugs.webkit.org/show_bug.cgi?id=88449
1340
1341         Reviewed by Geoffrey Garen.
1342
1343         No new tests. 
1344
1345         This is the first of two patches to fix this issue with Workers.
1346
1347         * workers/AbstractWorker.cpp:
1348         (WebCore::AbstractWorker::~AbstractWorker): We don't need to call onDestroyWorker() here, it 
1349         will be called elsewhere in contextDestroyed().
1350
1351 2012-06-07  Jer Noble  <jer.noble@apple.com>
1352
1353         sometimes all slaved videos don't start playing
1354         https://bugs.webkit.org/show_bug.cgi?id=88553
1355
1356         Reviewed by Darin Adler.
1357
1358         Test: media/media-controller-time-clamp.html
1359
1360         Some PlatformClock classes will occasionally return times < 0 and will
1361         always return times slightly > duration() when playback has ended.  Clamp
1362         the value of currentTime() to the specified [0..duration] range.
1363
1364         * html/MediaController.cpp:
1365         (MediaController::currentTime):
1366
1367 2012-06-07  Simon Fraser  <simon.fraser@apple.com>
1368
1369         Optimize FrameView::scrollXForFixedPosition() / scrollYForFixedPosition()
1370         https://bugs.webkit.org/show_bug.cgi?id=88475
1371
1372         Reviewed by Sam Weinig.
1373         
1374         FrameView's scrollXForFixedPosition() and scrollYForFixedPosition()
1375         methods were often called together, but they do duplicate work,
1376         including calling into platform widget code which might be slow.
1377         
1378         Fix by converting scrollOffsetForFixedPosition() from being a wrapper
1379         that just calls scrollXForFixedPosition() and scrollYForFixedPosition()
1380         to the method that does all the work, calling just once into platform
1381         widget code.
1382         
1383         Changed callers to use scrollOffsetForFixedPosition() rather than make
1384         two separate method calls.
1385         
1386         Added ScrollView::layoutSize() and visibleSize() methods for
1387         convenience.
1388         
1389         Removed FrameView::scrollXForFixedPosition and FrameView::scrollYForFixedPosition
1390         to avoid inefficient callers in future.
1391
1392         No new tests; refactoring only.
1393
1394         * page/FrameView.cpp:
1395         (WebCore::fixedPositionScrollOffset):
1396         (WebCore::FrameView::scrollOffsetForFixedPosition):
1397         * page/FrameView.h: Removed scrollXForFixedPosition and scrollYForFixedPosition.
1398         * platform/ScrollView.cpp:
1399         (WebCore::ScrollView::layoutSize):
1400         * platform/ScrollView.h:
1401         (WebCore::ScrollView::visibleSize):
1402         * rendering/RenderLayer.cpp:
1403         (WebCore::RenderLayer::backgroundClipRect):
1404         * rendering/RenderLayer.h:
1405         (WebCore::ClipRect::move):
1406         * rendering/RenderLayerCompositor.cpp:
1407         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
1408         * rendering/RenderView.cpp:
1409         (WebCore::RenderView::computeRectForRepaint):
1410
1411 2012-06-07  Raymes Khoury  <raymes@chromium.org>
1412
1413         Incorrect rect-based hit-test result for culled-inline elements
1414         https://bugs.webkit.org/show_bug.cgi?id=85849
1415
1416         Reviewed by Levi Weintraub.
1417
1418         Modified code which blindly adds culled inlines to rect-based hit-test
1419         results so that it only does so if the child node does not fully cover
1420         the hit-test region.
1421
1422         Test: fast/dom/nodesFromRect-culled-inline.html
1423
1424         * rendering/HitTestResult.cpp:
1425         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
1426
1427 2012-06-07  Daniel Erat  <derat@chromium.org>
1428
1429         Make Skia backend honor requests for subpixel-positioned text.
1430         https://bugs.webkit.org/show_bug.cgi?id=88263
1431
1432         Reviewed by Tony Chang.
1433
1434         Add subpixel positioning field to FontRenderStyle and rename
1435         subpixel rendering field.
1436
1437         Pass setting to SkPaint in FontPlatformDataHarfBuzz and remove
1438         round() call when computing glyph widths in SimpleFontDataSkia.
1439
1440         Test: platform/chromium-linux/fast/text/chromium-linux-text-subpixel-positioning.html
1441
1442         * platform/graphics/blackberry/skia/PlatformSupport.cpp:
1443         (WebCore::setFontRenderStyleDefaults):
1444         (WebCore::PlatformSupport::getRenderStyleForStrike):
1445         * platform/graphics/chromium/FontRenderStyle.h:
1446         (WebCore::FontRenderStyle::FontRenderStyle):
1447         (WebCore::FontRenderStyle::operator==):
1448         (FontRenderStyle):
1449         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
1450         (WebCore):
1451         (WebCore::FontPlatformData::setSubpixelRendering):
1452         (WebCore::FontPlatformData::setSubpixelPositioning):
1453         (WebCore::FontPlatformData::setupPaint):
1454         (WebCore::FontPlatformData::querySystemForRenderStyle):
1455         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
1456         (FontPlatformData):
1457         * platform/graphics/skia/SimpleFontDataSkia.cpp:
1458         (WebCore::SimpleFontData::platformWidthForGlyph):
1459
1460 2012-06-06  Dana Jansens  <danakj@chromium.org>
1461
1462         [chromium] In each composited frame, didDraw() should only be called on layers for which willDraw() was called
1463         https://bugs.webkit.org/show_bug.cgi?id=88469
1464
1465         Reviewed by James Robinson.
1466
1467         Unit test: CCLayerTreeHostImplTest.didDrawNotCalledOnScissoredLayer
1468
1469         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1470         (WebCore::shouldDrawLayer):
1471         (WebCore):
1472         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1473         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
1474
1475 2012-06-07  Alexei Filippov  <alexeif@chromium.org>
1476
1477         Web Inspector: sorting of object fields is broken in heap profiler
1478         https://bugs.webkit.org/show_bug.cgi?id=88532
1479
1480         A recent change to heap profiler has replaced getters with functions.
1481         Function calls were missing in couple places after that change.
1482
1483         Reviewed by Vsevolod Vlasov.
1484
1485         Tests: inspector/profiler/heap-snapshot-summary-sorting-fields.html
1486                inspector/profiler/heap-snapshot-summary-sorting-instances.html
1487
1488         * inspector/front-end/HeapSnapshot.js:
1489         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
1490
1491 2012-06-07  Alexander Pavlov  <apavlov@chromium.org>
1492
1493         Web Inspector: Consider Ctrl+Shift+key as valid zoom change combinations
1494         https://bugs.webkit.org/show_bug.cgi?id=88520
1495
1496         Reviewed by Vsevolod Vlasov.
1497
1498         * inspector/front-end/inspector.js:
1499         (WebInspector.documentKeyDown):
1500
1501 2012-06-07  Arvid Nilsson  <anilsson@rim.com>
1502
1503         [BlackBerry] Allow WebPageCompositor to blend a transparent web page
1504         https://bugs.webkit.org/show_bug.cgi?id=88233
1505
1506         Reviewed by Rob Buis.
1507
1508         RIM PR #159998
1509
1510         Add a parameter to LayerRenderer::compositeBuffer() indicating whether
1511         the buffer contents are opaque, and set the GL blend mode accordingly.
1512
1513         This is not currently testable using BlackBerry testing infrastructure.
1514
1515         Reviewed internally by Jakob Petsovits.
1516
1517         * platform/graphics/blackberry/LayerRenderer.cpp:
1518         (WebCore::LayerRenderer::compositeBuffer):
1519         * platform/graphics/blackberry/LayerRenderer.h:
1520         (LayerRenderer):
1521
1522 2012-06-07  Alexei Filippov  <alexeif@chromium.org>
1523
1524         Web Inspector: reuse edge_count field of heap snapshot to store retained size
1525         https://bugs.webkit.org/show_bug.cgi?id=88416
1526
1527         The edge_count field is unused after node first edge indexes have been built.
1528         Store node retained size in there instead of allocating an extra array for it.
1529
1530         Reviewed by Vsevolod Vlasov.
1531
1532         * inspector/front-end/HeapSnapshot.js:
1533         (WebInspector.HeapSnapshotNode.prototype.retainedSize):
1534         (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):
1535
1536 2012-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1537
1538         Unreviewed, rolling out r119694.
1539         http://trac.webkit.org/changeset/119694
1540         https://bugs.webkit.org/show_bug.cgi?id=88529
1541
1542         it broke PrerenderBrowserTest.PrerenderHTML5VideoNetwork
1543         (Requested by loislo on #webkit).
1544
1545         * html/HTMLMediaElement.cpp:
1546         * html/HTMLMediaElement.h:
1547         (HTMLMediaElement):
1548         * html/canvas/CanvasRenderingContext.cpp:
1549         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
1550         * platform/graphics/MediaPlayer.cpp:
1551         * platform/graphics/MediaPlayer.h:
1552         (MediaPlayer):
1553         * platform/graphics/MediaPlayerPrivate.h:
1554
1555 2012-06-07  Shinya Kawanaka  <shinyak@chromium.org>
1556
1557         Delete a contenteditable element having a Shadow DOM causes a crash.
1558         https://bugs.webkit.org/show_bug.cgi?id=86345
1559
1560         Reviewed by Ryosuke Niwa.
1561
1562         In VisibleSelection::validate(), m_start.downstream() or m_end.upstream() might cross
1563         editing boundaries. So we adjust selection after calling them again.
1564
1565         Test: editing/shadow/select-contenteditable-shadowhost.html
1566
1567         * editing/VisibleSelection.cpp:
1568         (WebCore::VisibleSelection::validate):
1569
1570 2012-06-07  Vivek Galatage  <vivekgalatage@gmail.com>
1571
1572         No new line at the end for SVGCSSPropertyNames.in causes compilation warning
1573         https://bugs.webkit.org/show_bug.cgi?id=88503
1574
1575         Reviewed by Ryosuke Niwa.
1576
1577         Added new line at the end of the file.
1578
1579         No new tests required.
1580
1581         * css/SVGCSSPropertyNames.in:
1582
1583 2012-06-07  Csaba Osztrogonác  <ossy@webkit.org>
1584
1585         [Qt][Win] Use OS(WINDOWS) instead of Q_WS_WIN in WebCore/platform/graphics/GraphicsContext.h
1586         https://bugs.webkit.org/show_bug.cgi?id=88305
1587
1588         Reviewed by Simon Hausmann.
1589
1590         * platform/graphics/GraphicsContext.h: Buildfix.
1591         (GraphicsContext):
1592
1593 2012-06-07  Shinya Kawanaka  <shinyak@chromium.org>
1594
1595         Incorrect data retrieved in calls to get selection data in client->textWillBeReplaced from CharacterData::setDataAndUpdate
1596         https://bugs.webkit.org/show_bug.cgi?id=66120
1597
1598         Reviewed by Ryosuke Niwa.
1599
1600         Since FrameSelection::textWillBeReplaced was called before replacing text, updated Selection became
1601         temporarily invalid. The invalid selection was set to updateSelection(), so client will have
1602         invalid selection.
1603
1604         This patch makes calling updateSelection() after updating selection.
1605
1606         No new tests, it's too hard to create a correct test cases in DRT.
1607
1608         * dom/CharacterData.cpp:
1609         (WebCore::CharacterData::setDataAndUpdate):
1610         * editing/FrameSelection.cpp:
1611         (WebCore::updatePositionAfterAdoptingTextReplacement):
1612         (WebCore::FrameSelection::textWasReplaced):
1613         * editing/FrameSelection.h:
1614         (FrameSelection):
1615
1616 2012-06-07  Li Yin  <li.yin@intel.com>
1617
1618         FileAPI: If type consists of non-ASCII characters in Blob constructor, it should throw a SyntaxError.
1619         https://bugs.webkit.org/show_bug.cgi?id=88411
1620
1621         Reviewed by Kentaro Hara.
1622
1623         From spec: http://dev.w3.org/2006/webapi/FileAPI/#constructorBlob
1624         If type consists of any non-ASCII characters, throw a SyntaxError and
1625         return from this algorithm.
1626         This patch checks the String is ASCii or not, if not, throw SyntaxError.
1627
1628         Test: fast/files/blob-constructor.html
1629
1630         * bindings/js/JSBlobCustom.cpp:
1631         (WebCore::JSBlobConstructor::constructJSBlob):
1632         * bindings/v8/custom/V8BlobCustom.cpp:
1633         (WebCore::V8Blob::constructorCallback):
1634
1635 2012-06-07  Arpita Bahuguna  <arpitabahuguna@gmail.com>
1636
1637         InsertUnorderedList and InsertOrderedList (execCommand) do not remove bullets
1638         https://bugs.webkit.org/show_bug.cgi?id=84597
1639
1640         Reviewed by Ryosuke Niwa.
1641
1642         Comparison between start and end VisiblePositions will fail when a position inside
1643         a paragraph is compared with one at the start of the paragraph.
1644         
1645         This fix thus converts the end VisiblePosition (which could be inside the paragraph)
1646         to the start of the paragraph thereby enabling a proper comparison of start and end
1647         positions.
1648
1649         Test: editing/execCommand/remove-list-from-multi-list-items.html
1650
1651         * editing/InsertListCommand.cpp:
1652         (WebCore::InsertListCommand::selectionHasListOfType):
1653
1654 2012-06-07  Li Yin  <li.yin@intel.com>
1655
1656         [FileAPI] FileReader should throw an InvalidStateError exception when readyState is LOADING
1657         https://bugs.webkit.org/show_bug.cgi?id=88212
1658
1659         Reviewed by Jian Li.
1660
1661         From Spec: http://www.w3.org/TR/FileAPI/#readAsBinaryString
1662         FileReader should throw an InvalidStateError exception instead of NOT_ALLOWED_ERR
1663         when the readyState is LOADING.
1664         Also delete OperationNotAllowedException related code, because it is not longer needed.
1665
1666         Tests: fast/files/read-file-async.html
1667                fast/files/workers/worker-read-file-async.html
1668
1669         * CMakeLists.txt:
1670         * DerivedSources.cpp:
1671         * DerivedSources.make:
1672         * DerivedSources.pri:
1673         * GNUmakefile.list.am:
1674         * Target.pri:
1675         * WebCore.gypi:
1676         * WebCore.vcproj/WebCore.vcproj:
1677         * WebCore.xcodeproj/project.pbxproj:
1678         * dom/DOMExceptions.in:
1679         * fileapi/FileReader.cpp:
1680         (WebCore::FileReader::readInternal): Changed it to throw INVALID_STATE_ERR.
1681         * fileapi/FileReader.idl: Changed it to raise DOMException for all read methods.
1682         * fileapi/OperationNotAllowedException.cpp: Removed.
1683         * fileapi/OperationNotAllowedException.h: Removed.
1684         * fileapi/OperationNotAllowedException.idl: Removed.
1685
1686 2012-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1687
1688         Unreviewed, rolling out r119689.
1689         http://trac.webkit.org/changeset/119689
1690         https://bugs.webkit.org/show_bug.cgi?id=88516
1691
1692         it broke didDrawNotCalledOnScissoredLayer webkit_unit_test
1693         (Requested by loislo on #webkit).
1694
1695         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1696         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1697         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
1698
1699 2012-06-07  Ami Fischman  <fischman@chromium.org>
1700
1701         Plumb CORS attribute information from HTMLMediaElement to media players so it can be used
1702         https://bugs.webkit.org/show_bug.cgi?id=88349
1703
1704         Reviewed by Adam Barth.
1705
1706         Test: http/tests/security/video-cross-origin-readback.html
1707
1708         * html/HTMLMediaElement.cpp:
1709         (WebCore::HTMLMediaElement::mediaPlayerCORSMode):
1710         (WebCore):
1711         * html/HTMLMediaElement.h:
1712         (HTMLMediaElement):
1713         * platform/graphics/MediaPlayer.h:
1714         (WebCore::MediaPlayerClient::mediaPlayerCORSMode):
1715
1716 2012-06-07  Hironori Bono  <hbono@chromium.org>
1717
1718         Use light gray for grammar markers on Windows and Linux
1719         https://bugs.webkit.org/show_bug.cgi?id=88398
1720
1721         Reviewed by Ryosuke Niwa.
1722
1723         This change changes the color of grammar markers from dark gray to light gray
1724         and rebaselines a couple of pixel tests affected by this change.
1725
1726         No new tests because it changes the marker color of an existing test 'grammar-markers.html'.
1727
1728         * platform/graphics/skia/GraphicsContextSkia.cpp: Change dark gray to light gray.
1729
1730 2012-06-07  Yoshifumi Inoue  <yosin@chromium.org>
1731
1732         [Platform] Introduce conversion from/to Deciaml to/from double
1733         https://bugs.webkit.org/show_bug.cgi?id=88480
1734
1735         Reviewed by Kent Tamura.
1736
1737         This patch added functions for Decimal/Double conversion and isInfinity
1738         for reducing patch size of introducing Decimal arithmetic, bug 88383.
1739
1740         Tests: WebKit/chromium/tests/DecimalTest.cpp
1741
1742         * platform/Decimal.cpp:
1743         (WebCore::Decimal::fromDouble): Added.
1744         (WebCore::Decimal::toDouble): Added.
1745         * platform/Decimal.h:
1746         (WebCore::Decimal::EncodedData::isInfinity): Added for isinf()
1747         (WebCore::Decimal::isInfinity): Added.
1748
1749 2012-06-06  Xianzhu Wang  <wangxianzhu@chromium.org>
1750
1751         Element.getBoundingClientRect() and Element.getClientRects() return incorrect values in frames in a scaled page
1752         https://bugs.webkit.org/show_bug.cgi?id=88430
1753
1754         Element.getBoudingClientRect() and Element.getClientRects() should not scale back the rects
1755         if the element is in a frame because page scale only apply to elements in the main frame.
1756
1757         Reviewed by James Robinson.
1758
1759         Tests: fast/dom/Element/scale-page-bounding-client-rect-in-frame.html
1760                fast/dom/Element/scale-page-client-rects-in-frame.html
1761
1762         * dom/Document.cpp:
1763         (WebCore):
1764         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale): Extracted from Element.cpp and Range.cpp and fixed issue of pageScale in frames.
1765         (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale): Extracted from Element.cpp and fixed issue of pageScale in frames.
1766         * dom/Document.h:
1767         (WebCore):
1768         (Document):
1769         * dom/Element.cpp:
1770         (WebCore::Element::getClientRects):
1771         (WebCore::Element::getBoundingClientRect):
1772         * dom/Range.cpp:
1773         (WebCore):
1774         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale): Moved into Document and fixed issue of pageScale in frames.
1775         (WebCore::Range::getBorderAndTextQuads):
1776         * rendering/RenderObject.h: Removed adjustFloatQuadForPageScale and adjustFloatRectForPageScale because they seem unrelated to RenderObject.
1777         (WebCore):
1778
1779 2012-06-06  Dana Jansens  <danakj@chromium.org>
1780
1781         [chromium] In each composited frame, didDraw() should only be called on layers for which willDraw() was called
1782         https://bugs.webkit.org/show_bug.cgi?id=88469
1783
1784         Reviewed by James Robinson.
1785
1786         Unit test: CCLayerTreeHostImplTest.didDrawNotCalledOnScissoredLayer
1787
1788         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1789         (WebCore::shouldDrawLayer):
1790         (WebCore):
1791         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1792         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
1793
1794 2012-06-06  Andy Estes  <aestes@apple.com>
1795
1796         Wrap uppercaseWord, lowercaseWord, and capitalizeWord with USE(APPKIT)
1797         https://bugs.webkit.org/show_bug.cgi?id=88504
1798
1799         Reviewed by Dan Bernstein.
1800
1801         uppercaseWord, lowercaseWord, and capitalizeWord are methods declared
1802         by NSResponder that subclasses are expected to implement. WebKit should
1803         only support these implementations on platforms that use AppKit.
1804
1805         * WebCore.exp.in:
1806         * editing/Editor.cpp:
1807         * editing/Editor.h:
1808         * loader/EmptyClients.h:
1809         * page/ContextMenuController.cpp:
1810         * page/EditorClient.h:
1811
1812 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1813
1814         Unreviewed, rolling out r119683.
1815         http://trac.webkit.org/changeset/119683
1816         https://bugs.webkit.org/show_bug.cgi?id=88505
1817
1818         it broke webkit-unit-test
1819         WebLayerTreeViewThreadedTest.InstrumentationCallbacks on mac
1820         (Requested by loislo on #webkit).
1821
1822         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1823         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
1824         (WebCore::CCLayerTreeHost::setVisible):
1825
1826 2012-06-06  Robert Kroeger  <rjkroege@chromium.org>
1827
1828         [Chromium] Re-enable handling of smooth scrolling on Chromium Linux/Windows
1829         https://bugs.webkit.org/show_bug.cgi?id=87535 by adding support for
1830         m_hasPreciseScrollingDelta on all Chromium platforms and adjusting ScrollAnimator
1831         and ScrollAnimatorNone accordingly to let m_hasPreciseScrollingDelta == true
1832         force exact (non-animated) scrolling.
1833
1834         Reviewed by James Robinson.
1835
1836         Updated WebKit unit tests to validate change.
1837
1838         * platform/PlatformWheelEvent.h:
1839         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Adjusted #ifdefs to
1840         make m_hasPreciseScrollingDelta available on all Chromium platforms.
1841         (PlatformWheelEvent):
1842         * platform/ScrollAnimator.cpp:
1843         (WebCore::ScrollAnimator::handleWheelEvent): Default scroll type is set based on 
1844         m_hasPreciseScrollingDelta value.
1845         * platform/ScrollAnimatorNone.cpp:
1846         (WebCore::ScrollAnimatorNone::scroll): Scroll precisely when necessary.
1847         * platform/ScrollTypes.h: Added additional pixel scrolling subtype.
1848         * platform/ScrollableArea.cpp:
1849         (WebCore::ScrollableArea::scroll): Updated for additional pixel scroll subtype.
1850
1851 2012-06-06  Michal Mocny  <mmocny@google.com>
1852
1853         [chromium] Stop dropping texture limits when the layer tree host becomes invisible, and initialize with 0 allocation.
1854         https://bugs.webkit.org/show_bug.cgi?id=87747
1855
1856         Reviewed by Adrienne Walker.
1857
1858         GpuMemoryManager manages texture memory allocation limits. It will send a 0 allocation when a renderer becomes
1859         invisible, and an appropriate allocation after a renderer is initialized.  These numbers will change
1860         depending on the state of memory across devices and other renderers, so we would like to remove all explicit
1861         management by the renderers themselves.
1862
1863         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1864         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
1865         (WebCore::CCLayerTreeHost::setVisible):
1866
1867 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1868
1869         Unreviewed, rolling out r119680.
1870         http://trac.webkit.org/changeset/119680
1871         https://bugs.webkit.org/show_bug.cgi?id=88498
1872
1873         It broke mac build (Requested by kinuko on #webkit).
1874
1875         * fileapi/File.cpp:
1876         (WebCore::File::File):
1877         (WebCore::File::lastModifiedDate):
1878         (WebCore::File::lastModifiedDateForBinding):
1879         (WebCore):
1880         (WebCore::File::captureSnapshot):
1881         * fileapi/File.h:
1882         (File):
1883         * fileapi/File.idl:
1884         * platform/FileMetadata.h:
1885         (WebCore::FileMetadata::FileMetadata):
1886         * platform/FileSystem.h:
1887         * platform/chromium/support/WebHTTPBody.cpp:
1888         (WebKit::WebHTTPBody::elementAt):
1889         * platform/network/BlobData.cpp:
1890         (WebCore):
1891
1892 2012-06-06  Kinuko Yasuda  <kinuko@chromium.org>
1893
1894         File::lastModifiedDate should use NaN or separate boolean flag for null Date value
1895         https://bugs.webkit.org/show_bug.cgi?id=87826
1896
1897         Reviewed by Kent Tamura.
1898
1899         Test: http/tests/local/fileapi/file-last-modified-after-delete.html
1900
1901         * fileapi/File.cpp:
1902         (WebCore::File::File):
1903         (WebCore::File::captureSnapshot):
1904         (WebCore::File::lastModifiedDate):
1905         (WebCore::File::lastModifiedDateForBinding): Removed.
1906         * fileapi/File.h:
1907         (File):
1908         * fileapi/File.idl:
1909         * platform/FileMetadata.h:
1910         (WebCore::FileMetadata::FileMetadata):
1911         * platform/FileSystem.h:
1912         * platform/chromium/support/WebHTTPBody.cpp:
1913         (WebKit::WebHTTPBody::elementAt):
1914         * platform/network/BlobData.cpp:
1915         (WebCore):
1916
1917 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1918
1919         Unreviewed, rolling out r119668.
1920         http://trac.webkit.org/changeset/119668
1921         https://bugs.webkit.org/show_bug.cgi?id=88493
1922
1923         Hitting assertions in debug builds (Requested by rniwa on
1924         #webkit).
1925
1926         * rendering/RenderBlock.cpp:
1927         (WebCore::RenderBlock::localCaretRect):
1928         * rendering/RenderBoxModelObject.cpp:
1929         * rendering/RenderBoxModelObject.h:
1930         (RenderBoxModelObject):
1931         * rendering/RenderInline.cpp:
1932         * rendering/RenderInline.h:
1933         (RenderInline):
1934
1935 2012-06-06  Julien Chaffraix  <jchaffraix@webkit.org>
1936
1937         Cache isSelfPaintingLayer() for better performance
1938         https://bugs.webkit.org/show_bug.cgi?id=88464
1939
1940         Reviewed by Simon Fraser.
1941
1942         Covered by existing tests (repaint tests among them).
1943
1944         isSelfPaintingLayer() has shown up several times on some scrolling benchmarks due
1945         to the function being called several time per paint phase. This change caches the
1946         boolean at style change time.
1947         
1948         On http://dglazkov.github.com/performance-tests/biggrid.html, this nearly speed-up
1949         painting by 2 (lowering the time taken to paint the newly exposed area when scrolling
1950         on a 10,000 * 100 table from 95ms to 50ms).
1951
1952         * rendering/RenderLayer.cpp:
1953         (WebCore::RenderLayer::RenderLayer):
1954         Initialized m_isSelfPaintingLayer here.
1955
1956         (WebCore::RenderLayer::paintLayer):
1957         Changed the order of the checks to get the more likely check first.
1958
1959         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
1960         Renamed from isSelfPaintingLayer to make m_isNormalFlowOnly.
1961
1962         (WebCore::RenderLayer::styleChanged):
1963         Added code to update our cached m_isSelfPaintingLayer.
1964
1965         * rendering/RenderLayer.h:
1966         (WebCore::RenderLayer::isSelfPaintingLayer):
1967         Changed to return m_isSelfPaintingLayer.
1968
1969 2012-06-06  Yoshifumi Inoue  <yosin@chromium.org>
1970
1971         REGRESSION(r109729) [Form] Rendering of select/optgroup/option combination is too slow.
1972         https://bugs.webkit.org/show_bug.cgi?id=88059
1973
1974         Reviewed by Kent Tamura.
1975
1976         This patch changes not to share RenderStyle object for option and
1977         optgroup element regardless attributes.
1978
1979         When we tried to shared RenderStyle object, rendering performance was
1980         good but we had issue in selected option and text transform, see
1981         https://bugs.webkit.org/show_bug.cgi?id=88405 for details.
1982
1983         No new tests. This patch doesn't change behavior but rendering performance.
1984
1985         * css/StyleResolver.cpp:
1986         (WebCore::StyleResolver::canShareStyleWithElement): Changed to always
1987         return false for option and optgroup.
1988
1989 2012-06-06  Alec Flett  <alecflett@chromium.org>
1990
1991         IndexedDB: Optimize single-key get()
1992         https://bugs.webkit.org/show_bug.cgi?id=85288
1993
1994         Reviewed by Tony Chang.
1995
1996         No new tests, this is just an optimization.
1997
1998         After a recent refactoring, we started creating
1999         an internal cursor with every call to get(). The
2000         most common use of get() is with a single key,
2001         so provide a fast-path to avoid creating the cursor.
2002
2003         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
2004         (WebCore::IDBIndexBackendImpl::getByRangeInternal):
2005         * Modules/indexeddb/IDBKeyRange.h:
2006         (WebCore::IDBKeyRange::isOnlyKey):
2007         (IDBKeyRange):
2008         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2009         (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal):
2010
2011 2012-06-06  Shezan Baig  <shezbaig.wk@gmail.com>
2012
2013         Caret is not rendered in empty inline contenteditable elements
2014         https://bugs.webkit.org/show_bug.cgi?id=85793
2015
2016         Reviewed by Ryosuke Niwa.
2017
2018         Override localCaretRect in RenderInline. The implementation was almost
2019         identical to localCaretRect in RenderBlock for empty block elements, so
2020         I refactored RenderBlock::localCaretRect and moved the logic to a new
2021         method 'localCaretRectForEmptyElement' in RenderBoxModelObject. The
2022         implementation of 'localCaretRect' in RenderBlock and RenderInline both
2023         use this helper method in RenderBoxModelObject.
2024
2025         Tests: editing/selection/caret-in-empty-inline-1.html
2026                editing/selection/caret-in-empty-inline-2.html
2027
2028         * rendering/RenderBlock.cpp:
2029         (WebCore::RenderBlock::localCaretRect):
2030         Modified to use RenderBoxModelObject::localCaretRectForEmptyElement.
2031         * rendering/RenderBoxModelObject.cpp:
2032         (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
2033         (WebCore):
2034         * rendering/RenderBoxModelObject.h:
2035         (RenderBoxModelObject):
2036         Add localCaretRectForEmptyElement helper method.
2037         * rendering/RenderInline.cpp:
2038         (WebCore::RenderInline::localCaretRect):
2039         (WebCore):
2040         * rendering/RenderInline.h:
2041         (RenderInline):
2042         Override localCaretRect using localCaretRectForEmptyElement.
2043
2044 2012-06-06  Alexis Menard  <alexis.menard@openbossa.org>
2045
2046         Fix border-image-slice failures on http://css3test.com.
2047         https://bugs.webkit.org/show_bug.cgi?id=88328
2048
2049         Reviewed by Tony Chang.
2050
2051         The old parsing code was assuming that the fill keyword comes after the
2052         numbers or the percentage values. http://www.w3.org/TR/css3-background/#the-border-image-slice
2053         defines the property like this : [<number> | <percentage>]{1,4} && fill? where the fill
2054         keyword is not mandatory. But according to http://www.w3.org/TR/CSS2/about.html "&&" 
2055         separates two or more components, all of which must occur, in any order. So the previous
2056         code was wrong the fill can come first following by the percentages or the numbers. http://css3test.com
2057         was covering this particular case. I took the opportunity to extend our coverage 
2058         by adding tests on many different values the boder-image-slice property could take. I
2059         also did a small cleanup by removing unused functions in BorderImageSliceParseContext.
2060
2061         Test: fast/css/getComputedStyle/getComputedStyle-border-image-slice.html
2062
2063         * css/CSSParser.cpp:
2064         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
2065         (WebCore::BorderImageSliceParseContext::commitNumber):
2066         (WebCore::BorderImageSliceParseContext::commitFill):
2067
2068 2012-06-06  Levi Weintraub  <leviw@chromium.org>
2069
2070         Use enclosingIntRect instead of pixelSnappedIntRect in RenderFileUploadControl
2071         https://bugs.webkit.org/show_bug.cgi?id=88454
2072
2073         Reviewed by Kent Tamura.
2074
2075         Properly clipping the file upload control to avoid clipping out the top of the file upload button
2076         when the control is positioned at a sub-pixel offset that rounds up.
2077
2078         Test: fast/sub-pixel/file-upload-control-at-fractional-offset.html
2079
2080         * rendering/RenderFileUploadControl.cpp:
2081         (WebCore::RenderFileUploadControl::paintObject):
2082
2083 2012-06-06  Filip Pizlo  <fpizlo@apple.com>
2084
2085         Global object variable accesses should not require an extra load
2086         https://bugs.webkit.org/show_bug.cgi?id=88385
2087
2088         Reviewed by Gavin Barraclough and Geoffrey Garen.
2089
2090         Updated JSDOMWindowBase.cpp to use the new symbol table API. this->symbolTableFoo(...)
2091         becomes symbolTableFoo(this, ...).
2092                 
2093         No new tests because no change in behavior.
2094
2095         * bindings/js/JSDOMWindowBase.cpp:
2096         (WebCore::JSDOMWindowBase::updateDocument):
2097
2098 2012-06-06  James Robinson  <jamesr@chromium.org>
2099
2100         [chromium] Move implementation of WebCore::GraphicsContext3D and related from WebKit/chromium/src to WebCore/platform/chromium/support
2101         https://bugs.webkit.org/show_bug.cgi?id=86257
2102
2103         Reviewed by Kenneth Russell.
2104
2105         The WebCore platform interfaces GraphicsContext3D and Extensions3DChromium are implemented in chromium
2106         on top of the Platform interface WebGraphicsContext3D. This moves the implementation support code from
2107         WebKit/chromium/src to WebCore/platform/chromium/support, which avoids having code in WebKit/ implementing WebCore
2108         interfaces and allows code in WebCore/platform to use this support code directly where appropriate.
2109
2110         Refactor only, no new functionality or tests.
2111
2112         * WebCore.gypi:
2113         * platform/chromium/support/Extensions3DChromium.cpp: Renamed from Source/WebKit/chromium/src/Extensions3DChromium.cpp.
2114         (WebCore):
2115         (WebCore::Extensions3DChromium::Extensions3DChromium):
2116         (WebCore::Extensions3DChromium::~Extensions3DChromium):
2117         (WebCore::Extensions3DChromium::supports):
2118         (WebCore::Extensions3DChromium::ensureEnabled):
2119         (WebCore::Extensions3DChromium::isEnabled):
2120         (WebCore::Extensions3DChromium::getGraphicsResetStatusARB):
2121         (WebCore::Extensions3DChromium::blitFramebuffer):
2122         (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
2123         (WebCore::Extensions3DChromium::postSubBufferCHROMIUM):
2124         (WebCore::Extensions3DChromium::mapBufferSubDataCHROMIUM):
2125         (WebCore::Extensions3DChromium::unmapBufferSubDataCHROMIUM):
2126         (WebCore::Extensions3DChromium::mapTexSubImage2DCHROMIUM):
2127         (WebCore::Extensions3DChromium::unmapTexSubImage2DCHROMIUM):
2128         (WebCore::Extensions3DChromium::setVisibilityCHROMIUM):
2129         (WebCore::Extensions3DChromium::discardFramebufferEXT):
2130         (WebCore::Extensions3DChromium::ensureFramebufferCHROMIUM):
2131         (WebCore::Extensions3DChromium::setGpuMemoryAllocationChangedCallbackCHROMIUM):
2132         (WebCore::Extensions3DChromium::createVertexArrayOES):
2133         (WebCore::Extensions3DChromium::deleteVertexArrayOES):
2134         (WebCore::Extensions3DChromium::isVertexArrayOES):
2135         (WebCore::Extensions3DChromium::bindVertexArrayOES):
2136         (WebCore::Extensions3DChromium::getTranslatedShaderSourceANGLE):
2137         (WebCore::Extensions3DChromium::setSwapBuffersCompleteCallbackCHROMIUM):
2138         (WebCore::Extensions3DChromium::rateLimitOffscreenContextCHROMIUM):
2139         (WebCore::Extensions3DChromium::paintFramebufferToCanvas):
2140         (WebCore::Extensions3DChromium::texImageIOSurface2DCHROMIUM):
2141         (WebCore::Extensions3DChromium::texStorage2DEXT):
2142         (WebCore::Extensions3DChromium::createQueryEXT):
2143         (WebCore::Extensions3DChromium::deleteQueryEXT):
2144         (WebCore::Extensions3DChromium::isQueryEXT):
2145         (WebCore::Extensions3DChromium::beginQueryEXT):
2146         (WebCore::Extensions3DChromium::endQueryEXT):
2147         (WebCore::Extensions3DChromium::getQueryivEXT):
2148         (WebCore::Extensions3DChromium::getQueryObjectuivEXT):
2149         * platform/chromium/support/GraphicsContext3DChromium.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp.
2150         (WebCore):
2151         (WebCore::GraphicsContext3D::GraphicsContext3D):
2152         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2153         (WebCore::GraphicsContext3D::setContextLostCallback):
2154         (WebCore::GraphicsContext3D::setErrorMessageCallback):
2155         (WebCore::GraphicsContext3D::create):
2156         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
2157         (WebCore::GraphicsContext3D::platformTexture):
2158         (WebCore::GraphicsContext3D::grContext):
2159         (WebCore::GraphicsContext3D::platformLayer):
2160         (WebCore::GraphicsContext3D::isGLES2Compliant):
2161         (WebCore::GraphicsContext3D::isResourceSafe):
2162         (WebCore::GraphicsContext3D::bindAttribLocation):
2163         (WebCore::GraphicsContext3D::bufferData):
2164         (WebCore::GraphicsContext3D::getActiveAttrib):
2165         (WebCore::GraphicsContext3D::getActiveUniform):
2166         (WebCore::GraphicsContext3D::getAttribLocation):
2167         (WebCore::GraphicsContext3D::getContextAttributes):
2168         (WebCore::GraphicsContext3D::getProgramInfoLog):
2169         (WebCore::GraphicsContext3D::getShaderInfoLog):
2170         (WebCore::GraphicsContext3D::getShaderSource):
2171         (WebCore::GraphicsContext3D::getString):
2172         (WebCore::GraphicsContext3D::getUniformLocation):
2173         (WebCore::GraphicsContext3D::shaderSource):
2174         (WebCore::GraphicsContext3D::texImage2D):
2175         (WebCore::GraphicsContext3D::texSubImage2D):
2176         (WebCore::GraphicsContext3D::reshape):
2177         (WebCore::GraphicsContext3D::markContextChanged):
2178         (WebCore::GraphicsContext3D::layerComposited):
2179         (WebCore::GraphicsContext3D::markLayerComposited):
2180         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2181         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
2182         (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
2183         (WebCore::GraphicsContext3D::getExtensions):
2184         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
2185         * platform/chromium/support/GraphicsContext3DPrivate.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.cpp.
2186         (WebCore):
2187         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2188         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2189         (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
2190         (WebCore::GraphicsContext3DPrivate::extractWebGraphicsContext3D):
2191         (GrMemoryAllocationChangedCallback):
2192         (WebCore::GrMemoryAllocationChangedCallback::GrMemoryAllocationChangedCallback):
2193         (WebCore::GrMemoryAllocationChangedCallback::onGpuMemoryAllocationChanged):
2194         (WebCore::GraphicsContext3DPrivate::grContext):
2195         (WebCore::GraphicsContext3DPrivate::markContextChanged):
2196         (WebCore::GraphicsContext3DPrivate::layerComposited):
2197         (WebCore::GraphicsContext3DPrivate::markLayerComposited):
2198         (WebCore::GraphicsContext3DPrivate::paintFramebufferToCanvas):
2199         (GraphicsContext3DContextLostCallbackAdapter):
2200         (WebCore::GraphicsContext3DContextLostCallbackAdapter::GraphicsContext3DContextLostCallbackAdapter):
2201         (WebCore::GraphicsContext3DContextLostCallbackAdapter::~GraphicsContext3DContextLostCallbackAdapter):
2202         (WebCore::GraphicsContext3DContextLostCallbackAdapter::onContextLost):
2203         (WebCore::GraphicsContext3DPrivate::setContextLostCallback):
2204         (GraphicsContext3DErrorMessageCallbackAdapter):
2205         (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::GraphicsContext3DErrorMessageCallbackAdapter):
2206         (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::~GraphicsContext3DErrorMessageCallbackAdapter):
2207         (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::onErrorMessage):
2208         (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
2209         (WebCore::GraphicsContext3DPrivate::getExtensions):
2210         (WebCore::GraphicsContext3DPrivate::initializeExtensions):
2211         (WebCore::GraphicsContext3DPrivate::supportsExtension):
2212         (WebCore::GraphicsContext3DPrivate::ensureExtensionEnabled):
2213         (WebCore::GraphicsContext3DPrivate::isExtensionEnabled):
2214         (WebCore::GraphicsContext3DPrivate::isResourceSafe):
2215         (GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
2216         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
2217         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::~GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
2218         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::onMemoryAllocationChanged):
2219         (WebCore::GraphicsContext3DPrivate::setGpuMemoryAllocationChangedCallbackCHROMIUM):
2220         (GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
2221         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
2222         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::~GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
2223         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
2224         (WebCore::GraphicsContext3DPrivate::setSwapBuffersCompleteCallbackCHROMIUM):
2225         * platform/chromium/support/GraphicsContext3DPrivate.h: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.h.
2226         (WebKit):
2227         (WebCore):
2228         (GraphicsContext3DPrivate):
2229         (WebCore::GraphicsContext3DPrivate::webContext):
2230         (WebCore::GraphicsContext3DPrivate::preserveDrawingBuffer):
2231
2232 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2233
2234         Unreviewed, rolling out r119624.
2235         http://trac.webkit.org/changeset/119624
2236         https://bugs.webkit.org/show_bug.cgi?id=88472
2237
2238         Caused worker tests to become flaky (Requested by mhahnenberg
2239         on #webkit).
2240
2241         * workers/AbstractWorker.cpp:
2242         (WebCore::AbstractWorker::~AbstractWorker):
2243         * workers/WorkerMessagingProxy.cpp:
2244         (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
2245
2246 2012-06-06  Brady Eidson  <beidson@apple.com>
2247
2248         <rdar://problem/11575112> and https://bugs.webkit.org/show_bug.cgi?id=88428
2249         REGRESSION (r115654): Opening many non-English WebArchives shows obvious encoding issues
2250
2251         Reviewed by Nate Chapin.
2252
2253         Test: fast/loader/webarchive-encoding-respected.html
2254
2255         * loader/DocumentLoader.cpp:
2256         (WebCore::DocumentLoader::commitData): Properly set the main resource encoding from the webarchive.
2257
2258 2012-06-06  Mark Hahnenberg  <mhahnenberg@apple.com>
2259
2260         Worker tear-down can re-enter JSC during GC finalization
2261         https://bugs.webkit.org/show_bug.cgi?id=88449
2262
2263         Reviewed by Geoffrey Garen.
2264
2265         No new tests. Current regression tests cover these changes.
2266
2267         * workers/AbstractWorker.cpp: 
2268         (WebCore::AbstractWorker::~AbstractWorker): We don't need to call onDestroyWorker() here, it 
2269         will be called elsewhere in contextDestroyed().
2270         * workers/WorkerMessagingProxy.cpp:
2271         (WebCore::WorkerMessagingProxy::workerObjectDestroyed): We make the call to terminateWorkerContext()
2272         and workerContextDestroyed() asynchronous to avoid entering JSC during GC finalization.
2273
2274 2012-06-06  Tony Chang  <tony@chromium.org>
2275
2276         webkit crashes on debug builds when running IETC flexbox-ordinal-group-001.htm
2277         https://bugs.webkit.org/show_bug.cgi?id=85832
2278
2279         Reviewed by Ojan Vafai.
2280
2281         We were using a HashSet<unsigned>, which can't hold the value of 0.
2282         According to the spec, 0 isn't a valid value, so at CSS parse time,
2283         reject the value 0. This lets us pass the test, although that's kind
2284         of by accident.
2285
2286         We could allow 0 for box-ordinal-group, but there are some perf implications
2287         to having allowing a value below the initial value (1 in this case).
2288
2289         We still allow 0 for box-flex-group, because that's what the existing code
2290         does and there are tests expecting this behavior.
2291
2292         No new tests, covered by ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm
2293         which was crashing.
2294
2295         * css/CSSParser.cpp:
2296         (WebCore::CSSParser::parseValue): Reject 0 for -webkit-box-ordinal-group.
2297
2298 2012-06-06  Ojan Vafai  <ojan@chromium.org>
2299
2300         Remove some magic from the -webkit-flex shorthand parsing to match the changes in the spec
2301         https://bugs.webkit.org/show_bug.cgi?id=88444
2302
2303         Reviewed by Tony Chang.
2304
2305         -Unset positive flex defaults to 0.
2306         -Unset negative flex defaults to 1. No magic of doing something different if positive flex was set.
2307
2308         * css/CSSParser.cpp:
2309         (WebCore::CSSParser::parseFlex):
2310
2311 2012-06-06  Ryosuke Niwa  <rniwa@webkit.org>
2312
2313         Revert r119440 now that I have a time to rebaseline them all!
2314
2315         * platform/ScrollbarThemeComposite.cpp:
2316         (WebCore::ScrollbarThemeComposite::thumbLength):
2317
2318 2012-06-06  Joshua Bell  <jsbell@chromium.org>
2319
2320         IndexedDB: Infinite recursion in IDBObjectStore.openCursor(key, legacy_constant)
2321         https://bugs.webkit.org/show_bug.cgi?id=88431
2322
2323         Reviewed by Tony Chang.
2324
2325         Function was calling itself, rather than delegating to the correct (IDBKeyRange) overload.
2326
2327         Test: storage/indexeddb/legacy-constants.html
2328
2329         * Modules/indexeddb/IDBObjectStore.cpp:
2330         (WebCore::IDBObjectStore::openCursor):
2331
2332 2012-06-06  Joshua Bell  <jsbell@chromium.org>
2333
2334         IndexedDB: Rename IDBFactory.getDatabaseNames() to webkitGetDatabaseNames()
2335         https://bugs.webkit.org/show_bug.cgi?id=86874
2336
2337         Reviewed by Ojan Vafai.
2338
2339         The function is non-standard, and should be prefixed.
2340
2341         Test: storage/indexeddb/factory-basics.html
2342
2343         * Modules/indexeddb/IDBFactory.idl:
2344
2345 2012-06-06  Julien Chaffraix  <jchaffraix@webkit.org>
2346
2347         Add support for direction on table row group with collapsing borders
2348         https://bugs.webkit.org/show_bug.cgi?id=87900
2349
2350         Reviewed by Ojan Vafai.
2351
2352         Tests: fast/table/border-collapsing/first-cell-left-border-hidden-table-ltr-section-rtl.html
2353                fast/table/border-collapsing/last-cell-left-border-hidden-table-ltr-section-rtl.html
2354                fast/table/border-collapsing/left-border-table-ltr-section-rtl.html
2355                fast/table/border-collapsing/left-border-table-rtl-section-ltr.html
2356                fast/table/border-collapsing/left-border-table-rtl-section-rtl.html
2357                fast/table/border-collapsing/left-border-vertical-lr-table-ltr-section-rtl.html
2358                fast/table/border-collapsing/left-border-vertical-lr-table-rtl-section-ltr.html
2359                fast/table/border-collapsing/left-border-vertical-lr-table-rtl-section-rtl.html
2360                fast/table/border-collapsing/rtl-table-left-border-hidden.html
2361                fast/table/border-collapsing/top-border-vertical-rl-table-ltr-section-rtl.html
2362                fast/table/border-collapsing/top-border-vertical-rl-table-rtl-section-ltr.html
2363                fast/table/border-collapsing/top-border-vertical-rl-table-rtl-section-rtl.html
2364                fast/table/table-ltr-section-rtl.html
2365                fast/table/table-rtl-section-ltr.html
2366                fast/table/table-rtl-section-rtl.html
2367
2368         This change enables proper support for direction on table row group.
2369         The current code would allow people to set direction on the row group but would still
2370         use the table's code for directionality checks (with surprising consequences).
2371
2372         The main change involve swapping end / start borders in case of mixed directionality
2373         as those 2 are not in sync.
2374         
2375         Example: <table dir="ltr"><tbody dir="rtl"><td id="cell0"></td><td id="cell1"></td></tbody></table>
2376
2377         Visually:
2378         Table: Start ---------------------> End
2379         Tbody: End <---------------------- Start
2380         Cell:  | #cell0        |           #cell1 |
2381
2382         In this example, the end table border should be compared with the tbody's start border
2383         and the last cell's (in DOM order) start border.
2384
2385         * rendering/RenderTable.cpp:
2386         (WebCore::RenderTable::tableStartBorderAdjoiningCell):
2387         (WebCore::RenderTable::tableEndBorderAdjoiningCell):
2388         Same as the other adjoining functions.
2389
2390         * rendering/RenderTable.h:
2391         (WebCore::RenderTable::lastColumnIndex):
2392         Helper function to get the last column index.
2393
2394         * rendering/RenderTableCell.cpp:
2395         (WebCore::RenderTableCell::computeCollapsedStartBorder):
2396         (WebCore::RenderTableCell::computeCollapsedEndBorder):
2397         Updated to call the table's adjoining border helpers.
2398
2399         * rendering/RenderTableCell.h:
2400         (WebCore::RenderTableCell::styleForCellFlow):
2401         Updated to use the table row group's style now that we properly support it.
2402
2403         (WebCore::RenderTableCell::isFirstOrLastCellInRow):
2404         Debug only helper to make sure we don't call the border adjoining function
2405         on non-terminal cells.
2406
2407         (WebCore::RenderTableCell::borderAdjoiningTableStart):
2408         (WebCore::RenderTableCell::borderAdjoiningTableEnd):
2409         * rendering/RenderTableRow.h:
2410         (WebCore::RenderTableRow::borderAdjoiningTableStart):
2411         (WebCore::RenderTableRow::borderAdjoiningTableEnd):
2412         * rendering/RenderTableSection.cpp:
2413         (WebCore::RenderTableSection::firstRowCellAdjoiningTableStart):
2414         (WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd):
2415         Updated the previous function to account for mixed directionality.
2416
2417         (WebCore::RenderTableSection::layoutRows):
2418         Move some of the code to setLogicalPositionForCell to match RenderBlock.
2419
2420         (WebCore::RenderTableSection::setLogicalPositionForCell):
2421         Switched direction checks to styleForCellFlow (this doesn't change anything as we
2422         were already properly flipping already but ensure better).
2423
2424         * rendering/RenderTableSection.h:
2425         (WebCore::RenderTableSection::hasSameDirectionAsTable):
2426         Added this helper to know if we have a mixed direction.
2427
2428         (WebCore::RenderTableSection::borderAdjoiningTableStart):
2429         (WebCore::RenderTableSection::borderAdjoiningTableEnd):
2430         Updated to account for mixed directionality.
2431
2432 2012-06-06  Keyar Hood  <keyar@chromium.org>
2433
2434         [Chromium] imageSmoothingEnabled should apply to patterns
2435         https://bugs.webkit.org/show_bug.cgi?id=88103
2436
2437         Reviewed by Stephen White.
2438
2439         Test: fast/canvas/canvas-imageSmoothingEnabled-patterns.html
2440
2441         When drawing patterns on a Canvas, the imageSmoothingEnabled flag is
2442         respected.
2443         * platform/graphics/skia/PlatformContextSkia.cpp:
2444         (WebCore::PlatformContextSkia::setupShader):
2445
2446 2012-06-06  Andrey Adaikin  <aandrey@chromium.org>
2447
2448         Web Inspector: [JSC] Add WebGL instrumentation support
2449         https://bugs.webkit.org/show_bug.cgi?id=87975
2450
2451         Reviewed by Vsevolod Vlasov.
2452
2453         * bindings/js/JSInjectedScriptManager.cpp:
2454         (WebCore::injectAndExecuteFunction):
2455         (WebCore::InjectedScriptManager::createInjectedScript):
2456         (WebCore):
2457         (WebCore::InjectedScriptManager::injectWebGLScript):
2458         * bindings/v8/custom/V8InjectedScriptManager.cpp:
2459         (WebCore::InjectedScriptManager::injectWebGLScript):
2460         * inspector/InjectedScriptManager.cpp:
2461         (WebCore::InjectedScriptManager::wrapWebGLRenderingContextForInstrumentation):
2462         * inspector/InjectedScriptManager.h:
2463         (InjectedScriptManager):
2464         * inspector/InspectorInstrumentation.h:
2465         (InspectorInstrumentation):
2466         * inspector/InspectorWebGLAgent.cpp:
2467         (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):
2468         * inspector/InspectorWebGLAgent.h:
2469         (InspectorWebGLAgent):
2470         * inspector/InspectorWebGLInstrumentation.h:
2471         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
2472
2473 2012-06-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2474
2475         Fix a few spelling mistakes in IconDatabase logging
2476
2477         Makes debugging harder if the logging is confusing.
2478
2479         Reviewed by Jocelyn Turcotte.
2480
2481         * loader/icon/IconDatabase.cpp:
2482         (WebCore::IconDatabase::notifyPendingLoadDecisions):
2483         (WebCore::IconDatabase::readFromDatabase):
2484
2485 2012-05-25  Vsevolod Vlasov  <vsevik@chromium.org>
2486
2487         Web Inspector: [Compiler] Remove compile-front-end.sh and fix InjectedScriptSource errors.
2488         https://bugs.webkit.org/show_bug.cgi?id=87512
2489
2490         Reviewed by Yury Semikhatsky.
2491
2492         Removed compile-front-end.sh, compile-front-end.py should be used instead now.
2493         Made generate_protocol_externs a python module to call it from compile-front-end.py.
2494         Temporary copy of InjectedScriptSource.js is created and modified to
2495         avoid "This code lacks side effects" warning.
2496
2497         * inspector/compile-front-end.py:
2498         * inspector/compile-front-end.sh: Removed.
2499         * inspector/generate-protocol-externs: Removed.
2500         * inspector/generate_protocol_externs.py: Added.
2501         (full_qualified_type_id):
2502         (param_type):
2503         (generate_protocol_externs):
2504
2505 2012-06-06  Zoltan Herczeg  <zherczeg@webkit.org>
2506
2507         [Qt] REGRESSION(r118616): It made all tests crash in debug mode
2508         https://bugs.webkit.org/show_bug.cgi?id=87701
2509
2510         Reviewed by Csaba Osztrogonác.
2511
2512         Replace WriteBarrier<JSObject> to Weak<JSObject> by introducing a new
2513         QtWeakObjectReference sub class. Rewrite all affected type definitions.
2514
2515         All existing test in debug mode cover this issue.
2516
2517         * bridge/qt/qt_class.cpp:
2518         (JSC::Bindings::QtClass::fallbackObject):
2519         * bridge/qt/qt_instance.cpp:
2520         (QtRuntimeObject):
2521         (JSC::Bindings::QtInstance::removeUnusedMethods):
2522         * bridge/qt/qt_instance.h:
2523         (QtInstance):
2524         (QtWeakObjectReference):
2525         (JSC::Bindings::QtInstance::QtWeakObjectReference::QtWeakObjectReference):
2526         (JSC::Bindings::QtInstance::QtWeakObjectReference::operator=):
2527         (JSC::Bindings::QtInstance::QtWeakObjectReference::get):
2528         * bridge/qt/qt_runtime.cpp:
2529         (JSC::Bindings::QtRuntimeMethodData::finalize):
2530         * bridge/qt/qt_runtime_qt4.cpp:
2531         (JSC::Bindings::QtRuntimeMethodData::finalize):
2532
2533 2012-06-06  Eugene Klyuchnikov  <eustas.bug@gmail.com>
2534
2535         Web Inspector: help/settings screen does not overlay console in split screen mode
2536         https://bugs.webkit.org/show_bug.cgi?id=88352
2537
2538         Reviewed by Pavel Feldman.
2539
2540         * inspector/front-end/HelpScreen.js:
2541         (WebInspector.HelpScreen): Mark view as root.
2542         (WebInspector.HelpScreen.prototype.showModal): Change view parent.
2543         * inspector/front-end/helpScreen.css:
2544         (.help-window-outer): Add panel and status bar indent.
2545         (body.compact .help-window-outer): Ditto.
2546
2547 2012-06-06  Yoshifumi Inoue  <yosin@chromium.org>
2548
2549         [Form] Changes for InputNumber type
2550         https://bugs.webkit.org/show_bug.cgi?id=88394
2551
2552         Reviewed by Kent Tamura.
2553
2554         This patch changes codes for consitency of InputNumber usage for
2555         reducing size of patch when we change InputNumber type alias from
2556         double to Decimal.
2557
2558         No new tests. This patch doesn't change behavior.
2559
2560         * html/BaseDateAndTimeInputType.cpp:
2561         (WebCore::BaseDateAndTimeInputType::serializeWithComponents): Fixed parameter type for getAllowedValueStep.
2562         * html/InputType.cpp:
2563         (WebCore::InputType::minimum): Fixed return value type to InputNumber.
2564         (WebCore::InputType::maximum): ditto.
2565         * html/MonthInputType.cpp:
2566         (WebCore::MonthInputType::defaultValueForStepUp): Fix return value type to InputNumber.
2567         (WebCore::MonthInputType::parseToNumber): ditto.
2568         * html/NumberInputType.cpp:
2569         (WebCore::NumberInputType::setValueAsDouble): Removed extra convertDoubleToInputNumber.
2570         * html/StepRange.cpp:
2571         (WebCore::StepRange::alignValueForStep): Use roundByStep for code sharing.
2572         (WebCore::StepRange::clampValue): ditto.
2573         (WebCore::StepRange::roundByStep): Added.
2574         * html/StepRange.h:
2575         (StepRange): Added a declaration of roundByStep.
2576
2577 2012-06-06  Michael Brüning  <michael.bruning@nokia.com>
2578
2579         [Qt] Fix harmattan builds broken by r119247.
2580         https://bugs.webkit.org/show_bug.cgi?id=88330
2581
2582         Reviewed by Jocelyn Turcotte.
2583
2584         Fix Harmattan build break caused by undefined constant
2585         GL_TEXTURE_RECTANGLE_ARB by adding defined(GL_ARB_texture_rectangle)
2586         guards around TextureMapperGL::drawTextureRectangleARB.
2587
2588         * platform/graphics/texmap/TextureMapperGL.cpp: Added defined(GL_ARB_texture_rectangle) guards around drawTextureRectangleARB.
2589         (WebCore):
2590         * platform/graphics/texmap/TextureMapperGL.h: Added definded(GL_ARB_texture_rectangle) guards around drawTextureRectangleARB.
2591
2592 2012-06-06  Shinya Kawanaka  <shinyak@chromium.org>
2593
2594         PositionIterator:;setOffsetInLeafNode() is not used anywhere.
2595         https://bugs.webkit.org/show_bug.cgi?id=88397
2596
2597         Reviewed by Ryosuke Niwa.
2598
2599         It's not used anywhere. We can remove it safely.
2600
2601         No new tests, no change in behavior.
2602
2603         * WebCore.order:
2604         * dom/PositionIterator.cpp:
2605         * dom/PositionIterator.h:
2606
2607 2012-06-06  Andrey Adaikin  <aandrey@chromium.org>
2608
2609         Web Inspector: [WebGL] Add WebGL instrumentation support on the backend
2610         https://bugs.webkit.org/show_bug.cgi?id=87960
2611
2612         Adds a WebGLAgent, injects a WebGL script upon calling the getContext
2613         method of a HTMLCanvasElement that will wrap the WebGL rendering context
2614         for instrumentation purposes.
2615
2616         Reviewed by Yury Semikhatsky.
2617
2618         * CMakeLists.txt:
2619         * DerivedSources.make:
2620         * DerivedSources.pri:
2621         * GNUmakefile.am:
2622         * GNUmakefile.list.am:
2623         * Target.pri:
2624         * WebCore.gyp/WebCore.gyp:
2625         * WebCore.gypi:
2626         * WebCore.vcproj/WebCore.vcproj:
2627         * WebCore.xcodeproj/project.pbxproj:
2628         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2629         (WebCore::JSHTMLCanvasElement::getContext):
2630         (WebCore::JSHTMLCanvasElement::toDataURL):
2631         * bindings/js/JSInjectedScriptManager.cpp:
2632         (WebCore):
2633         (WebCore::InjectedScriptManager::injectWebGLScript):
2634         * bindings/v8/ScriptState.cpp:
2635         (WebCore::ScriptState::forContext):
2636         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2637         (WebCore::V8HTMLCanvasElement::getContextCallback):
2638         * bindings/v8/custom/V8InjectedScriptManager.cpp:
2639         (WebCore::InjectedScriptManager::createInjectedScript):
2640         (WebCore):
2641         (WebCore::InjectedScriptManager::injectWebGLScript):
2642         (WebCore::InjectedScriptManager::discardInjectedScript):
2643         (WebCore::InjectedScriptManager::injectedScriptFor):
2644         * inspector/CodeGeneratorInspector.py:
2645         * inspector/InjectedScriptManager.cpp:
2646         (WebCore):
2647         (WebCore::InjectedScriptManager::wrapWebGLRenderingContextForInstrumentation):
2648         (WebCore::InjectedScriptManager::injectedWebGLScriptSource):
2649         * inspector/InjectedScriptManager.h:
2650         (InjectedScriptManager):
2651         * inspector/InjectedWebGLScriptSource.js: Added.
2652         * inspector/Inspector.json:
2653         * inspector/InspectorAllInOne.cpp:
2654         * inspector/InspectorController.cpp:
2655         (WebCore::InspectorController::InspectorController):
2656         * inspector/InspectorInstrumentation.h:
2657         (WebCore):
2658         (InspectorInstrumentation):
2659         (WebCore::InspectorInstrumentation::markResourceAsCached):
2660         * inspector/InspectorWebGLAgent.cpp: Added.
2661         (WebCore):
2662         (WebGLAgentState):
2663         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
2664         (WebCore::InspectorWebGLAgent::~InspectorWebGLAgent):
2665         (WebCore::InspectorWebGLAgent::setFrontend):
2666         (WebCore::InspectorWebGLAgent::clearFrontend):
2667         (WebCore::InspectorWebGLAgent::restore):
2668         (WebCore::InspectorWebGLAgent::enable):
2669         (WebCore::InspectorWebGLAgent::disable):
2670         (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):
2671         * inspector/InspectorWebGLAgent.h: Added.
2672         (WebCore):
2673         (InspectorWebGLAgent):
2674         (WebCore::InspectorWebGLAgent::create):
2675         (WebCore::InspectorWebGLAgent::enabled):
2676         * inspector/InspectorWebGLInstrumentation.h: Added.
2677         (WebCore):
2678         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
2679         * inspector/InstrumentingAgents.h:
2680         (WebCore):
2681         (WebCore::InstrumentingAgents::InstrumentingAgents):
2682         (InstrumentingAgents):
2683         (WebCore::InstrumentingAgents::inspectorWebGLAgent):
2684         (WebCore::InstrumentingAgents::setInspectorWebGLAgent):
2685
2686 2012-06-06  Joone Hur  <joone.hur@intel.com>
2687
2688         [GTK] Build fix for Accelerated Compositing with OpenGL
2689         https://bugs.webkit.org/show_bug.cgi?id=88292
2690
2691         Reviewed by Martin Robinson.
2692
2693         Build fix after r119247.
2694         Do not include GraphicsSurface.h when not building
2695         with GRAPHICS_SURFACE.
2696
2697         No new tests. This is only a build fix.
2698
2699         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
2700         * platform/graphics/texmap/TextureMapperBackingStore.h:
2701         * platform/graphics/texmap/TextureMapperGL.cpp:
2702
2703 2012-06-05  Joe Thomas  <joethomas@motorola.com>
2704
2705         ASSERTION FAILED: ASSERT(!isPercentageIntrinsicSize) in RenderReplaced::computeIntrinsicRatioInformationForRenderBox
2706         https://bugs.webkit.org/show_bug.cgi?id=88197
2707
2708         Reviewed by Daniel Bates.
2709
2710         RenderSVGRoot extends RenderReplaced and it overrides the computeIntrinsicRatioInformation() 
2711         method of RenderReplaced. RenderSVGRoot::computeIntrinsicRatioInformation
2712         sets isPercentageIntrinsicSize to true while it handles width and height of percentage types.
2713         So this assertion should be fired only if intrinsicRatio is non-zero.
2714
2715         Test: svg/in-html/svg-assert-failure-percentage.html
2716
2717         * rendering/RenderReplaced.cpp:
2718         (WebCore::RenderReplaced::computeIntrinsicRatioInformationForRenderBox):
2719
2720 2012-06-05  Tony Chang  <tony@chromium.org>
2721
2722         Changing flexbox justify/alignment doesn't update their positioning
2723         https://bugs.webkit.org/show_bug.cgi?id=88366
2724
2725         Reviewed by Ojan Vafai.
2726
2727         Test: css3/flexbox/style-change.html
2728
2729         * rendering/style/RenderStyle.cpp:
2730         (WebCore::RenderStyle::diff): Since these member variables were moved
2731         out of StyleFlexibleBoxData, we have to compare them in RenderStyle::diff.
2732
2733 2012-06-05  Charles Wei  <charles.wei@torchmobile.com.cn>
2734
2735         JSC implementation of SerializedScriptValue for IndexedDB
2736         https://bugs.webkit.org/show_bug.cgi?id=88048
2737
2738         Reviewed by George Staikos.
2739
2740         No new tests. All the current indexeddb test cases apply when indexeddb works for JSC.
2741
2742         * bindings/js/SerializedScriptValue.cpp:
2743         (WebCore::CloneSerializer::serializeNumber):
2744         (CloneSerializer):
2745         (WebCore::CloneDeserializer::toWireString):
2746         (CloneDeserializer):
2747         (WebCore::SerializedScriptValue::create):
2748         (WebCore::SerializedScriptValue::toWireString):
2749         (WebCore):
2750         (WebCore::SerializedScriptValue::createFromWire):
2751         (WebCore::SerializedScriptValue::numberValue):
2752         (WebCore::SerializedScriptValue::deserialize):
2753
2754 2012-06-05  Ojan Vafai  <ojan@chromium.org>
2755
2756         Nested CSS flexbox renders incorrectly
2757         https://bugs.webkit.org/show_bug.cgi?id=87679
2758
2759         Reviewed by Julien Chaffraix.
2760
2761         If the containing block with a perpendicular writing mode has an overrideHeight,
2762         then its logical height should be based off that instead of its RenderStyle.
2763
2764         Test: css3/flexbox/perpendicular-writing-modes-inside-flex-item.html
2765
2766         * rendering/RenderBox.cpp:
2767         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
2768
2769 2012-06-05  Charles Wei  <charles.wei@torchmobile.com.cn>
2770
2771         Need special-case toJS(IDBAny) for IDBCursorWithValue
2772         https://bugs.webkit.org/show_bug.cgi?id=87963
2773
2774         Reviewed by George Staikos.
2775
2776         No new tests, this is for indexedDB, which is not working for JSC binding.
2777         When indexedDB working for JSC, all the indexdb test cases should apply.
2778
2779         * bindings/js/JSIDBAnyCustom.cpp:
2780         (WebCore::toJS):
2781
2782 2012-06-05  Michal Mocny  <mmocny@google.com>
2783
2784         [chromium] Set default memory allocation limit bytes when GL_CHROMIUM_gpu_memory_manager is not supported by graphics context.
2785         https://bugs.webkit.org/show_bug.cgi?id=87996
2786
2787         Reviewed by James Robinson.
2788
2789         Soon we hope to have renderers not manage there own memory allocation limits, and rely exclusively on the
2790         allocation given by GpuMemoryManager.  However, when the graphics context does not support the
2791         GL_CHROMIUM_gpu_memory_manager extension, such as the one used by DumpRenderTree, we must default the
2792         memory allocation limit to some non-0 value.
2793
2794         * platform/graphics/chromium/LayerRendererChromium.cpp:
2795         (WebCore::LayerRendererChromium::initialize):
2796         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2797         (WebCore::CCSingleThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
2798         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2799         (WebCore):
2800         (DebugScopedSetMainThreadFromEither):
2801         (WebCore::DebugScopedSetMainThreadFromEither::DebugScopedSetMainThreadFromEither):
2802         (WebCore::DebugScopedSetMainThreadFromEither::~DebugScopedSetMainThreadFromEither):
2803
2804 2012-06-05  Roland Takacs  <takacs.roland@stud.u-szeged.hu>
2805
2806         [Qt] Use GraphicsContext3DOpenGLES.cpp when using OpenGL ES
2807         https://bugs.webkit.org/show_bug.cgi?id=78720
2808
2809         Reviewed by Noam Rosenthal.
2810
2811         Functions are removed from GraphicsContext3DQt that already implemented
2812         in GraphicsContext3DCommon. Macros that not supported at GLES have been
2813         changed to their appropriate pair that found in GraphicsContext3D
2814         (e.g. GL_FRAMEBUFFER_EXT to GraphicsContext3D::FRAMEBUFFER).
2815         It was needed because OpenGLES does not support these macros.
2816         Extensions3DQt is removed beceause it has never been used.
2817         Some functions have been moved fron GraphicsContext3DCommon to *OpenGL
2818         and *OpenGLES to provide specialization.
2819         The "m_depthStencilBuffer" member is added to Qt port because it uses
2820         "m_depthStencilBuffer" like the other platforms.
2821
2822         * Target.pri:
2823         * platform/graphics/GraphicsContext3D.h:
2824         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2825         (WebCore::GraphicsContext3D::depthRange):
2826         (WebCore):
2827         (WebCore::GraphicsContext3D::clearDepth):
2828         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2829         (WebCore::GraphicsContext3D::prepareTexture):
2830         (WebCore::GraphicsContext3D::readRenderingResults):
2831         (WebCore::GraphicsContext3D::reshape):
2832         (WebCore::GraphicsContext3D::copyTexImage2D):
2833         (WebCore::GraphicsContext3D::copyTexSubImage2D):
2834         (WebCore::GraphicsContext3D::readPixels):
2835         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2836         (WebCore::GraphicsContext3D::reshapeFBOs):
2837         (WebCore::GraphicsContext3D::depthRange):
2838         (WebCore):
2839         (WebCore::GraphicsContext3D::clearDepth):
2840         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2841         (WebCore::GraphicsContext3D::isGLES2Compliant):
2842         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
2843         (WebCore::GraphicsContext3D::GraphicsContext3D):
2844         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2845         (WebCore):
2846
2847 2012-06-05  Vitaly Buka  <vitalybuka@chromium.org>
2848
2849         Special layout handler should be done on top frame being printed.
2850         https://bugs.webkit.org/show_bug.cgi?id=88201
2851
2852         Reviewed by Brady Eidson.
2853
2854         No new tests. Root case is already covered by tests.
2855         Case described in the issue can be reproduced only by direct call
2856         to Frame::setPrinting of subframe. Probably it's not possible with
2857         layout tests.
2858
2859         * page/Frame.cpp:
2860         (WebCore::Frame::setPrinting):
2861         Use shouldUsePrintingLayout to choose proper version of forceLayout().
2862         (WebCore::Frame::shouldUsePrintingLayout):
2863         Checks if current frame is the top frame being printed.
2864         * rendering/RenderView.cpp:
2865         (WebCore::RenderView::shouldUsePrintingLayout): Forward to Frame.
2866
2867 2012-06-05  Max Feil  <mfeil@rim.com>
2868
2869         [BlackBerry] Conditionally enlarge HTML5 video controls in fullscreen mode
2870         https://bugs.webkit.org/show_bug.cgi?id=87551
2871
2872         Reviewed by Antonio Gomes.
2873
2874         Changes to make media controls larger in fullscreen mode. The
2875         BlackBerry media controls used to be sized by a combination
2876         of CSS styles specified in mediaControlsBlackBerry.css and
2877         hard coded constants in RenderThemeBlackBerry.cpp. This patch
2878         moves all the dimensional sizes to a common location, i.e.
2879         RenderThemeBlackBerry.cpp. Having all the logic in C++ code allows
2880         more complex decision making for when and how much to enlarge the
2881         media controls. Currently the controls are enlarged by a factor
2882         of 2 if the document is in fullscreen mode, the video element
2883         is the current fullscreen element, and the deviceScaleFactor of
2884         the page is less than 2.0. This avoids overly large controls
2885         on pages which are already at least doubling the size of the
2886         controls via viewport meta tag device-width settings. In other
2887         words, if the CSS pixels are already enlarged compared to device
2888         pixels by a factor of at least 2 in length and width.
2889
2890         In order to accomplish this, I had to add a new Element* parameter
2891         to RenderTheme::adjustSliderThumbSize(). This is needed so
2892         that fullscreen mode can be checked and the deviceScaleFactor
2893         retrieved. I feel that this does not have a big impact on the
2894         code and the other ports, for which I will simply be adding the
2895         additional parameter in their platform code.
2896
2897         Tests:
2898         video-controls-enlarged-fullscreen-meta.html
2899         video-controls-enlarged-fullscreen-nometa.html
2900
2901         * css/mediaControlsBlackBerry.css:
2902         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2903         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
2904         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
2905         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2906         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2907         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2908         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
2909         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2910         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2911         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2912         * html/shadow/SliderThumbElement.cpp:
2913         (WebCore::RenderSliderThumb::updateAppearance):
2914         * platform/blackberry/RenderThemeBlackBerry.cpp:
2915         (WebCore):
2916         (WebCore::determineRenderSlider):
2917         (WebCore::determineFullScreenMultiplier):
2918         (WebCore::RenderThemeBlackBerry::adjustSliderThumbSize):
2919         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
2920         (WebCore::RenderThemeBlackBerry::adjustSliderTrackStyle):
2921         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
2922         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
2923         * platform/blackberry/RenderThemeBlackBerry.h:
2924         (RenderThemeBlackBerry):
2925         * platform/efl/RenderThemeEfl.cpp:
2926         (WebCore::RenderThemeEfl::adjustSliderThumbSize):
2927         * platform/efl/RenderThemeEfl.h:
2928         (RenderThemeEfl):
2929         * platform/gtk/RenderThemeGtk.h:
2930         * platform/gtk/RenderThemeGtk2.cpp:
2931         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
2932         * platform/gtk/RenderThemeGtk3.cpp:
2933         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
2934         * platform/qt/RenderThemeQt.cpp:
2935         (WebCore::RenderThemeQt::adjustSliderThumbSize):
2936         * platform/qt/RenderThemeQt.h:
2937         (RenderThemeQt):
2938         * platform/qt/RenderThemeQtMobile.cpp:
2939         (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
2940         * platform/qt/RenderThemeQtMobile.h:
2941         (RenderThemeQtMobile):
2942         * rendering/RenderThemeChromiumLinux.cpp:
2943         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
2944         * rendering/RenderThemeChromiumLinux.h:
2945         (RenderThemeChromiumLinux):
2946         * rendering/RenderThemeChromiumSkia.cpp:
2947         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
2948         * rendering/RenderThemeChromiumSkia.h:
2949         (RenderThemeChromiumSkia):
2950         * rendering/RenderThemeChromiumWin.cpp:
2951         (WebCore):
2952         (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
2953         * rendering/RenderThemeChromiumWin.h:
2954         (RenderThemeChromiumWin):
2955         * rendering/RenderThemeMac.h:
2956         (RenderThemeMac):
2957         * rendering/RenderThemeSafari.cpp:
2958         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
2959         * rendering/RenderThemeSafari.h:
2960         (RenderThemeSafari):
2961         * rendering/RenderThemeWin.cpp:
2962         (WebCore::RenderThemeWin::adjustSliderThumbSize):
2963         * rendering/RenderThemeWin.h:
2964         (RenderThemeWin):
2965         * rendering/RenderThemeWinCE.cpp:
2966         (WebCore::RenderThemeWinCE::adjustSliderThumbSize):
2967         * rendering/RenderThemeWinCE.h:
2968         (RenderThemeWinCE):
2969         * rendering/RenderTheme.cpp:
2970         (WebCore::RenderTheme::adjustStyle):
2971         (WebCore::RenderTheme::adjustMediaControlStyle):
2972         (WebCore):
2973         (WebCore::RenderTheme::adjustSliderThumbStyle):
2974         (WebCore::RenderTheme::adjustSliderThumbSize):
2975         * rendering/RenderTheme.h:
2976         (RenderTheme):
2977
2978 2012-06-05  Stephanie Lewis  <slewis@apple.com>
2979
2980         https://bugs.webkit.org/show_bug.cgi?id=88370
2981         Memory sampler should trigger low memory signal
2982
2983         Reviewed by Geoff Garen.
2984
2985         No new tests. Verify by running stress test which crashes 
2986         in a few minutes without the fix.
2987
2988         Fix assumption in block code.  We could get in a state where timer_event_source
2989         had already been released before the block ran.
2990
2991         * platform/mac/MemoryPressureHandlerMac.mm:
2992         (WebCore::MemoryPressureHandler::holdOff):
2993
2994 2012-06-05  Yoshifumi Inoue  <yosin@chromium.org>
2995
2996         [Forms] Introduce InputNumber type as an alias of double for replacing it to Decimal
2997         https://bugs.webkit.org/show_bug.cgi?id=88275
2998
2999         Reviewed by Kent Tamura.
3000
3001         This patch introduced InputNumber type as alias of double to be
3002         replaced to Decimal and convertDoubleToInputNumber and 
3003         convertToInputNumberToDouble for reducing size of patch when we
3004         introduce Decimal type.
3005
3006         This patch added new vairables to use const variable to reduce
3007         copy operation when introducing Decimal type.
3008
3009         In the implementation, we use InputNumber, will be Decimal, however some methods in IDL
3010         use double. To clarify internal usage of value and external usage, thit patch renamed
3011         following functions:
3012
3013         - parseToDouble => parseNumber
3014         - setValueAsNumber => setValueAsDouble and setValueAsInputNumber
3015         - valueAsNumber => valueAsDouble
3016
3017         This patch is a part of introducing Decimal, https://bugs.webkit.org/show_bug.cgi?id=80009
3018
3019         No new tests. This patch doesn't change behavior.
3020
3021         * html/BaseDateAndTimeInputType.cpp:
3022         (WebCore::BaseDateAndTimeInputType::valueAsDate): Replaced parseToNumber() to valueAsDouble()
3023         (WebCore::BaseDateAndTimeInputType::setValueAsDate): Inserted convertDoubleToInputNumber.
3024         (WebCore::BaseDateAndTimeInputType::valueAsDouble): Use new function parseToDouble().
3025         (WebCore::BaseDateAndTimeInputType::setValueAsInputNumber): Added.
3026         (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp): Changed return type to InputNumber.
3027         (WebCore::BaseDateAndTimeInputType::parseToNumber): This is replacement of parseToDouble().
3028         (WebCore::BaseDateAndTimeInputType::parseToDouble): Added for valueAsDate and valueAsDouble.
3029         (WebCore::BaseDateAndTimeInputType::serialize): Changed parameter type to InputNumber.
3030         (WebCore::BaseDateAndTimeInputType::serializeWithComponents): Replace double to InputNumber for getAllowdStep.
3031         * html/BaseDateAndTimeInputType.h:
3032         (BaseDateAndTimeInputType):
3033         * html/DateInputType.cpp:
3034         (WebCore::DateInputType::createStepRange): Replaced double to InputNumber.
3035         * html/DateInputType.h:
3036         (DateInputType):
3037         * html/DateTimeInputType.cpp:
3038         (WebCore::DateTimeInputType::defaultValueForStepUp): Changed return type to InputNumber.
3039         (WebCore::DateTimeInputType::createStepRange): Replaced double to InputNumber.
3040         * html/DateTimeInputType.h:
3041         (DateTimeInputType):
3042         * html/DateTimeLocalInputType.cpp:
3043         (WebCore::DateTimeLocalInputType::createStepRange): Replaced double to InputNumber.
3044         * html/DateTimeLocalInputType.h:
3045         (DateTimeLocalInputType):
3046         * html/HTMLInputElement.cpp:
3047         (WebCore::HTMLInputElement::getAllowedValueStep): Changed parameter type to InputNumber.
3048         (WebCore::HTMLInputElement::valueAsNumber): Use InputType::valueAsDouble.
3049         (WebCore::HTMLInputElement::setValueAsNumber): Use InputType::valueAsDouble.
3050         * html/HTMLInputElement.h:
3051         (HTMLInputElement):
3052         * html/InputType.cpp:
3053         (WebCore::InputType::valueAsDouble): Replacement of valueAsNumber.
3054         (WebCore::InputType::setValueAsDouble): Replacement of valueAsNumber.
3055         (WebCore::InputType::setValueAsInputNumber): Replacement of valueAsNumber.
3056         (WebCore::InputType::rangeUnderflow): Replaced double to InputNumber.
3057         (WebCore::InputType::rangeOverflow): Replaced double to InputNumber.
3058         (WebCore::InputType::defaultValueForStepUp): Changed return type to InputNumber.
3059         (WebCore::InputType::isInRange): Replaced double to InputNumber.
3060         (WebCore::InputType::isOutOfRange): Replaced double to InputNumber.
3061         (WebCore::InputType::stepMismatch): Replaced double to InputNumber.
3062         (WebCore::InputType::validationMessage): Replaced double to InputNumber.
3063         (WebCore::InputType::parseToNumber): Replacement of parseToDouble.
3064         (WebCore::InputType::parseToNumberOrNaN): Added for reducing number of std::numeric_limits<double>::quiet_NaN().
3065         (WebCore::InputType::parseToNumberWithDecimalPlaces): Replaced double to InputNumber.
3066         (WebCore::InputType::serialize): Changed parameter type to InputNumber.
3067         (WebCore::InputType::applyStep): Replaced double to InputNumber.
3068         (WebCore::InputType::getAllowedValueStep): Changed parameter type to InputNumber.
3069         (WebCore::InputType::stepUpFromRenderer): Replaced double to InputNumber.
3070         * html/InputType.h:
3071         (InputType):
3072         * html/MonthInputType.cpp:
3073         (WebCore::MonthInputType::defaultValueForStepUp): Changed return type to InputNumber.
3074         (WebCore::MonthInputType::createStepRange): Replaced double to InputNumber.
3075         (WebCore::MonthInputType::parseToNumber): Replacement of parseToDouble.
3076         * html/MonthInputType.h:
3077         (MonthInputType):
3078         * html/NumberInputType.cpp:
3079         (WebCore::NumberInputType::valueAsDouble): Replacement of valueAsNumber. Changed to use parseToDoubleForNumberType.
3080         (WebCore::NumberInputType::setValueAsDouble):  Replacement of setValueAsNumber.  Changed to use serializeForNumberType.
3081         (WebCore::NumberInputType::setValueAsInputNumber): Replacement of setValueAsNumber.
3082         (WebCore::NumberInputType::createStepRange): Replaced double to InputNumber.
3083         (WebCore::NumberInputType::parseToNumber): Replacement of parseToDouble.
3084         (WebCore::NumberInputType::parseToNumberWithDecimalPlaces): Replaced double to InputNumber.
3085         (WebCore::NumberInputType::serialize):
3086         * html/NumberInputType.h:
3087         (NumberInputType):
3088         * html/RangeInputType.cpp:
3089         (WebCore::ensureMaximum): Replaced double to InputNumber.
3090         (WebCore::RangeInputType::valueAsDouble): Replacement of valueAsNumber.
3091         (WebCore::RangeInputType::setValueAsInputNumber):  Replacement of setValueAsNumber.
3092         (WebCore::RangeInputType::createStepRange): Replaced double to InputNumber.
3093         (WebCore::RangeInputType::handleKeydownEvent): Replaced double to InputNumber.
3094         (WebCore::RangeInputType::parseToNumber): Replacement of parseToDouble.
3095         (WebCore::RangeInputType::serialize): Changed parameter type to InputNumber.
3096         (WebCore::RangeInputType::sanitizeValue): Replaced double to InputNumber.
3097         * html/RangeInputType.h:
3098         (RangeInputType):
3099         * html/StepRange.cpp:
3100         (WebCore::StepRange::StepRange): Replaced double to InputNumber.
3101         (WebCore::StepRange::acceptableError): Replaced double to InputNumber.
3102         (WebCore::StepRange::alignValueForStep): Replaced double to InputNumber.
3103         (WebCore):
3104         (WebCore::StepRange::clampValue): Replaced double to InputNumber.
3105         (WebCore::StepRange::stepMismatch): Replaced double to InputNumber.
3106         * html/StepRange.h:
3107         (WebCore::convertDoubleToInputNumber): Added.
3108         (WebCore::convertInputNumberToDouble): Added.
3109         (WebCore::StepRange::NumberWithDecimalPlaces::NumberWithDecimalPlaces): Replaced double to InputNumber.
3110         (WebCore::StepRange::StepDescription::defaultValue): Replaced double to InputNumber.
3111         (StepRange):
3112         (WebCore::StepRange::maximum): Replaced double to InputNumber.
3113         (WebCore::StepRange::minimum): Replaced double to InputNumber.
3114         (WebCore::StepRange::step): Replaced double to InputNumber.
3115         (WebCore::StepRange::stepBase): Replaced double to InputNumber.
3116         (WebCore::StepRange::defaultValue): Replaced double to InputNumber.
3117         (WebCore::StepRange::proportionFromValue): Replaced double to InputNumber.
3118         (WebCore::StepRange::valueFromProportion): Replaced double to InputNumber.
3119         * html/TimeInputType.cpp:
3120         (WebCore::TimeInputType::defaultValueForStepUp): Replaced double to InputNumber.
3121         (WebCore::TimeInputType::createStepRange): Replaced double to InputNumber.
3122         * html/TimeInputType.h:
3123         (TimeInputType):
3124         * html/WeekInputType.cpp:
3125         (WebCore::WeekInputType::createStepRange): Replaced double to InputNumber.
3126         * html/WeekInputType.h:
3127         (WeekInputType):
3128         * html/shadow/CalendarPickerElement.cpp:
3129         (WebCore::CalendarPickerElement::writeDocument): Replaced double to InputNumber.
3130         * html/shadow/SliderThumbElement.cpp:
3131         (WebCore::sliderPosition): Replaced double to InputNumber.
3132         (WebCore::RenderSliderThumb::layout): Replaced double to InputNumber.
3133         (WebCore::SliderThumbElement::setPositionFromPoint): Replaced double to InputNumber.
3134
3135 2012-06-05  Ryosuke Niwa  <rniwa@webkit.org>
3136
3137         Build fix after r119527.
3138
3139         * dom/ViewportArguments.cpp:
3140         (WebCore::computeViewportAttributes):
3141
3142 2012-06-05  Martin Robinson  <mrobinson@igalia.com>
3143
3144         [Cairo] [OpenGL] Enable GL_OES_standard_derivatives
3145         https://bugs.webkit.org/show_bug.cgi?id=87583
3146
3147         Reviewed by Alejandro G. Castro.
3148
3149         No new tests. This is covered by oes-standard-derivatives.html
3150         in the Khronos WebGL conformance tests, which may one day be part
3151         of the WebKit test suite.
3152
3153         Activate the GL_OES_standard_derivatives on Cairo along with
3154         Qt and Mac.
3155
3156         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3157         (WebCore::Extensions3DOpenGL::ensureEnabled):
3158         (WebCore::Extensions3DOpenGL::isEnabled):
3159
3160 2012-06-05  Simon Fraser  <simon.fraser@apple.com>
3161
3162         Avoid creating compositing layers for preserve-3d without transformed descendants
3163         https://bugs.webkit.org/show_bug.cgi?id=88115
3164
3165         Reviewed by Antti Koivisto.
3166         
3167         Avoid creating compositing layers, and therefore using excess backing store,
3168         for elements that have -webkit-transform-style: preserve-3d, but no 3D-transformed
3169         descendants that would be affected by that preserve-3d.
3170         
3171         Test: compositing/layer-creation/no-compositing-for-preserve-3d.html
3172
3173         * rendering/RenderLayer.h: Replace the "mustOverlap" flag with a enum
3174         that describes the different reasons for indirect compositing, so that
3175         we can use that information to decide whether to allocate backing store.
3176         (WebCore::RenderLayer::setIndirectCompositingReason):
3177         (WebCore::RenderLayer::indirectCompositingReason):
3178         (WebCore::RenderLayer::mustCompositeForIndirectReasons):
3179         * rendering/RenderLayer.cpp:
3180         (WebCore::RenderLayer::RenderLayer): Initialize m_indirectCompositingReason
3181
3182         * rendering/RenderLayerCompositor.h: New out param for computeCompositingRequirements()
3183         that is uses to indicate that a 3d-transformed descendant has been encountered.
3184         Rename requiresCompositingWhenDescendantsAreCompositing() to requiresCompositingForIndirectReason(),
3185         and return the reason as an out param.
3186         
3187         * rendering/RenderLayerCompositor.cpp:
3188         (WebCore::RenderLayerCompositor::updateCompositingLayers): Pass in the saw3DTransform
3189         param to computeCompositingRequirements().
3190         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Return a flag
3191         from computeCompositingRequirements() that is set to true if we've seen descendants
3192         that have 3d transforms. This is later used to decide whether to composite for
3193         perspective or preserve-3d.
3194         Change the "mustOverlapCompositedLayers" code to use the new "indirect compositing"
3195         enum flags.
3196         After enumerating children, call requiresCompositingForIndirectReason() and 
3197         record the reason in the layer.
3198         (WebCore::RenderLayerCompositor::needsToBeComposited): Use mustCompositeForIndirectReasons() now.
3199         (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Consult the indirect compositing
3200         reason rather than just looking for the overlap flag.
3201         (WebCore::RenderLayerCompositor::reasonForCompositing): Now that we have more information
3202         about indirect compositing reasons, the logging can be more detailed.
3203         (WebCore::RenderLayerCompositor::requiresCompositingForTransform): This now only looks
3204         for 3d transforms. We now treat perspective and perserve-3d as "indirect" reasons, because
3205         whether they composite depends on descendants having non-affine transforms.
3206         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): Includes the logic
3207         previously in requiresCompositingWhenDescendantsAreCompositing(), and now determines
3208         whether to composite for preserve-3d and perspective, based on whether we have transformed descendants.
3209
3210 2012-06-05  Levi Weintraub  <leviw@chromium.org>
3211
3212         Block selection gaps painted not properly pixel snapped
3213         https://bugs.webkit.org/show_bug.cgi?id=88000
3214
3215         Reviewed by Ryosuke Niwa.
3216
3217         Fixes for selection painting in both inline line heights and block gaps. We were unintentionally
3218         flooring inline and block offsets in RenderBlock, but actually need to intentionally floor the
3219         logical left and right values in logical(Left|Right)SelectionGap to properly align our block
3220         selection gaps. This is to properly mirror the behavior in pixelSnappedLogicalRightOffsetForLine.
3221
3222         We were also unintentionally upcasting LayoutUnits to floats in InlineTextBox's selection painting
3223         routine. Now we're properly rounding.
3224
3225         Test: fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
3226
3227         * rendering/InlineTextBox.cpp:
3228         (WebCore::InlineTextBox::paintSelection): Move paint values to integers and do proper rounding.
3229         * rendering/RenderBlock.cpp:
3230         (WebCore::blockDirectionOffset): Fix incorrect flooring in return value.
3231         (WebCore::inlineDirectionOffset): Ditto.
3232         (WebCore): Removing previous attempt to properly mirror inline box selection pixel alignment. This
3233         implementation rounded the final x value instead of properly rounding our block offset then flooring
3234         the offset that corresponds to the behavior in InlineTextBox. It also didn't properly pixel snap
3235         the y offset and height.
3236         (WebCore::RenderBlock::blockSelectionGap): Properly pixel snapping the gap rect before painting.
3237         (WebCore::RenderBlock::logicalLeftSelectionGap): Correctly match InlineTextBox's selection pixel
3238         alignment by flooring the logicalLeft and pixel snapping the subsequent rect. We do this in order
3239         to maintain proper render tree pixel snapping while simultaneously mirroring the flooring in the
3240         inline direction that occurs in InlineTextBox.cpp's alignSelectionRectToDevicePixels method.
3241         (WebCore::RenderBlock::logicalRightSelectionGap): Ditto with the right.
3242
3243 2012-06-05  Adam Barth  <abarth@webkit.org>
3244
3245         Remove support for target-densitydpi in the viewport meta tag
3246         https://bugs.webkit.org/show_bug.cgi?id=88047
3247
3248         Reviewed by Kenneth Rohde Christiansen.
3249
3250         The target-densitydpi parameter was originally implemented on Android,
3251         but it does not appear to be widely used and introduces significant
3252         implementation complexity because it forces us to track three scale
3253         factors (defaultDeviceScaleFactor, deviceScaleFactor, and
3254         pageScaleFactor) rather than just two (deviceScaleFactor and
3255         pageScaleFactor).
3256
3257         There don't appear to be many web sites that use target-densitydpi
3258         because it is not supported on iOS.  There are also concerns from the
3259         standards community about the design of the feature.  It seems our best
3260         course of action is to remove target-densitydpi and address these use
3261         cases via other mechanisms, such as responsive images and device units
3262         in CSS because those approaches are likely to be implemented broadly.
3263
3264         * dom/ViewportArguments.cpp:
3265         (WebCore::computeViewportAttributes):
3266         (WebCore):
3267         (WebCore::setViewportFeature):
3268         (WebCore::viewportErrorMessageTemplate):
3269         (WebCore::viewportErrorMessageLevel):
3270         * dom/ViewportArguments.h:
3271         (WebCore::ViewportArguments::ViewportArguments):
3272         (ViewportArguments):
3273         (WebCore::ViewportArguments::operator==):
3274
3275 2012-06-05  Erik Arvidsson  <arv@chromium.org>
3276
3277         [V8] Improve variable resolution order on window
3278         https://bugs.webkit.org/show_bug.cgi?id=84247
3279
3280         Reviewed by Ojan Vafai.
3281
3282         This changes the V8 flag to turn on es52_globals and updates the layout tests to reflect the fixed behavior.
3283
3284         Test: fast/dom/Window/window-property-shadowing-onclick.html
3285
3286         * bindings/v8/V8DOMWindowShell.cpp:
3287         (WebCore::V8DOMWindowShell::initContextIfNeeded): Set the flag as we initialize V8.
3288         * bindings/v8/WorkerContextExecutionProxy.cpp:
3289         (WebCore::WorkerContextExecutionProxy::initIsolate): Ditto.
3290
3291 2012-06-05  Ojan Vafai  <ojan@chromium.org>
3292
3293         Delete dead code from RenderBox::computeLogicalWidthInRegion
3294         https://bugs.webkit.org/show_bug.cgi?id=88353
3295
3296         Reviewed by Tony Chang.
3297
3298         No new tests obviously since this is dead code.
3299
3300         * rendering/RenderBox.cpp:
3301         (WebCore::RenderBox::computeLogicalWidthInRegion):
3302
3303 2012-06-05  Greg Billock  <gbillock@google.com>
3304
3305         New constructor for WebIntent to be used for delivery
3306         https://bugs.webkit.org/show_bug.cgi?id=87143
3307
3308         Reviewed by Darin Fisher.
3309
3310         * Modules/intents/Intent.cpp:
3311         (WebCore::Intent::setExtras):
3312         (WebCore):
3313         * Modules/intents/Intent.h:
3314         (Intent):
3315
3316 2012-06-01  Ojan Vafai  <ojan@chromium.org>
3317
3318         Change overrideSizes to be content-box instead of border-box
3319         https://bugs.webkit.org/show_bug.cgi?id=88116
3320
3321         Reviewed by Tony Chang.
3322
3323         Previously, the code used border-box everywhere except for one place
3324         where it used content-box when setting the override size. Conversely,
3325         it subtracted the borderAndPaddingSize everywhere it grabbed the override
3326         size except for one.
3327
3328         Instead, make the override size override the content-box size.
3329         Converging on using the border-box size would be tricky given RenderTableCell's
3330         tricky management of intrinsic padding.
3331
3332         There is no behavior change except in RenderBox::availableLogicalHeightUsing,
3333         which fixes a table test.
3334
3335         * rendering/RenderBox.cpp:
3336         (WebCore::RenderBox::setOverrideLogicalContentHeight):
3337         (WebCore::RenderBox::setOverrideLogicalContentWidth):
3338         (WebCore::RenderBox::overrideLogicalContentWidth):
3339         (WebCore::RenderBox::overrideLogicalContentHeight):
3340         (WebCore::RenderBox::computeLogicalWidthInRegion):
3341         (WebCore::RenderBox::computeLogicalHeight):
3342         (WebCore::RenderBox::computePercentageLogicalHeight):
3343         (WebCore::RenderBox::availableLogicalHeightUsing):
3344         We were incorrectly subtracting the borderAndPaddingLogicalWidth instead
3345         of the borderAndPaddingLogicalHeight.
3346
3347         * rendering/RenderBox.h:
3348         (RenderBox):
3349         * rendering/RenderDeprecatedFlexibleBox.cpp:
3350         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
3351         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
3352         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
3353         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
3354         * rendering/RenderFlexibleBox.cpp:
3355         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace):
3356         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
3357         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
3358         * rendering/RenderTableCell.cpp:
3359         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
3360
3361 2012-06-05  Andy Estes  <aestes@apple.com>
3362
3363         REGRESSION (r118197): PluginStrategy should be used even if ENABLE(NETSCAPE_PLUGIN_API) is false
3364         https://bugs.webkit.org/show_bug.cgi?id=88296
3365
3366         Reviewed by Dan Bernstein.
3367
3368         refresh() and initPlugins() should call into PluginStrategy even if
3369         ENABLE(NETSCAPE_PLUGIN_API) is false. Some ports support non-Netscape
3370         plug-ins, so PluginStrategy should be consulted even if Netscape
3371         plug-ins specifically are disabled.
3372
3373         Ports that support platform strategies but not Netscape plug-ins should
3374         handle this inside their PluginStrategy rather than modifying generic
3375         plug-in code.
3376
3377         * plugins/PluginData.cpp:
3378         (WebCore::PluginData::refresh):
3379         (WebCore::PluginData::initPlugins):
3380
3381 2012-06-05  Douglas Stockwell  <dstockwell@chromium.org>
3382
3383         Crash when modifying fixed-position elements in a detached frame
3384         https://bugs.webkit.org/show_bug.cgi?id=88288
3385
3386         Reviewed by James Robinson.
3387
3388         Test: fast/block/positioning/fixed-position-detached-frame.html
3389
3390         * css/StyleResolver.cpp:
3391         (WebCore::StyleResolver::collectMatchingRulesForList):
3392
3393 2012-06-05  Andrey Kosyakov  <caseq@chromium.org>
3394
3395         Web Inspector: render timeline paint category dark green
3396         https://bugs.webkit.org/show_bug.cgi?id=88333
3397
3398         Reviewed by Pavel Feldman.
3399
3400         - Added a new, dark-green color for timeline events.
3401
3402         * WebCore.gypi: Added timelineBarDarkGreen.png
3403         * inspector/front-end/Images/timelineBarDarkGreen.png: Added.
3404         * inspector/front-end/Images/timelineCheckmarks.png: Added a dark-green checkbox.
3405         * inspector/front-end/Images/timelineDots.png: Added a dark-green dot.
3406         * inspector/front-end/TimelinePresentationModel.js:
3407         (WebInspector.TimelinePresentationModel.categories):
3408         * inspector/front-end/WebKit.qrc: Added timelineBarDarkGreen.png.
3409         * inspector/front-end/timelinePanel.css:
3410         (.timeline-category-statusbar-item.timeline-category-painting .timeline-category-checkbox):
3411         (.timeline-category-painting .timeline-graph-bar):
3412         (.popover .timeline-painting):
3413         (.timeline-category-painting .timeline-tree-icon):
3414
3415 2012-06-05  Alexei Filippov  <alexeif@chromium.org>
3416
3417         Web Inspector: serialize edge counts instead of indexes in heap snapshot
3418         https://bugs.webkit.org/show_bug.cgi?id=88324
3419
3420         The serialized node structure currently holds an index
3421         of its first containment edge in the edges array.
3422         The index can be quite big (up to 7 digits for large snapshots).
3423         The patch changes the serialization format to pass
3424         node containment edge count instead. For most nodes the count
3425         is just a single digit number.
3426         This reduces serialized snapshot size and therefore its transfer time.
3427
3428         Reviewed by Yury Semikhatsky.
3429
3430         * inspector/front-end/HeapSnapshot.js:
3431         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesStart):
3432         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd):
3433         (WebInspector.HeapSnapshotNode.prototype._ordinal):
3434         (WebInspector.HeapSnapshotNodeIterator):
3435         (WebInspector.HeapSnapshot.prototype._init):
3436         (WebInspector.HeapSnapshot.prototype._buildEdgeIndexes):
3437         (WebInspector.HeapSnapshot.prototype._buildRetainers):
3438         (WebInspector.HeapSnapshot.prototype._bfs):
3439         (WebInspector.HeapSnapshot.prototype._buildAggregates):
3440         (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
3441         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
3442         (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes):
3443         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
3444
3445 2012-06-05  Arpita Bahuguna  <arpitabahuguna@gmail.com>
3446
3447         CSS 2.1 failure: border-conflict-element-021a
3448         https://bugs.webkit.org/show_bug.cgi?id=86885
3449
3450         Reviewed by Julien Chaffraix.
3451
3452         When two adjacent table row groups (thead, tbody, tfoot) have the same border-width
3453         and the same border-style in a 'border-collapse: collapse' table the color of the border
3454         from the top-most table row wins.