32fdff0f0cc6c9c8d4e0b404fb100da304e4044c
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-04-17  Antoine Labour  <piman@chromium.org>
2
3         [Chromium] Clean up texture ids on the impl side when losing the context
4         https://bugs.webkit.org/show_bug.cgi?id=84122
5
6         Reviewed by James Robinson.
7
8         Tested by CCLayerTreeHostImplTest.dontUseOldResourcesAfterLostContext.
9
10         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
11         (WebCore::CCTextureLayerImpl::didLoseContext):
12         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
13         (WebCore::CCTiledLayerImpl::didLoseContext):
14         (WebCore):
15         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
16         (CCTiledLayerImpl):
17         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
18         (WebCore::CCVideoLayerImpl::didLoseContext):
19         (WebCore):
20         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
21         (CCVideoLayerImpl):
22
23 2012-04-17  Emil A Eklund  <eae@chromium.org>
24
25         Change RenderThemeChromiumSkia paint methods to use pixel snapping
26         https://bugs.webkit.org/show_bug.cgi?id=84175
27
28         Reviewed by Eric Seidel.
29
30         No new tests, no change in functionality.
31
32         Change RenderThemeChromiumSkia to use subpixel types and pixel snap
33         values just before painting.
34
35         * rendering/RenderThemeChromiumSkia.cpp:
36         (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
37         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
38         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
39         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
40         * rendering/RenderThemeChromiumSkia.h:
41
42  2012-04-17  Levi Weintraub  <leviw@chromium.org>
43
44         Clean up outstanding LayoutUnit misuse in WebCore
45         https://bugs.webkit.org/show_bug.cgi?id=84209
46
47         Reviewed by Eric Seidel.
48
49         Small changes to a handful of files to prepare trunk for FractionalLayoutUnits.
50         For more details, see https://trac.webkit.org/wiki/LayoutUnit
51
52         No new tests. No change in behavior.
53
54         * css/CSSComputedStyleDeclaration.cpp:
55         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): minimumValueForLength preserves
56         sub-pixel precision, so we should avoid unnecessarily using integers.
57         * platform/graphics/FractionalLayoutPoint.h:
58         (WebCore::FractionalLayoutPoint::FractionalLayoutPoint): Adding an explicit constructor from
59         FractionalLayoutSizes. This mirrors a method in IntPoint.
60         * rendering/RenderBoxModelObject.cpp:
61         (WebCore::RenderBoxModelObject::paintBorder): The rects that change come from roundedRects,
62         which are already pixel-snapped.
63         * rendering/RenderBoxModelObject.h: Removing a comment that is no longer applicable.
64         * rendering/RenderTable.cpp:
65         (WebCore::RenderTable::computeLogicalWidth): Since we layout tables using integers, we
66         need to explicitly calculate the width to be integral as well to avoid pushing the next element
67         over by a pixel that we won't later paint with our own box decorations.
68         * rendering/RenderText.h:
69         (RenderText): Correcting an unfortunate mismatch between in the return value of linesBoundingBox
70         between the header and implementation.
71         * rendering/style/RenderStyle.cpp:
72         (WebCore::RenderStyle::getRoundedBorderFor): We were incorrectly not using the snapped border
73         rect to pass to calcRadiiFor (which takes an IntRect). Correcting this.
74
75 2012-04-17  Luke Macpherson  <macpherson@chromium.org>
76
77         Ensure CSSParser member variables are initialized.
78         https://bugs.webkit.org/show_bug.cgi?id=84205
79
80         Reviewed by Andreas Kling.
81
82         No new tests / code cleanup only.
83
84         * css/CSSParser.cpp:
85         (WebCore::CSSParser::CSSParser):
86
87 2012-04-16  Alexandru Chiculita  <achicu@adobe.com>
88
89         Regression(114172): Use after free in CustomFilterProgram::notifyClients
90         https://bugs.webkit.org/show_bug.cgi?id=84000
91
92         Reviewed by Dean Jackson.
93
94         The function returned early and the shaders didn't have a chance to be saved. Moving
95         those two lines before the return false just to make sure that FilterEffectRenderer never adds
96         itself as a client for a shader without keeping track of that.
97
98         No new tests. The problem reproduces with existing tests.
99         css3/filters/custom/custom-filter-property-computed-style.html
100         css3/filters/custom/effect-custom-combined-missing.html
101
102         * rendering/FilterEffectRenderer.cpp:
103         (WebCore::FilterEffectRenderer::build):
104
105 2012-04-17  Alec Flett  <alecflett@chromium.org>
106
107         IndexedDB chooses wrong record on PREV_NO_DUPLICATE index cursor
108         https://bugs.webkit.org/show_bug.cgi?id=60746
109
110         Reviewed by Ojan Vafai.
111
112         When iterating backwards with PREV_NO_DUPLICATE, keep walking past
113         the 'prev' key until it changes, then walk forward one time. This
114         covers the object store and index cases.
115
116         Test: storage/indexeddb/mozilla/index-prev-no-duplicate.html
117
118         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
119         (WebCore):
120
121 2012-04-17  Yi Shen  <yi.4.shen@nokia.com>
122
123         Caret is not rendered properly inside an input element with text-indent
124         https://bugs.webkit.org/show_bug.cgi?id=82688
125
126         Reviewed by Ryosuke Niwa.
127
128         For an empty input element, there is no RenderText. Instead, RenderBlock::localCaretRect provides
129         the caret position for rendering the caret in the empty input element. To get correct caret rect,
130         textIndentOffset() should be used to adjust the caret's position.
131
132         Test: editing/style/text-indent.html
133
134         * rendering/RenderBlock.cpp:
135         (WebCore::RenderBlock::localCaretRect):
136
137 2012-04-17  Filip Pizlo  <fpizlo@apple.com>
138
139         It should be possible to create an inheritorID for the global this object without crashing
140         https://bugs.webkit.org/show_bug.cgi?id=84200
141         <rdar://problem/11251082>
142
143         Reviewed by Oliver Hunt.
144
145         No new tests, because the circumstances necessary to make this happen are rather hairy.
146
147         * bindings/js/JSDOMWindowShell.h:
148         (WebCore::JSDOMWindowShell::window):
149         (WebCore::JSDOMWindowShell::setWindow):
150
151 2012-04-17  Luke Macpherson  <macpherson@chromium.org>
152
153         Make CSSParser::parseValue()'s handling of CSSPropertyCursor more obviously correct.
154         https://bugs.webkit.org/show_bug.cgi?id=83544
155
156         Reviewed by Kentaro Hara.
157
158         No new tests / code cleanup only.
159
160         The code as it stands appears to be correct, but static analysis was concerned that value could become null.
161         This patch adds a null check and ASSERT_NOT_REACHED() to make the code more obviously correct.
162
163         * css/CSSParser.cpp:
164         (WebCore::CSSParser::parseValue):
165
166 2012-04-17  David Reveman  <reveman@chromium.org>
167
168         [Chromium] Add TextureUploader which allows us to use persistent GC3D state for texture uploads.
169         https://bugs.webkit.org/show_bug.cgi?id=83972
170
171         Reviewed by James Robinson.
172
173         Add TextureUploader class that allows us to add persistent GC3D state to the upload machinery.
174
175         * WebCore.gypi:
176         * platform/graphics/chromium/LayerRendererChromium.cpp:
177         (WebCore::LayerRendererChromium::initializeSharedObjects):
178         (WebCore::LayerRendererChromium::cleanupSharedObjects):
179         * platform/graphics/chromium/LayerRendererChromium.h:
180         (WebCore::LayerRendererChromium::textureUploader):
181         (LayerRendererChromium):
182         * platform/graphics/chromium/TextureUploader.cpp: Added.
183         (WebCore):
184         (WebCore::AcceleratedTextureUploader::AcceleratedTextureUploader):
185         (WebCore::AcceleratedTextureUploader::~AcceleratedTextureUploader):
186         (WebCore::AcceleratedTextureUploader::uploadTexture):
187         * platform/graphics/chromium/TextureUploader.h: Added.
188         (WebCore):
189         (TextureUploader):
190         (WebCore::TextureUploader::~TextureUploader):
191         (AcceleratedTextureUploader):
192         (WebCore::AcceleratedTextureUploader::create):
193         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
194         (WebCore::CCSingleThreadProxy::doCommit):
195         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
196         (WebCore::CCTextureUpdater::update):
197         * platform/graphics/chromium/cc/CCTextureUpdater.h:
198         (WebCore):
199         (CCTextureUpdater):
200         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
201         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
202
203 2012-04-17  Luke Macpherson  <macpherson@chromium.org>
204
205         Clean up CSSParser::parseFillRepeat().
206         https://bugs.webkit.org/show_bug.cgi?id=83547
207
208         Reviewed by Kentaro Hara.
209
210         Removed multiple unnecessary calls to m_valueList->current().
211         Restructured logic for parsing second value to make it clearer.
212
213         No new tests / code cleanup only.
214
215         * css/CSSParser.cpp:
216         (WebCore::CSSParser::parseFillRepeat):
217
218 2012-04-17  Kentaro Hara  <haraken@chromium.org>
219
220         [V8] Pass Isolate to toV8Slow()
221         https://bugs.webkit.org/show_bug.cgi?id=84173
222
223         Reviewed by Nate Chapin.
224
225         The final objective is to pass Isolate around in V8 bindings.
226         This patch passes the Isolate to toV8Slow().
227
228         No tests. No change in behavior.
229
230         * bindings/scripts/CodeGeneratorV8.pm:
231         (GenerateHeader):
232         * bindings/v8/custom/V8NodeCustom.cpp:
233         (WebCore::toV8Slow):
234
235 2012-04-17  Julien Chaffraix  <jchaffraix@webkit.org>
236
237         Fix the ACCELERATED_COMPOSITING code to not expose RenderLayer outside rendering
238         https://bugs.webkit.org/show_bug.cgi?id=83816
239
240         Reviewed by James Robinson.
241
242         No change in behavior expected.
243
244         This code adds several functions on RenderBoxModelObject to forward
245         to the associated layer. This removes the RenderLayer dependencies
246         at the call sites.
247
248         Currently only RenderBoxModelObject can be hardware accelerated as
249         we need a RenderLayer, this looks like the best place to put those
250         new functions.
251
252         * rendering/RenderBoxModelObject.cpp:
253         (WebCore::RenderBoxModelObject::contentChanged):
254         (WebCore::RenderBoxModelObject::hasAcceleratedCompositing):
255         (WebCore::RenderBoxModelObject::startTransition):
256         (WebCore::RenderBoxModelObject::transitionPaused):
257         (WebCore::RenderBoxModelObject::transitionFinished):
258         (WebCore::RenderBoxModelObject::startAnimation):
259         (WebCore::RenderBoxModelObject::animationPaused):
260         (WebCore::RenderBoxModelObject::animationFinished):
261         (WebCore::RenderBoxModelObject::suspendAnimations):
262         * rendering/RenderBoxModelObject.h:
263         Added the previous functions to hide the layer need.
264
265         * rendering/RenderLayer.cpp:
266         (WebCore::RenderLayer::hasAcceleratedCompositing):
267         * rendering/RenderLayer.h:
268         Removed the previous method as it was superseeded by the
269         one on RenderBoxModelObject. Also moved the ContentChangeType
270         enumaration.
271
272         * rendering/RenderLayerBacking.cpp:
273         (WebCore::RenderLayerBacking::contentChanged):
274         * rendering/RenderLayerBacking.h:
275         (RenderLayerBacking):
276         Updated after the ContentChangeType enumaration move.
277
278         * html/HTMLCanvasElement.cpp:
279         (WebCore::HTMLCanvasElement::reset):
280         (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
281         * html/canvas/CanvasRenderingContext2D.cpp:
282         (WebCore::CanvasRenderingContext2D::didDraw):
283         * html/canvas/WebGLRenderingContext.cpp:
284         (WebCore::WebGLRenderingContext::markContextChanged):
285         (WebCore::WebGLRenderingContext::reshape):
286         * page/animation/AnimationBase.cpp:
287         (WebCore::AnimationBase::freezeAtTime):
288         * page/animation/ImplicitAnimation.cpp:
289         (WebCore::ImplicitAnimation::startAnimation):
290         (WebCore::ImplicitAnimation::pauseAnimation):
291         (WebCore::ImplicitAnimation::endAnimation):
292         * page/animation/KeyframeAnimation.cpp:
293         (WebCore::KeyframeAnimation::startAnimation):
294         (WebCore::KeyframeAnimation::pauseAnimation):
295         (WebCore::KeyframeAnimation::endAnimation):
296         * rendering/RenderBox.cpp:
297         (WebCore::RenderBox::imageChanged):
298         * rendering/RenderImage.cpp:
299         (WebCore::RenderImage::imageDimensionsChanged):
300         (WebCore::RenderImage::notifyFinished):
301         * rendering/RenderVideo.cpp:
302         (WebCore::RenderVideo::updatePlayer):
303         Updated all those call sites to use the new functions. Also
304         removed unneeded RenderLayer.h include as we went.
305
306 2012-04-16  Andy Estes  <aestes@apple.com>
307
308         -webkit-mask-box-image does not draw when layer tree flattening is enabled
309         https://bugs.webkit.org/show_bug.cgi?id=84111
310
311         Reviewed by Simon Fraser.
312
313         No new tests since taking pixel test results with
314         PaintBehaviorFlattenCompositingLayers set is not currently supported.
315         <https://bugs.webkit.org/show_bug.cgi?id=84110> tracks fixing this.
316
317         When painting mask images, we should take the non-composited path if
318         layers are being flattened.
319
320         * rendering/InlineFlowBox.cpp:
321         (WebCore::InlineFlowBox::paintMask):
322         * rendering/RenderBox.cpp:
323         (WebCore::RenderBox::paintMaskImages):
324
325 2012-04-17  Emil A Eklund  <eae@chromium.org>
326
327         Rollout r114404 as it broke a couple of chromium builds.
328
329         * platform/FractionalLayoutUnit.h:
330         (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
331         (WebCore::FractionalLayoutUnit::isInBounds):
332         (WebCore):
333
334 2012-04-17  Ben Murdoch  <benm@google.com>
335
336         `localStorage.setItem` can overwrite `localStorage` methods
337         https://bugs.webkit.org/show_bug.cgi?id=30996
338
339         Update the JSC and V8 bindings such that if the name of the DOM
340         Storage property being retrieved is a match for a property in the
341         prototype, always return the prototype version. If there is a DOM
342         Storage key of the same name, it can still be retrieved via the
343         getItem method. This prevents storage methods from being
344         accidentally hidden. This brings WebKit behavior in line with the
345         de facto standard implemented by FireFox and IE.
346
347         Reviewed by Kentaro Hara.
348
349         Test: storage/domstorage/storage-functions-not-overwritten.html
350
351         * bindings/js/JSStorageCustom.cpp:
352         (WebCore::JSStorage::nameGetter):
353         * bindings/v8/custom/V8StorageCustom.cpp:
354         (WebCore::V8Storage::namedPropertyGetter):
355
356 2012-04-17  Emil A Eklund  <eae@chromium.org>
357
358         Fix Chromium/Windows build broken by r114404.
359
360         * platform/FractionalLayoutUnit.h:
361
362 2012-04-17  Kentaro Hara  <haraken@chromium.org>
363
364         [Performance][V8] Skip Isolate look-up to find StringCache
365         https://bugs.webkit.org/show_bug.cgi?id=84103
366
367         Reviewed by Nate Chapin.
368
369         This patch improves the performance of a lot of DOM attribute
370         getters that return a string.
371
372         - Improves the performance of Dromaeo/dom-attr.html(element.property)
373           by 27.7%.
374         - Improves the performance of Dromaeo/dom-attr.html(getAttribute)
375           by 10.6%.
376         - Improves the performance of div.id, div.className,
377           div.nodeName, text.nodeValue, text.textContent by 12% -- 21%.
378
379         The followings are the test results in my Linux desktop.
380
381         Performance test: Dromaeo/dom-attr.html
382         Total:                     674.64runs/s ->  707.03runs/s (+ 4.8%)
383         getAttribute:             1537.60runs/s -> 1700.20runs/s (+10.6%)
384         element.property:         1389.00runs/s -> 1774.20runs/s (+27.7%)
385         setAttribute:              538.88runs/s ->  548.87runs/s (+ 1.9%)
386         element.property = value:  644.07runs/s ->  656.67runs/s (+ 2.0%)
387         element.expando = value:   219.76runs/s ->  207.14runs/s (- 6.8%)
388         element.expando:           578.77runs/s ->  554.67runs/s (- 4.2%)
389
390         Performance test: https://bugs.webkit.org/attachment.cgi?id=137440
391         div.id:           30.70ns -> 26.70ns (+15%)
392         div.className:    31.10ns -> 26.40ns (+18%)
393         div.nodeName:     37.70ns -> 33.00ns (+14%)
394         text.nodeValue:   31.40ns -> 25.90ns (+21%)
395         text.textContent: 51.50ns -> 45.90ns (+12%)
396
397         Previously V8 bindings need to look up an Isolate to find
398         an Isolate-local StringCache. This patch skips the look-up
399         by getting the Isolate from AccessorInfo.GetIsolate()
400         or Arguments.GetIsolate().
401
402         No tests. No change in behavior.
403
404         * bindings/scripts/CodeGeneratorV8.pm:
405         (GenerateNormalAttrGetter):
406         (GenerateFunctionCallString):
407         (NativeToJSValue):
408         * bindings/v8/V8Binding.cpp:
409         (WebCore::getElementStringAttr):
410         * bindings/v8/V8Binding.h:
411         (WebCore::v8ExternalString): Make 'isolate' an optional argument.
412         Ideally we want to make 'isolate' a non-optional argument,
413         but it is difficult to rewrite all v8ExternalString() callers
414         at a breath. We can rewrite them incrementally.
415         (WebCore::v8String): Ditto.
416         (WebCore::v8StringOrNull): Ditto.
417         (WebCore::v8StringOrUndefined): Ditto.
418         (WebCore::v8StringOrFalse): Ditto.
419
420         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
421         (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
422         (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
423         * bindings/scripts/test/V8/V8TestInterface.cpp:
424         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
425         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
426         * bindings/scripts/test/V8/V8TestObj.cpp:
427         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
428         (WebCore::TestObjV8Internal::stringAttrAttrGetter):
429         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
430         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
431         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
432         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
433         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
434         (WebCore::TestObjV8Internal::hashAttrGetter):
435         (WebCore::TestObjV8Internal::conditionalMethod1Callback):
436
437 2012-04-17  Chris Fleizach  <cfleizach@apple.com>
438
439         Crash in invalid index for _textMarkerForIndex
440         https://bugs.webkit.org/show_bug.cgi?id=84104
441
442         Reviewed by Beth Dakin.
443
444         Test: platform/mac/accessibility/textmarker-for-index-out-of-bounds-crash.html
445
446         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
447         (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
448
449 2012-04-17  Jer Noble  <jer.noble@apple.com>
450
451         HTML5 Video Full Screen button broken (looks like white square)
452         https://bugs.webkit.org/show_bug.cgi?id=84101
453
454         Reviewed by Dan Bernstein.
455
456         No new tests; updated platform results which were previously rebaselined.
457
458         Use the correct CSS keyword for the -webkit-appearance of the full screen button.
459
460         * css/mediaControls.css:
461         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
462
463 2012-04-17  Tom Sepez  <tsepez@chromium.org>
464
465         Framesniffing defense is too aggressive.
466         https://bugs.webkit.org/show_bug.cgi?id=83721
467
468         Reviewed by James Robinson.
469
470         The RenderLayer code currently propagates scroll position to parent frames
471         without any cross-origin checks.  This gives it a quick origin boundary check
472         that is set by FrameLoader only when performing a fragment navigation.  This 
473         allows us to safely relax the restriction on not scrolling at load time in 
474         FrameLoader since the safe thing will happen later on at scroll time.
475         
476         Test: http/tests/navigation/anchor-frames-same-origin.html
477
478         * dom/Document.cpp:
479         (WebCore::Document::findUnsafeParentScrollPropagationBoundary):
480         * dom/Document.h:
481         (Document):
482         * loader/FrameLoader.cpp:
483         (WebCore::FrameLoader::finishedParsing):
484         (WebCore::FrameLoader::loadInSameDocument):
485         (WebCore::FrameLoader::scrollToFragmentWithParentBoundary):
486         * loader/FrameLoader.h:
487         (FrameLoader):
488         * page/FrameView.cpp:
489         (WebCore::FrameView::FrameView):
490         (WebCore::FrameView::reset):
491         * page/FrameView.h:
492         (WebCore::FrameView::safeToPropagateScrollToParent):
493         (WebCore::FrameView::setSafeToPropagateScrollToParent):
494         (FrameView):
495         * rendering/RenderLayer.cpp:
496         (WebCore::RenderLayer::scrollRectToVisible):
497
498 2012-04-17  Emil A Eklund  <eae@chromium.org>
499
500         Add size_t versions of multiplication and division operators to FractionalLayoutUnit
501         https://bugs.webkit.org/show_bug.cgi?id=83848
502
503         Reviewed by Julien Chaffraix.
504
505         Add size_t versions of operator* and operator/ for platforms where there
506         is no ambiguity between unsigned int and size_t.
507
508         No new tests, no new functionality.
509
510         * platform/FractionalLayoutUnit.h:
511         (FractionalLayoutUnit):
512         (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
513         (WebCore::FractionalLayoutUnit::isInBounds):
514         (WebCore):
515         (WebCore::operator*):
516         (WebCore::operator/):
517
518 2012-04-17  Kentaro Hara  <haraken@chromium.org>
519
520         [V8] Add an optional Isolate argument to toV8().
521         https://bugs.webkit.org/show_bug.cgi?id=84161
522
523         Reviewed by Nate Chapin.
524
525         The final objective is to pass Isolate around in V8 bindings.
526         This patch adds an optional Isolate argument to toV8().
527         After rewriting all toV8() callers so that they pass Isolate,
528         I will make the Isolate argument non-optional.
529
530         No tests. No change in behavior.
531
532         * bindings/scripts/CodeGeneratorV8.pm:
533         Modified as described above.
534         (GenerateHeader):
535         (NativeToJSValue):
536         * bindings/v8/custom/V8BlobCustom.cpp:
537         (WebCore::toV8):
538         * bindings/v8/custom/V8CSSRuleCustom.cpp:
539         (WebCore::toV8):
540         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
541         (WebCore::toV8):
542         * bindings/v8/custom/V8CSSValueCustom.cpp:
543         (WebCore::toV8):
544         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
545         (WebCore::toV8):
546         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
547         (WebCore::toV8):
548         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
549         (WebCore::toV8):
550         * bindings/v8/custom/V8DOMWindowCustom.cpp:
551         (WebCore::toV8):
552         * bindings/v8/custom/V8DataViewCustom.cpp:
553         (WebCore::toV8):
554         * bindings/v8/custom/V8DocumentCustom.cpp:
555         (WebCore::toV8):
556         * bindings/v8/custom/V8EntryCustom.cpp:
557         (WebCore::toV8):
558         * bindings/v8/custom/V8EntrySyncCustom.cpp:
559         (WebCore::toV8):
560         * bindings/v8/custom/V8EventCustom.cpp:
561         (WebCore::toV8):
562         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
563         (WebCore::toV8):
564         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
565         (WebCore::toV8):
566         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
567         (WebCore::toV8):
568         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
569         (WebCore::toV8):
570         * bindings/v8/custom/V8HTMLElementCustom.cpp:
571         (WebCore::toV8):
572         * bindings/v8/custom/V8IDBAnyCustom.cpp:
573         (WebCore::toV8):
574         * bindings/v8/custom/V8IDBKeyCustom.cpp:
575         (WebCore::toV8):
576         * bindings/v8/custom/V8ImageDataCustom.cpp:
577         (WebCore::toV8):
578         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
579         (WebCore::toV8):
580         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
581         (WebCore::toV8):
582         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
583         (WebCore::toV8):
584         * bindings/v8/custom/V8LocationCustom.cpp:
585         (WebCore::toV8):
586         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
587         (WebCore::toV8):
588         * bindings/v8/custom/V8NodeCustom.cpp:
589         (WebCore::toV8Slow):
590         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
591         (WebCore::toV8):
592         * bindings/v8/custom/V8SVGElementCustom.cpp:
593         (WebCore::toV8):
594         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
595         (WebCore::toV8):
596         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
597         (WebCore::toV8):
598         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
599         (WebCore::toV8):
600         * bindings/v8/custom/V8StyleSheetCustom.cpp:
601         (WebCore::toV8):
602         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
603         (WebCore::toV8):
604         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
605         (WebCore::toV8):
606         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
607         (WebCore::toV8):
608         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
609         (WebCore::toV8):
610         * bindings/v8/custom/V8WorkerContextCustom.cpp:
611         (WebCore::toV8):
612
613         * bindings/scripts/test/V8/V8Float64Array.h:
614         Updated run-bindings-tests results.
615         (WebCore):
616         (WebCore::toV8):
617         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
618         (WebCore::toV8):
619         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
620         (WebCore::toV8):
621         * bindings/scripts/test/V8/V8TestEventConstructor.h:
622         (WebCore::toV8):
623         * bindings/scripts/test/V8/V8TestEventTarget.h:
624         (WebCore::toV8):
625         * bindings/scripts/test/V8/V8TestInterface.h:
626         (WebCore::toV8):
627         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
628         (WebCore::toV8):
629         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
630         (WebCore::toV8):
631         * bindings/scripts/test/V8/V8TestNode.h:
632         (WebCore::toV8):
633         * bindings/scripts/test/V8/V8TestObj.h:
634         (WebCore::toV8):
635         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
636         (WebCore::toV8):
637
638 2012-04-17  Yury Semikhatsky  <yurys@chromium.org>
639
640         Web Inspector: move heap snapshot data grids into their own file
641         https://bugs.webkit.org/show_bug.cgi?id=84160
642
643         Moved heap snapshot data grids into a separate file.
644
645         Reviewed by Pavel Feldman.
646
647         * WebCore.gypi:
648         * WebCore.vcproj/WebCore.vcproj:
649         * inspector/compile-front-end.py:
650         * inspector/front-end/DataGrid.js:
651         * inspector/front-end/HeapSnapshotDataGrids.js: Added.
652         (WebInspector.HeapSnapshotSortableDataGrid):
653         (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
654         (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
655         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
656         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
657         (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
658         (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
659         (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
660         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
661         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
662         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
663         (WebInspector.HeapSnapshotContainmentDataGrid):
664         (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
665         (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
666         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
667         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
668         (WebInspector.HeapSnapshotRetainmentDataGrid):
669         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
670         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
671         (WebInspector.HeapSnapshotConstructorsDataGrid):
672         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
673         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
674         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
675         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
676         (WebInspector.HeapSnapshotDiffDataGrid):
677         (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
678         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
679         (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
680         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
681         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
682         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
683         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
684         (WebInspector.HeapSnapshotDominatorsDataGrid):
685         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
686         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
687         * inspector/front-end/HeapSnapshotView.js:
688         * inspector/front-end/WebKit.qrc:
689         * inspector/front-end/inspector.html:
690
691 2012-04-17  Vivek Galatage  <vivekgalatage@gmail.com>
692
693         Script make_names.pl should generate consistent .h & .cpp files
694         https://bugs.webkit.org/show_bug.cgi?id=84140
695
696         Reviewed by Kentaro Hara.
697
698         Added a newline character and removed ';' after the DEFINE_GLOBAL
699
700         No test cases required for this change.
701
702         * dom/make_names.pl:
703         (printNamesCppFile):
704
705 2012-04-17  Aaron Colwell  <acolwell@chromium.org>
706
707         Add webkitSourceAddId() & webkitSourceRemoveId() to HTMLMediaElement
708         and propagate calls to the MediaPlayerPrivate interface.
709         These are needed to bring the Media Source implementation 
710         up to date with the new 0.4 version of the Media Source spec.
711         http://html5-mediasource-api.googlecode.com/svn/tags/0.4/draft-spec/mediasource-draft-spec.html
712         https://bugs.webkit.org/show_bug.cgi?id=83616
713
714         Reviewed by Eric Carlson, Darin Fisher.
715
716         Test: http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html
717
718         * html/HTMLMediaElement.cpp:
719         (WebCore):
720         (WebCore::HTMLMediaElement::isValidSourceId):
721         (WebCore::HTMLMediaElement::webkitSourceAddId):
722         (WebCore::HTMLMediaElement::webkitSourceRemoveId):
723         (WebCore::HTMLMediaElement::setSourceState):
724         * html/HTMLMediaElement.h:
725         (HTMLMediaElement):
726         * html/HTMLMediaElement.idl:
727         * platform/graphics/MediaPlayer.cpp:
728         (WebCore::NullMediaPlayerPrivate::sourceAddId):
729         (WebCore::NullMediaPlayerPrivate::sourceRemoveId):
730         (WebCore):
731         (WebCore::MediaPlayer::sourceAddId):
732         (WebCore::MediaPlayer::sourceRemoveId):
733         * platform/graphics/MediaPlayer.h:
734         * platform/graphics/MediaPlayerPrivate.h:
735         (WebCore::MediaPlayerPrivateInterface::sourceAddId):
736         (WebCore::MediaPlayerPrivateInterface::sourceRemoveId):
737
738 2012-04-17  Alexander Pavlov  <apavlov@chromium.org>
739
740         Web Inspector: [CRASH] InspectorDOMAgent::didInsertDOMNode() on page reload with open Inspector
741         https://bugs.webkit.org/show_bug.cgi?id=84154
742
743         Check that a node inserted actually has a parent.
744
745         Reviewed by Yury Semikhatsky.
746
747         Test: inspector/elements/elements-panel-reload-assert.html
748
749         * inspector/InspectorDOMAgent.cpp:
750         (WebCore::InspectorDOMAgent::didInsertDOMNode):
751
752 2012-04-17  Dana Jansens  <danakj@chromium.org>
753
754         [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result
755         https://bugs.webkit.org/show_bug.cgi?id=83543
756
757         Reviewed by Adrienne Walker.
758
759         It should not be possible to make a rect in layer space that is clipped
760         by the camera but for which the screen space transform gives a
761         rectilinear output. But use consistent methods for checking that the
762         result remains enclosed within the actual pixels.
763
764         One day when clipped is true, we can find an interior axis-aligned rect
765         within the clipped result, and checking clipped explicitly makes this
766         more clear.
767
768         Covered by existing tests.
769
770         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
771         (WebCore::computeOcclusionBehindLayer):
772         (WebCore::::markOccludedBehindLayer):
773
774 2012-04-17  Vsevolod Vlasov  <vsevik@chromium.org>
775
776         Web Inspector: Suggest box appears after the command was executed in console sometimes.
777         https://bugs.webkit.org/show_bug.cgi?id=84148
778
779         Reviewed by Pavel Feldman.
780
781         TextPrompt.complete() requests completions asynchronously, this change adds a flag
782         that informs TextPrompt._completionsReady() whether completions should still be shown.
783
784         * inspector/front-end/TextPrompt.js:
785         (WebInspector.TextPrompt.prototype.clearAutoComplete):
786         (WebInspector.TextPrompt.prototype.complete):
787         (WebInspector.TextPrompt.prototype._completionsReady):
788
789 2012-04-17  Yong Li  <yoli@rim.com>
790
791         REGRESSION (r105453): Crash when handling touch events
792         https://bugs.webkit.org/show_bug.cgi?id=81958
793
794         Reviewed by Antonio Gomes.
795
796         Always perform sanity checks when handling every touch point
797         because the node and document may have been destroyed or detached.
798
799         ManualTests/touch-stale-iframe-crash.html added.
800         (DumpRenderTree doesn't support transiting touch states in one shot yet)
801
802         * page/EventHandler.cpp:
803         (WebCore::EventHandler::handleTouchEvent):
804
805 2012-04-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
806
807         Asserts in XMLHttpRequestProgressEventThrottle
808         https://bugs.webkit.org/show_bug.cgi?id=81506
809
810         Reviewed by Julien Chaffraix.
811
812         The asserts were incorrectly triggered because suspending active DOM objects
813         (which suspends the XMLHttpRequestProgressEventThrottle) doesn't stop JavaScript
814         from running or suspend any running loader we may have. The previous code would
815         assume those 2 cases were impossible.
816
817         When XmlHttpRequest::open is called or data is received while the XmlHttpRequest object
818         is suspended the object may attempt to dispatch events. This patch defers these events
819         until the object is resumed.
820
821         Progress events are coalesced similar to normal throttling, and readystate-change events
822         are coalesced to avoid identical events emitted right after eachother.
823
824         On resume the events are dispatched after a timer to avoid interfering with 
825         ScriptExecutionContext which is iterating over suspended objects.
826
827         Test: fast/events/pagehide-xhr-open.html
828
829         * xml/XMLHttpRequestProgressEventThrottle.cpp:
830         (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
831         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
832         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
833         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
834         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
835         (WebCore::XMLHttpRequestProgressEventThrottle::fired):
836         (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
837         (WebCore::XMLHttpRequestProgressEventThrottle::resume):
838         * xml/XMLHttpRequestProgressEventThrottle.h:
839         (XMLHttpRequestProgressEventThrottle):
840
841 2012-04-16  Vsevolod Vlasov  <vsevik@chromium.org>
842
843         Web Inspector: [Chromium] Crash when inspecting empty IndexedDB object store.
844         https://bugs.webkit.org/show_bug.cgi?id=84035
845
846         Reviewed by Pavel Feldman.
847
848         Added a check that m_idbCursor is not null before calling postSuccessHandlerCallback() on it.
849
850         * inspector/InspectorIndexedDBAgent.cpp:
851         (WebCore):
852
853 2012-04-17  Pavel Feldman  <pfeldman@chromium.org>
854
855         Web Inspector: [regression r112413]content scripts tree outline is not added to the tab.
856         https://bugs.webkit.org/show_bug.cgi?id=84146
857
858         Reviewed by Vsevolod Vlasov.
859
860         Adding the tree to the container.
861
862         * inspector/front-end/ScriptsNavigator.js:
863         (WebInspector.ScriptsNavigator):
864
865 2012-04-17  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
866
867         [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled.
868         https://bugs.webkit.org/show_bug.cgi?id=83285
869
870         Reviewed by Ryosuke Niwa.
871
872         * platform/ContextMenuItem.h: Remove macro around enums - needed by InjectedBundle.
873         (WebCore):
874         * platform/Widget.h: Remove namespace WebCore for PlatformPageClient typedef.
875
876 2012-04-17  Kent Tamura  <tkent@chromium.org>
877
878         Introduce an internal feature for a fixed placeholder
879         https://bugs.webkit.org/show_bug.cgi?id=84009
880
881         Reviewed by Hajime Morita.
882
883         This change adds a framework to support fixed placeholder string for
884         textfield-like <input> without the palceholder attribute support. This
885         doesn't change any behavior of input types which support the
886         'placeholder' attribute.
887
888         According to the standard, <input type=date> doesn't support the
889         'placeholder' attribute. However it is a kind of text field in WebKit
890         platforms with ENABLE_CALENDAR_PICKER, and we may show something useful
891         information as the default placeholder.
892
893         No new tests because of no behavior changes.
894
895         * html/HTMLTextFormControlElement.h:
896         (HTMLTextFormControlElement): Make isPlaceholderEmpty() virtual.
897         * html/HTMLInputElement.h:
898         (HTMLInputElement): Overrides isPlaceholderEmpty().
899         * html/HTMLInputElement.cpp:
900         (WebCore::HTMLInputElement::isPlaceholderEmpty):
901         Check InputType::defaultPlaceholder() if InputType::usesFixedPlaceholder().
902         * html/InputType.cpp:
903         (WebCore::InputType::usesFixedPlaceholder): Added. Returns false.
904         (WebCore::InputType::fixedPlaceholder): Added. Returns a null string.
905         * html/InputType.h:
906         (InputType): Add usesFixedPlaceholder() and fixedPlaceholder().
907         * html/TextFieldInputType.cpp:
908         (WebCore::TextFieldInputType::updatePlaceholderText):
909         Uses fixedPlaceholder() instead of strippedPlaceholder() if usesFixedPlaceholder().
910
911 2012-04-17  Kent Tamura  <tkent@chromium.org>
912
913         Move some code of LocalizedNumberICU.cpp to ICULocale.cpp
914         https://bugs.webkit.org/show_bug.cgi?id=84128
915
916         Reviewed by Hajime Morita.
917
918         No new tests. No behavior change.
919
920         * WebCore.gypi: Add ICULocale.cpp
921         * platform/text/ICULocale.cpp:
922         Added. Move some code from LocalizedNumberICU.cpp
923         * platform/text/ICULocale.h:
924         (ICULocale): Add currentLocale().
925         * platform/text/LocalizedNumberICU.cpp:
926         (WebCore::convertToLocalizedNumber): Use ICULocale::currentLocale().
927         (WebCore::convertFromLocalizedNumber): ditto.
928
929 2012-04-17  Bang Kwang min  <justine.bang@samsung.com>
930
931         [Plugins] delete ws_info regardless of window mode.
932         https://bugs.webkit.org/show_bug.cgi?id=83004
933
934         Reviewed by Simon Hausmann.
935
936         m_npWindow.ws_info should be deleted even if plugin run as windowless mode to remove memory leak.
937         Every plugin works well after this patch without any crash.
938         Additionally, change casting syntax to C++ style.
939
940         * plugins/PluginView.cpp:
941         (WebCore::PluginView::stop):
942
943 2012-04-17  Kent Tamura  <tkent@chromium.org>
944
945         Calendar Picker: Support RTL layout
946         https://bugs.webkit.org/show_bug.cgi?id=83668
947
948         Reviewed by Hajime Morita.
949
950         Manual test: ManualTests/forms/calendar-picker.html
951
952         * Resources/calendarPicker.js:
953         (layout): If params.isRTL, add dir=rtl to the body.
954         (DaysTable.prototype._handleKey): Reverse Left and Right cursor keys if RTL.
955         * html/shadow/CalendarPickerElement.cpp:
956         (WebCore::addProperty): Add addProperty() with a bool value.
957         (WebCore::CalendarPickerElement::writeDocument):
958         Check the direction of the first character of localized January label,
959         and pass it as isRTL property.
960
961 2012-04-16  Carlos Garcia Campos  <cgarcia@igalia.com>
962
963         Unreviewed. Fix make distcheck issues.
964
965         * GNUmakefile.list.am: Add missing files.
966
967 2012-04-16  Hajime Morrita  <morrita@chromium.org>
968
969         insertedIntoDocument and insertedIntoTree should be unitifed.
970         https://bugs.webkit.org/show_bug.cgi?id=82701
971
972         Reviewed by Ryosuke Niwa.
973
974         Both Node::insertedIntoTree() and Node::insertedIntoDocument() are
975         served as lifecycle callbacks which are invoked when a node is
976         inserted into its new parent. There are also removedFromTree()
977         and removedFromDocument() respectively. Considering that this pair
978         of virtual functions are laid onto the hot path, it's worth
979         merging them into one, to gain some speedup. Such
980         unification could clarify the semantics as well.
981
982         This change makes following change to merge these functions.
983
984         - pulling the tree traversal out from ContainerNode to ChildNodeInsertionNotifier.
985         - letting new Node::insertInto() do the job for its own, but not
986           for its children and
987         - Pass the parent of each insertion root as a parameter of insertedInto().
988           This root node can tell inserted node where it is inserted,
989           specifically whetehr the insertion is to the document or not.
990
991         Same pattern is also applied to Node::removedFromDocument() and
992         Node::removedFromTree(), which are factored to Node::removedFrom()
993         and ChildNodeRemovalNotifier respectively.
994
995         Speed up on Dromaeo/dom-modify.html is about 2%.
996         Further speed-up by de-virtulization would be possible.
997
998         Caveat:
999
1000         There is possible situation where a node need to invoke
1001         insertedInto() after its children is nofitied, instead of before
1002         that.  It was represented naturally with previous
1003         traversal-by-ContainerNode pattern, but is no longer simple with
1004         this new external traversal. To support this scenario, we
1005         introduced the InsertionNotificationRequest as a return value of insertedInto()
1006         and a supplemental hook Node::didNotifyDescendantInseretions(). See for
1007         example HTMLFormElement.cpp to learn how it works.
1008
1009         No new tests. Covered by existing tests.
1010
1011         * CMakeLists.txt:
1012         * GNUmakefile.list.am:
1013         * Target.pri:
1014         * WebCore.gypi:
1015         * WebCore.xcodeproj/project.pbxproj:
1016         * dom/ContainerNode.cpp:
1017         (WebCore::ContainerNode::parserInsertBefore):
1018         (WebCore::ContainerNode::removeChild):
1019         (WebCore::ContainerNode::parserRemoveChild):
1020         (WebCore::ContainerNode::removeChildren):
1021         (WebCore::ContainerNode::parserAddChild):
1022         (WebCore::updateTreeAfterInsertion):
1023         * dom/ContainerNode.h:
1024         (ContainerNode):
1025         (WebCore::Node::highestAncestor):
1026         (WebCore):
1027         * dom/ContainerNodeAlgorithms.cpp: Added.
1028         (WebCore):
1029         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
1030         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
1031         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
1032         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
1033         * dom/ContainerNodeAlgorithms.h:
1034         (ChildNodeInsertionNotifier):
1035         (WebCore::ChildNodeInsertionNotifier::ChildNodeInsertionNotifier):
1036         (WebCore):
1037         (ChildNodeRemovalNotifier):
1038         (WebCore::ChildNodeRemovalNotifier::ChildNodeRemovalNotifier):
1039         (WebCore::removeAllChildrenInContainer):
1040         (WebCore::appendChildToContainer):
1041         (Private):
1042         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
1043         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
1044         (WebCore::ChildNodeInsertionNotifier::notifyInsertedIntoDocument):
1045         (WebCore::ChildNodeInsertionNotifier::notify):
1046         (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument):
1047         (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
1048         (WebCore::ChildNodeRemovalNotifier::notify):
1049         * dom/DOMAllInOne.cpp:
1050         * dom/DocumentType.cpp:
1051         (WebCore::DocumentType::insertedInto):
1052         (WebCore::DocumentType::removedFrom):
1053         * dom/DocumentType.h:
1054         (DocumentType):
1055         * dom/Element.cpp:
1056         (WebCore::Element::insertedInto):
1057         (WebCore::Element::removedFrom):
1058         * dom/Element.h:
1059         (Element):
1060         * dom/Node.cpp:
1061         (WebCore::Node::insertedInto):
1062         (WebCore::Node::removedFrom):
1063         * dom/Node.h:
1064         (Node):
1065         (WebCore::Node::didNotifyDescendantInseretions):
1066         * dom/ProcessingInstruction.cpp:
1067         (WebCore::ProcessingInstruction::insertedInto):
1068         (WebCore::ProcessingInstruction::removedFrom):
1069         * dom/ProcessingInstruction.h:
1070         (ProcessingInstruction):
1071         * dom/ScriptElement.cpp:
1072         (WebCore::ScriptElement::insertedInto):
1073         * dom/ScriptElement.h:
1074         (WebCore):
1075         (ScriptElement):
1076         * dom/ShadowTree.cpp:
1077         (WebCore::ShadowTree::addShadowRoot):
1078         (WebCore::ShadowTree::removeAllShadowRoots):
1079         * dom/ShadowTree.h:
1080         (ShadowTree):
1081         (ShadowRootVector):
1082         (WebCore::ShadowRootVector::ShadowRootVector):
1083         (WebCore):
1084         * html/FormAssociatedElement.cpp:
1085         (WebCore::FormAssociatedElement::insertedInto):
1086         (WebCore::FormAssociatedElement::removedFrom):
1087         (WebCore::FormAssociatedElement::formRemovedFromTree):
1088         * html/FormAssociatedElement.h:
1089         (FormAssociatedElement):
1090         * html/HTMLBaseElement.cpp:
1091         (WebCore::HTMLBaseElement::insertedInto):
1092         (WebCore::HTMLBaseElement::removedFrom):
1093         * html/HTMLBaseElement.h:
1094         (HTMLBaseElement):
1095         * html/HTMLBodyElement.cpp:
1096         (WebCore::HTMLBodyElement::insertedInto):
1097         (WebCore::HTMLBodyElement::didNotifyDescendantInseretions):
1098         * html/HTMLBodyElement.h:
1099         (HTMLBodyElement):
1100         * html/HTMLFormControlElement.cpp:
1101         (WebCore::HTMLFormControlElement::insertedInto):
1102         (WebCore::HTMLFormControlElement::removedFrom):
1103         * html/HTMLFormControlElement.h:
1104         (HTMLFormControlElement):
1105         * html/HTMLFormElement.cpp:
1106         (WebCore::HTMLFormElement::insertedInto):
1107         (WebCore::HTMLFormElement::didNotifyDescendantInseretions):
1108         (WebCore::HTMLFormElement::removedFrom):
1109         * html/HTMLFormElement.h:
1110         (HTMLFormElement):
1111         * html/HTMLFrameElementBase.cpp:
1112         (WebCore::HTMLFrameElementBase::insertedInto):
1113         (WebCore):
1114         (WebCore::HTMLFrameElementBase::didNotifyDescendantInseretions):
1115         * html/HTMLFrameElementBase.h:
1116         (HTMLFrameElementBase):
1117         * html/HTMLFrameSetElement.cpp:
1118         (WebCore::HTMLFrameSetElement::insertedInto):
1119         (WebCore::HTMLFrameSetElement::removedFrom):
1120         * html/HTMLFrameSetElement.h:
1121         (HTMLFrameSetElement):
1122         * html/HTMLIFrameElement.cpp:
1123         (WebCore::HTMLIFrameElement::insertedInto):
1124         (WebCore::HTMLIFrameElement::removedFrom):
1125         * html/HTMLIFrameElement.h:
1126         (HTMLIFrameElement):
1127         * html/HTMLImageElement.cpp:
1128         (WebCore::HTMLImageElement::insertedInto):
1129         (WebCore::HTMLImageElement::removedFrom):
1130         * html/HTMLImageElement.h:
1131         (HTMLImageElement):
1132         * html/HTMLInputElement.cpp:
1133         (WebCore::HTMLInputElement::insertedInto):
1134         (WebCore::HTMLInputElement::removedFrom):
1135         * html/HTMLInputElement.h:
1136         * html/HTMLLinkElement.cpp:
1137         (WebCore::HTMLLinkElement::insertedInto):
1138         (WebCore::HTMLLinkElement::removedFrom):
1139         * html/HTMLLinkElement.h:
1140         (HTMLLinkElement):
1141         * html/HTMLMapElement.cpp:
1142         (WebCore::HTMLMapElement::insertedInto):
1143         (WebCore::HTMLMapElement::removedFrom):
1144         * html/HTMLMapElement.h:
1145         (HTMLMapElement):
1146         * html/HTMLMediaElement.cpp:
1147         (WebCore::HTMLMediaElement::insertedInto):
1148         (WebCore::HTMLMediaElement::removedFrom):
1149         * html/HTMLMediaElement.h:
1150         (HTMLMediaElement):
1151         * html/HTMLMetaElement.cpp:
1152         (WebCore::HTMLMetaElement::insertedInto):
1153         * html/HTMLMetaElement.h:
1154         (HTMLMetaElement):
1155         * html/HTMLObjectElement.cpp:
1156         (WebCore::HTMLObjectElement::insertedInto):
1157         (WebCore::HTMLObjectElement::removedFrom):
1158         * html/HTMLObjectElement.h:
1159         (HTMLObjectElement):
1160         * html/HTMLOptionElement.cpp:
1161         (WebCore::HTMLOptionElement::insertedInto):
1162         * html/HTMLOptionElement.h:
1163         (HTMLOptionElement):
1164         * html/HTMLQuoteElement.cpp:
1165         (WebCore::HTMLQuoteElement::insertedInto):
1166         * html/HTMLQuoteElement.h:
1167         (HTMLQuoteElement):
1168         * html/HTMLScriptElement.cpp:
1169         (WebCore::HTMLScriptElement::insertedInto):
1170         * html/HTMLScriptElement.h:
1171         (HTMLScriptElement):
1172         * html/HTMLSelectElement.cpp:
1173         (WebCore::HTMLSelectElement::insertedInto):
1174         * html/HTMLSelectElement.h:
1175         * html/HTMLSourceElement.cpp:
1176         (WebCore::HTMLSourceElement::insertedInto):
1177         * html/HTMLSourceElement.h:
1178         (HTMLSourceElement):
1179         * html/HTMLStyleElement.cpp:
1180         (WebCore::HTMLStyleElement::insertedInto):
1181         (WebCore::HTMLStyleElement::removedFrom):
1182         * html/HTMLStyleElement.h:
1183         (HTMLStyleElement):
1184         * html/HTMLTextFormControlElement.cpp:
1185         (WebCore::HTMLTextFormControlElement::insertedInto):
1186         * html/HTMLTextFormControlElement.h:
1187         * html/HTMLTitleElement.cpp:
1188         (WebCore::HTMLTitleElement::insertedInto):
1189         (WebCore::HTMLTitleElement::removedFrom):
1190         * html/HTMLTitleElement.h:
1191         (HTMLTitleElement):
1192         * html/HTMLTrackElement.cpp:
1193         (WebCore::HTMLTrackElement::insertedInto):
1194         * html/HTMLTrackElement.h:
1195         (HTMLTrackElement):
1196         * mathml/MathMLMathElement.cpp:
1197         (WebCore::MathMLMathElement::insertedInto):
1198         * mathml/MathMLMathElement.h:
1199         (MathMLMathElement):
1200         * svg/SVGElement.cpp:
1201         (WebCore::SVGElement::removedFrom):
1202         * svg/SVGElement.h:
1203         (SVGElement):
1204         * svg/SVGFEImageElement.cpp:
1205         (WebCore::SVGFEImageElement::insertedInto):
1206         (WebCore::SVGFEImageElement::removedFrom):
1207         * svg/SVGFEImageElement.h:
1208         (SVGFEImageElement):
1209         * svg/SVGFontFaceElement.cpp:
1210         (WebCore::SVGFontFaceElement::insertedInto):
1211         (WebCore::SVGFontFaceElement::removedFrom):
1212         * svg/SVGFontFaceElement.h:
1213         (SVGFontFaceElement):
1214         * svg/SVGFontFaceUriElement.cpp:
1215         (WebCore::SVGFontFaceUriElement::insertedInto):
1216         * svg/SVGFontFaceUriElement.h:
1217         (SVGFontFaceUriElement):
1218         * svg/SVGGlyphElement.cpp:
1219         (WebCore::SVGGlyphElement::insertedInto):
1220         (WebCore::SVGGlyphElement::removedFrom):
1221         * svg/SVGGlyphElement.h:
1222         (SVGGlyphElement):
1223         * svg/SVGHKernElement.cpp:
1224         (WebCore::SVGHKernElement::insertedInto):
1225         (WebCore::SVGHKernElement::removedFrom):
1226         * svg/SVGHKernElement.h:
1227         (SVGHKernElement):
1228         * svg/SVGImageElement.cpp:
1229         (WebCore::SVGImageElement::insertedInto):
1230         * svg/SVGImageElement.h:
1231         (SVGImageElement):
1232         * svg/SVGSVGElement.cpp:
1233         (WebCore::SVGSVGElement::insertedInto):
1234         (WebCore::SVGSVGElement::removedFrom):
1235         * svg/SVGSVGElement.h:
1236         (SVGSVGElement):
1237         * svg/SVGScriptElement.cpp:
1238         (WebCore::SVGScriptElement::insertedInto):
1239         * svg/SVGScriptElement.h:
1240         (SVGScriptElement):
1241         * svg/SVGStyleElement.cpp:
1242         (WebCore::SVGStyleElement::insertedInto):
1243         (WebCore::SVGStyleElement::removedFrom):
1244         * svg/SVGStyleElement.h:
1245         (SVGStyleElement):
1246         * svg/SVGStyledElement.cpp:
1247         (WebCore::SVGStyledElement::insertedInto):
1248         (WebCore::SVGStyledElement::removedFrom):
1249         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
1250         * svg/SVGStyledElement.h:
1251         (SVGStyledElement):
1252         * svg/SVGTRefElement.cpp:
1253         (WebCore::SVGTRefElement::buildPendingResource):
1254         (WebCore::SVGTRefElement::insertedInto):
1255         (WebCore::SVGTRefElement::removedFrom):
1256         * svg/SVGTRefElement.h:
1257         (SVGTRefElement):
1258         * svg/SVGTextPathElement.cpp:
1259         (WebCore::SVGTextPathElement::insertedInto):
1260         * svg/SVGTextPathElement.h:
1261         * svg/SVGTitleElement.cpp:
1262         (WebCore::SVGTitleElement::insertedInto):
1263         (WebCore::SVGTitleElement::removedFrom):
1264         * svg/SVGTitleElement.h:
1265         (SVGTitleElement):
1266         * svg/SVGUseElement.cpp:
1267         (WebCore::SVGUseElement::insertedInto):
1268         (WebCore::SVGUseElement::removedFrom):
1269         * svg/SVGUseElement.h:
1270         (SVGUseElement):
1271         * svg/SVGVKernElement.cpp:
1272         (WebCore::SVGVKernElement::insertedInto):
1273         (WebCore::SVGVKernElement::removedFrom):
1274         * svg/SVGVKernElement.h:
1275         (SVGVKernElement):
1276         * svg/animation/SVGSMILElement.cpp:
1277         (WebCore::SVGSMILElement::insertedInto):
1278         (WebCore::SVGSMILElement::removedFrom):
1279         * svg/animation/SVGSMILElement.h:
1280         (SVGSMILElement):
1281
1282 2012-04-16  David Barr  <davidbarr@chromium.org>
1283
1284         Stack overflow in CSS parser caused by recursive stylesheet import
1285         https://bugs.webkit.org/show_bug.cgi?id=83545
1286
1287         Reviewed by Ryosuke Niwa.
1288
1289         Test: http/tests/css/css-imports-redirect-cycle.html
1290
1291         * css/CSSImportRule.cpp:
1292         (WebCore::StyleRuleImport::requestStyleSheet):
1293
1294 2012-04-16  Kent Tamura  <tkent@chromium.org>
1295
1296         Rename LocalizedNumberICU.h to ICULocale.h
1297         https://bugs.webkit.org/show_bug.cgi?id=84119
1298
1299         Reviewed by Kentaro Hara.
1300
1301         LocalizedNumberICU.h contains only ICULocale class. It should be
1302         named as ICULocale.h. We're going to move some functions in
1303         LocalizedDateICU.cpp and LocalizedCalendarICU.cpp to ICULocale,
1304         and add unit tests for them.
1305
1306         * WebCore.gypi: Rename LocalizedNumberICU.h to ICULocale.h
1307         * platform/text/ICULocale.h:
1308         Renamed from Source/WebCore/platform/text/LocalizedNumberICU.h.
1309         * platform/text/LocalizedNumberICU.cpp:
1310         Rename LocalizedNumberICU.h to ICULocale.h
1311
1312 2012-04-16  James Robinson  <jamesr@chromium.org>
1313
1314         [chromium] Move paintRenderedResultsToCanvas code into DrawingBuffer
1315         https://bugs.webkit.org/show_bug.cgi?id=84066
1316
1317         Reviewed by Adrienne Walker.
1318
1319         WebGLLayerChromium used to be responsible for the readback path for software painting WebGL canvases (for
1320         printing, etc), but this path no longer has any compositor interaction. This moves the code into
1321         DrawingBufferChromium which is responsible for managing the front / back buffers for WebGL.
1322
1323         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1324         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
1325         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1326         * platform/graphics/chromium/WebGLLayerChromium.h:
1327         (WebGLLayerChromium):
1328
1329 2012-04-16  Dana Jansens  <danakj@chromium.org>
1330
1331         [chromium] Expose compositor filters to Aura through WebLayer
1332         https://bugs.webkit.org/show_bug.cgi?id=80054
1333
1334         Reviewed by James Robinson.
1335
1336         Adds WebFilterOperation that wraps WebCore::FilterOperation and
1337         WebFilterOperations that wraps WebCore::FilterOperations.
1338
1339         We add support for most of the FilterOperation subclasses, and
1340         allow the user to set the WebFilterOperations for both layer
1341         content filters and background filters.
1342
1343         * WebCore.gypi:
1344         * platform/chromium/support/WebFilterOperation.cpp: Added.
1345         (WebKit):
1346         (WebKit::WebBasicColorMatrixFilterOperation::toFilterOperation):
1347         (WebKit::WebBasicComponentTransferFilterOperation::toFilterOperation):
1348         (WebKit::WebBlurFilterOperation::toFilterOperation):
1349         (WebKit::WebDropShadowFilterOperation::toFilterOperation):
1350         * platform/chromium/support/WebFilterOperations.cpp: Added.
1351         (WebKit):
1352         (WebKit::WebFilterOperations::WebFilterOperations):
1353         (WebKit::WebFilterOperations::append):
1354         (WebKit::WebFilterOperations::clear):
1355         (WebKit::WebFilterOperations::toFilterOperations):
1356
1357 2012-04-16  Andrei Burago  <aburago@chromium.org>
1358
1359         Auto-sized frames may be taller than expected
1360         https://bugs.webkit.org/show_bug.cgi?id=84106
1361
1362         Reviewed by David Levin.
1363
1364         No new tests. The repro steps require using Chrome notifications on Win.
1365
1366         * page/FrameView.cpp:
1367         (WebCore::FrameView::autoSizeIfEnabled):
1368
1369 2012-04-13  James Robinson  <jamesr@chromium.org>
1370
1371         [chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl to using it
1372         https://bugs.webkit.org/show_bug.cgi?id=83963
1373
1374         Reviewed by Adrienne Walker.
1375
1376         Converts VideoLayerChromium / CCVideoLayerImpl to use a Platform WebVideoFrameProvider interface instead of a
1377         WebCore VideoFrameProvider.
1378
1379         * WebCore.gypi:
1380         * platform/graphics/chromium/VideoLayerChromium.cpp:
1381         (WebCore::VideoLayerChromium::create):
1382         (WebCore::VideoLayerChromium::VideoLayerChromium):
1383         * platform/graphics/chromium/VideoLayerChromium.h:
1384         (WebKit):
1385         (WebCore):
1386         (VideoLayerChromium):
1387         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1388         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
1389         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1390         (WebCore::CCVideoLayerImpl::create):
1391         (CCVideoLayerImpl):
1392
1393 2012-04-16  Takashi Sakamoto  <tasak@google.com>
1394
1395         [Shadow DOM] InsertionPoint should have isActive() member function.
1396         https://bugs.webkit.org/show_bug.cgi?id=82010
1397
1398         Reviewed by Hajime Morita.
1399
1400         This patch adds isActive public member function to InsertionPoint and
1401         makes InsertionPoint elements consider whether active or not.
1402         If an InsertionPoint is inactive, the element is not shadow boundary
1403         and is needed to be rendered.
1404         c.f. https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#dfn-active-insertion-point
1405
1406         Test: update existing tests, i.e.
1407         LayoutTests/fast/dom/shadow/shadow-contents-fallback-dynamic.html and
1408         LayoutTests/fast/dom/shadow/shadow-contents-fallback.html
1409
1410         * html/shadow/InsertionPoint.cpp:
1411         (WebCore::InsertionPoint::isActive):
1412         A new public method for checking whether an insertion point is active or inactive.
1413         If active, returns true. Otherwise, false.
1414         (WebCore::InsertionPoint::isShadowBoundary):
1415         Make the method consider whether an insertin point is active or inactive.
1416         (WebCore::InsertionPoint::rendererIsNeeded):
1417         Changed to return true If an insertion point is inactive.
1418         (WebCore::InsertionPoint::attach):
1419         Changed to call only HTMLElement::attach If an insertion point is inactive.
1420         (WebCore::InsertionPoint::detach):
1421         Changed to call only HTMLElement::detach If an insertion point is inactive.
1422         * html/shadow/InsertionPoint.h:
1423         (InsertionPoint):
1424         Added isActive public method.
1425         * dom/NodeRenderingContext.cpp:
1426         (WebCore::NodeRenderingContext::NodeRenderingContext):
1427         Changed to take into account an insertion point's activeness when parent is an insertion point.
1428         (WebCore::NodeRenderingContext::firstRendererOf):
1429         (WebCore::NodeRenderingContext::lastRendererOf):
1430         Changed to take into account an insertion point's activeness.
1431
1432 2012-04-16  MORITA Hajime  <morrita@google.com>
1433
1434         Type tags in NodeFlags could be compressed
1435         https://bugs.webkit.org/show_bug.cgi?id=79299
1436
1437         Because existing node flags which indicate the class of each node
1438         are mutually exclusive, these flags can be represented as a enum.
1439         This patch introduces Node::NodeTypeTag to turn these flags into a
1440         enum, and embeds it into Node::m_nodeFlags.
1441
1442         Reviewed by Antti Koivisto.
1443
1444         No new tests. No bahavior change.
1445
1446         * dom/Node.cpp:
1447         (WebCore):
1448         * dom/Node.h:
1449         (WebCore):
1450         (Node):
1451         (WebCore::Node::typeTag):
1452         (WebCore::Node::parentNode):
1453         (WebCore::Node::parentNodeGuaranteedHostFree):
1454         (WebCore::Node::isContainerNode):
1455         (WebCore::Node::isElementNode):
1456         (WebCore::Node::isStyledElement):
1457         (WebCore::Node::isTextNode):
1458         (WebCore::Node::isHTMLElement):
1459         (WebCore::Node::isSVGElement):
1460         (WebCore::Node::isShadowRoot):
1461
1462 2012-04-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1463
1464         Unreviewed, rolling out r114285.
1465         http://trac.webkit.org/changeset/114285
1466         https://bugs.webkit.org/show_bug.cgi?id=84107
1467
1468         broke fast/media/media-query-list-08.html in Mac (Requested by
1469         andersca on #webkit).
1470
1471         * dom/Document.cpp:
1472         (WebCore::Document::styleSelectorChanged):
1473         * dom/Document.h:
1474         (Document):
1475         * page/FrameView.cpp:
1476         (WebCore::FrameView::layout):
1477
1478 2012-04-16  Nate Chapin  <japhet@chromium.org>
1479
1480         Remove unused variable CachedResourceLoader::m_loadFinishing
1481         https://bugs.webkit.org/show_bug.cgi?id=84100
1482
1483         Reviewed by Alexey Proskuryakov.
1484
1485         No new tests, removing dead code.
1486
1487         * loader/cache/CachedResourceLoader.cpp:
1488         (WebCore::CachedResourceLoader::CachedResourceLoader):
1489         (WebCore::CachedResourceLoader::loadDone):
1490         (WebCore::CachedResourceLoader::decrementRequestCount):
1491         * loader/cache/CachedResourceLoader.h:
1492         (CachedResourceLoader):
1493         (WebCore::CachedResourceLoader::requestCount):
1494
1495 2012-04-16  Andreas Kling  <kling@webkit.org>
1496
1497         Remove contextStyleSheet argument from CSSValuePool::createFontFaceValue().
1498         <http://webkit.org/b/83988>
1499
1500         Reviewed by Antti Koivisto.
1501
1502         Remove the 'context style sheet' argument to <font face> value parsing.
1503         It was only ever used to grab at the CSSValuePool back when they were per-Document.
1504
1505         * css/CSSParser.h:
1506         * css/CSSParser.cpp:
1507         (WebCore::CSSParser::parseFontFaceValue):
1508         * css/CSSValuePool.h:
1509         * css/CSSValuePool.cpp:
1510         (WebCore::CSSValuePool::createFontFaceValue):
1511         * html/HTMLFontElement.cpp:
1512         (WebCore::HTMLFontElement::collectStyleForAttribute):
1513
1514 2012-04-16  Dana Jansens  <danakj@chromium.org>
1515
1516         [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result
1517         https://bugs.webkit.org/show_bug.cgi?id=83543
1518
1519         Reviewed by Adrienne Walker.
1520
1521         It should not be possible to make a rect in layer space that is clipped
1522         by the camera but for which the screen space transform gives a
1523         rectilinear output. But use consistent methods for checking that the
1524         result remains enclosed within the actual pixels.
1525
1526         One day when clipped is true, we can find an interior axis-aligned rect
1527         within the clipped result, and checking clipped explicitly makes this
1528         more clear.
1529
1530         Covered by existing tests.
1531
1532         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1533         (WebCore::computeOcclusionBehindLayer):
1534         (WebCore::::markOccludedBehindLayer):
1535
1536 2012-04-16  Erik Arvidsson  <arv@chromium.org>
1537
1538         [V8] Don't delete the per context data until the V8IsolatedContext is deleted
1539         https://bugs.webkit.org/show_bug.cgi?id=83831
1540
1541         Reviewed by Nate Chapin.
1542
1543         Test: http/tests/security/isolatedWorld/context-destroy.html
1544
1545         * bindings/v8/V8IsolatedContext.cpp:
1546         (WebCore::V8IsolatedContext::destroy):
1547
1548 2012-04-16  Greg Billock  <gbillock@google.com>
1549
1550         Add V8 code generation support for MessagePortArray attributes.
1551         https://bugs.webkit.org/show_bug.cgi?id=83943
1552
1553         Reviewed by Kentaro Hara.
1554
1555         * bindings/scripts/CodeGeneratorV8.pm:
1556         (GenerateNormalAttrGetter):
1557         * bindings/scripts/IDLAttributes.txt:
1558         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
1559         (WebDOMTestSerializedScriptValueInterface::ports):
1560         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
1561         (WebDOMTestSerializedScriptValueInterface):
1562         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1563         (webkit_dom_test_serialized_script_value_interface_get_property):
1564         (webkit_dom_test_serialized_script_value_interface_class_init):
1565         (webkit_dom_test_serialized_script_value_interface_get_ports):
1566         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1567         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1568         (WebCore):
1569         (WebCore::jsTestSerializedScriptValueInterfacePorts):
1570         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1571         (WebCore):
1572         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
1573         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
1574         (-[DOMTestSerializedScriptValueInterface ports]):
1575         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1576         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1577         (WebCore::TestSerializedScriptValueInterfaceInternal::portsAttrGetter):
1578         (TestSerializedScriptValueInterfaceInternal):
1579         (WebCore):
1580
1581 2012-04-16  Xiaomei Ji  <xji@chromium.org>
1582
1583         platform/graphics/skia/GlyphPageTreeNodeSkia.cpp mis-use 'continue' for 'break'
1584         https://bugs.webkit.org/show_bug.cgi?id=83521
1585
1586         Reviewed by David Levin.
1587
1588         No functionality change, so no new tests.
1589
1590         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
1591         (WebCore::GlyphPage::fill):
1592
1593 2012-04-16  Levi Weintraub  <leviw@chromium.org>
1594
1595         Make borderBoxRect sub-pixel precise and add a pixel snapped version
1596         https://bugs.webkit.org/show_bug.cgi?id=84063
1597
1598         Reviewed by Eric Seidel.
1599
1600         In an effort to prevent misuse, we previously decided to have borderBoxRect return a
1601         pixel-snapped IntRect. This is because borderBoxRect returns a rect that's positioned
1602         at (0,0), and therefore won't snap to the same size as the element it's covering.
1603
1604         There are a couple uses of borderBoxRect that don't pixel snap the values and require
1605         sub-pixel precision. This patch adds a pixelSnappedBorderBoxRect that makes the snapping
1606         explicit, and moves uses that would otherwise pixel snap the rect to this version to
1607         avoid producing a rect of the incorrect size. For details about pixel snapping with
1608         LayoutUnits, please see https://trac.webkit.org/wiki/LayoutUnit
1609
1610         No new tests. No change in behavior.
1611
1612         * html/shadow/TextControlInnerElements.cpp:
1613         (WebCore::SpinButtonElement::defaultEventHandler):
1614         * rendering/RenderBlock.cpp:
1615         (WebCore::RenderBlock::addVisualOverflowFromTheme):
1616         * rendering/RenderBox.h:
1617         (WebCore::RenderBox::borderBoxRect):
1618         (WebCore::RenderBox::pixelSnappedBorderBoxRect):
1619         (WebCore::RenderBox::borderBoundingBox):
1620         (WebCore::RenderBox::hasVisualOverflow):
1621         * rendering/RenderLayer.cpp:
1622         (WebCore::RenderLayer::scrollCornerRect):
1623         (WebCore::RenderLayer::scrollCornerAndResizerRect):
1624         (WebCore::RenderLayer::horizontalScrollbarStart):
1625         (WebCore::RenderLayer::positionOverflowControls):
1626         (WebCore::RenderLayer::paintResizer):
1627         (WebCore::RenderLayer::hitTestOverflowControls):
1628         * rendering/RenderLayerBacking.cpp:
1629         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1630         (WebCore::RenderLayerBacking::startAnimation):
1631         (WebCore::RenderLayerBacking::startTransition):
1632         * rendering/RenderTable.cpp:
1633         (WebCore::RenderTable::addOverflowFromChildren):
1634         * rendering/RenderThemeMac.mm:
1635         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1636         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
1637         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
1638         * rendering/svg/RenderSVGRoot.cpp:
1639         (WebCore::RenderSVGRoot::paintReplaced):
1640         (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
1641
1642 2012-04-16  Anders Carlsson  <andersca@apple.com>
1643
1644         Crash when running some editing related tests
1645         https://bugs.webkit.org/show_bug.cgi?id=84091
1646
1647         Reviewed by Andreas Kling.
1648
1649         Null check triggeringEvent.
1650
1651         * editing/Editor.cpp:
1652         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1653
1654 2012-04-16  Simon Fraser  <simon.fraser@apple.com>
1655
1656         Rename to updateZOrderListsSlowCase to rebuildZOrderLists
1657         https://bugs.webkit.org/show_bug.cgi?id=84071
1658
1659         Reviewed by Antti Koivisto.
1660
1661         Use a better name for updateZOrderListsSlowCase().
1662
1663         * rendering/RenderLayer.cpp:
1664         (WebCore::RenderLayer::rebuildZOrderLists):
1665         * rendering/RenderLayer.h:
1666         (RenderLayer):
1667         (WebCore::RenderLayer::updateZOrderLists):
1668
1669 2012-04-16  Terry Anderson  <tdanderson@chromium.org>
1670
1671         [chromium] Allow WebGestureEvent to store four floating point values
1672         https://bugs.webkit.org/show_bug.cgi?id=84053
1673
1674         Reviewed by Darin Fisher.
1675
1676         See bug description for an explanation of the changes made.
1677
1678         * platform/PlatformGestureEvent.h:
1679         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
1680         (PlatformGestureEvent):
1681         (WebCore::PlatformGestureEvent::gammaX):
1682         (WebCore::PlatformGestureEvent::gammaY):
1683
1684 2012-04-16  Kentaro Hara  <haraken@chromium.org>
1685
1686         [Refactoring][V8] Remove $indent from NativeToJSValue()
1687         https://bugs.webkit.org/show_bug.cgi?id=84077
1688
1689         Reviewed by Nate Chapin.
1690
1691         $indent in NativeToJSValue() in CodeGeneratorV8.pm is not used.
1692         This patch removes it.
1693
1694         No new tests. No change in behavior.
1695
1696         * bindings/scripts/CodeGeneratorV8.pm:
1697         (GenerateNormalAttrGetter):
1698         (GenerateFunctionCallString):
1699         (NativeToJSValue):
1700
1701 2012-04-16  Luiz Agostini  <luiz.agostini@palm.com>
1702
1703         matchMedia() MediaQueryList not updating
1704         https://bugs.webkit.org/show_bug.cgi?id=75903
1705
1706         Reviewed by Antti Koivisto.
1707
1708         Test: fast/media/media-query-list-08.html
1709
1710         Viewport related MediaQueryList listeners were not triggered and the value
1711         of matches were not updated if the document's style selector were not
1712         affected by viewport changes.
1713
1714         The new method evaluateMediaQueries() is now called by FrameView instead of
1715         styleSelectorChanged() if the style selector is not affected by viewport changes.
1716
1717         * dom/Document.cpp:
1718         (WebCore::Document::evaluateMediaQueries):
1719         (WebCore):
1720         (WebCore::Document::styleSelectorChanged):
1721         * dom/Document.h:
1722         (Document):
1723         * page/FrameView.cpp:
1724         (WebCore::FrameView::layout):
1725
1726 2012-04-16  James Robinson  <jamesr@chromium.org>
1727
1728         [chromium] Delete uncalled unreserveContentsTextures function
1729         https://bugs.webkit.org/show_bug.cgi?id=84005
1730
1731         Reviewed by Adrienne Walker.
1732
1733         This is vestigal dead code.
1734
1735         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1736         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1737         (Canvas2DLayerChromium):
1738         * platform/graphics/chromium/LayerChromium.h:
1739         * platform/graphics/chromium/cc/CCLayerImpl.h:
1740         (CCLayerImpl):
1741
1742 2012-04-13  Simon Fraser  <simon.fraser@apple.com>
1743
1744         Avoid using backing store for compositing layers that just need to clip
1745         https://bugs.webkit.org/show_bug.cgi?id=40547
1746
1747         Reviewed by Dean Jackson.
1748         
1749         If a layer becomes composited because it needs to clip composited
1750         descendants, or if it has perspective, then it doesn't actually
1751         needs its own backing store; its contents can be painted by an
1752         ancestor, and we can just have an empty layer that does the clipping
1753         or applies the perspective transform.
1754         
1755         This saves backing store memory on some pages.
1756
1757         Tests: compositing/backing/no-backing-for-clip-overlap.html
1758                compositing/backing/no-backing-for-clip.html
1759                compositing/backing/no-backing-for-perspective.html
1760
1761         * rendering/RenderLayer.cpp:
1762         (WebCore):
1763         (WebCore::RenderLayer::enclosingCompositingLayerForRepaint):
1764         (WebCore::RenderLayer::paintLayer):
1765         * rendering/RenderLayer.h:
1766         (RenderLayer):
1767         * rendering/RenderLayerBacking.cpp:
1768         (WebCore::RenderLayerBacking::RenderLayerBacking):
1769         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1770         (WebCore::RenderLayerBacking::containsPaintedContent):
1771         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
1772         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
1773         (WebCore::RenderLayerBacking::paintIntoLayer):
1774         * rendering/RenderLayerBacking.h:
1775         (RenderLayerBacking):
1776         (WebCore::RenderLayerBacking::paintsIntoCompositedAncestor):
1777         (WebCore::RenderLayerBacking::setRequiresOwnBackingStore):
1778         * rendering/RenderLayerCompositor.cpp:
1779         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1780         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
1781         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1782         (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
1783         (WebCore):
1784         * rendering/RenderLayerCompositor.h:
1785         * rendering/RenderObject.cpp:
1786         (WebCore::RenderObject::containerForRepaint):
1787         * rendering/RenderTreeAsText.cpp:
1788         (WebCore::write):
1789         * rendering/RenderView.cpp:
1790         (WebCore::RenderView::paintBoxDecorations):
1791
1792 2012-04-16  Brady Eidson  <beidson@apple.com>
1793
1794         <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050
1795         WebKit2 back/forward items in the page cache are never removed when the page is closed
1796
1797         Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee.
1798
1799         * WebCore.exp.in: Export PageCache::remove()
1800
1801 2012-04-16  Philippe Normand  <pnormand@igalia.com>
1802
1803         Unreviewed, GTK build fix after r114269.
1804
1805         * GNUmakefile.list.am:
1806
1807 2012-04-16  Andrey Kosyakov  <caseq@chromium.org>
1808
1809         Web Inspector: timeline. Range selection works incorrect with right click
1810         https://bugs.webkit.org/show_bug.cgi?id=83870
1811
1812         Reviewed by Pavel Feldman.
1813
1814         - only start window dragging upon mousedown with left button (right will cause a context menu and we won't see mouseup)
1815
1816         * inspector/front-end/TimelineOverviewPane.js:
1817         (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
1818
1819 2012-04-16  Andrey Kosyakov  <caseq@chromium.org>
1820
1821         Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
1822         https://bugs.webkit.org/show_bug.cgi?id=83946
1823
1824         Reviewed by Pavel Feldman.
1825
1826         Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
1827         support for moving overview window with horizontal swype over lower timeline pane, thus removing
1828         an irritating situation when we try to both change overview window and scroll lower timeline pane
1829         upon a single touchpad gesture. Those willing to move timeline window now would need to position
1830         mouse over overview.
1831
1832         * inspector/front-end/TimelineOverviewPane.js:
1833         (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
1834         (WebInspector.TimelineOverviewWindow.prototype._zoom):
1835         * inspector/front-end/TimelinePanel.js:
1836         (WebInspector.TimelinePanel):
1837
1838 2012-04-16  Yury Semikhatsky  <yurys@chromium.org>
1839
1840         Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
1841         https://bugs.webkit.org/show_bug.cgi?id=84038
1842
1843         A bunch of renames "detailed heapshot" -> "heap snapshot".
1844
1845         Reviewed by Pavel Feldman.
1846
1847         Tests: inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html
1848                inspector/profiler/heap-snapshot-comparison-show-all.html
1849                inspector/profiler/heap-snapshot-comparison-show-next.html
1850                inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html
1851                inspector/profiler/heap-snapshot-comparison-sorting.html
1852                inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html
1853                inspector/profiler/heap-snapshot-containment-show-all.html
1854                inspector/profiler/heap-snapshot-containment-show-next.html
1855                inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html
1856                inspector/profiler/heap-snapshot-containment-sorting.html
1857                inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html
1858                inspector/profiler/heap-snapshot-dominators-show-all.html
1859                inspector/profiler/heap-snapshot-dominators-show-next.html
1860                inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html
1861                inspector/profiler/heap-snapshot-dominators-sorting.html
1862                inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html
1863                inspector/profiler/heap-snapshot-summary-show-all.html
1864                inspector/profiler/heap-snapshot-summary-show-next.html
1865                inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html
1866                inspector/profiler/heap-snapshot-summary-sorting.html
1867
1868         * WebCore.gypi:
1869         * WebCore.vcproj/WebCore.vcproj:
1870         * inspector/compile-front-end.py:
1871         * inspector/front-end/HeapSnapshotGridNodes.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotGridNodes.js.
1872         (WebInspector.HeapSnapshotGridNode):
1873         (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
1874         (WebInspector.HeapSnapshotGridNode.prototype.createCell):
1875         (WebInspector.HeapSnapshotGridNode.prototype.dispose):
1876         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
1877         (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
1878         (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
1879         (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
1880         (WebInspector.HeapSnapshotGridNode.prototype._populate):
1881         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
1882         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
1883         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
1884         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
1885         (WebInspector.HeapSnapshotGridNode.prototype._saveChildren):
1886         (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
1887         (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
1888         (WebInspector.HeapSnapshotGridNode.prototype.sort):
1889         (WebInspector.HeapSnapshotLazyGridNode):
1890         (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
1891         (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
1892         (WebInspector.HeapSnapshotGenericObjectNode):
1893         (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
1894         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
1895         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
1896         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
1897         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
1898         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _retainedSizePercent):
1899         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
1900         (WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren):
1901         (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow):
1902         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
1903         (WebInspector.HeapSnapshotObjectNode):
1904         (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
1905         (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
1906         (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity):
1907         (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode):
1908         (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
1909         (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
1910         (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
1911         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
1912         (WebInspector.HeapSnapshotInstanceNode):
1913         (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
1914         (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForEntity):
1915         (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForNode):
1916         (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
1917         (WebInspector.HeapSnapshotInstanceNode.prototype._emptyData):
1918         (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
1919         (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
1920         (WebInspector.HeapSnapshotConstructorNode):
1921         (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
1922         (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
1923         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
1924         (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
1925         (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForEntity):
1926         (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForNode):
1927         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
1928         (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
1929         (WebInspector.HeapSnapshotConstructorNode.prototype.get _retainedSizePercent):
1930         (WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent):
1931         (WebInspector.HeapSnapshotIteratorsTuple):
1932         (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
1933         (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
1934         (WebInspector.HeapSnapshotDiffNode):
1935         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
1936         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
1937         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
1938         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
1939         (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
1940         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
1941         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
1942         (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
1943         (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
1944         (WebInspector.HeapSnapshotDiffNode.prototype.comparator):
1945         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
1946         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
1947         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
1948         (WebInspector.HeapSnapshotDiffNode.prototype._signForDelta):
1949         (WebInspector.HeapSnapshotDiffNode.prototype.get data):
1950         (WebInspector.HeapSnapshotDominatorObjectNode):
1951         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
1952         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
1953         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForEntity):
1954         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForNode):
1955         (WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator):
1956         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData):
1957         (MixInSnapshotNodeFunctions):
1958         * inspector/front-end/HeapSnapshotView.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotView.js.
1959         (WebInspector.HeapSnapshotSortableDataGrid):
1960         (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
1961         (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
1962         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
1963         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
1964         (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
1965         (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
1966         (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
1967         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
1968         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
1969         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
1970         (WebInspector.HeapSnapshotContainmentDataGrid):
1971         (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
1972         (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
1973         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
1974         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
1975         (WebInspector.HeapSnapshotRetainmentDataGrid):
1976         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
1977         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
1978         (WebInspector.HeapSnapshotConstructorsDataGrid):
1979         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
1980         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
1981         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
1982         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
1983         (WebInspector.HeapSnapshotDiffDataGrid):
1984         (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
1985         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
1986         (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
1987         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
1988         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
1989         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
1990         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
1991         (WebInspector.HeapSnapshotDominatorsDataGrid):
1992         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
1993         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
1994         (WebInspector.HeapSnapshotView.profileCallback):
1995         (WebInspector.HeapSnapshotView):
1996         (WebInspector.HeapSnapshotView.prototype.dispose):
1997         (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
1998         (WebInspector.HeapSnapshotView.prototype.get profile):
1999         (WebInspector.HeapSnapshotView.prototype.get profileWrapper):
2000         (WebInspector.HeapSnapshotView.prototype.get baseProfile):
2001         (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
2002         (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
2003         (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback2):
2004         (WebInspector.HeapSnapshotView.prototype.wasShown):
2005         (WebInspector.HeapSnapshotView.prototype.willHide):
2006         (WebInspector.HeapSnapshotView.prototype.onResize):
2007         (WebInspector.HeapSnapshotView.prototype.searchCanceled):
2008         (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
2009         (WebInspector.HeapSnapshotView.prototype.performSearch.matchesById):
2010         (WebInspector.HeapSnapshotView.prototype.performSearch.matchesQuery):
2011         (WebInspector.HeapSnapshotView.prototype.performSearch):
2012         (WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult):
2013         (WebInspector.HeapSnapshotView.prototype.jumpToLastSearchResult):
2014         (WebInspector.HeapSnapshotView.prototype.jumpToNextSearchResult):
2015         (WebInspector.HeapSnapshotView.prototype.jumpToPreviousSearchResult):
2016         (WebInspector.HeapSnapshotView.prototype.showingFirstSearchResult):
2017         (WebInspector.HeapSnapshotView.prototype.showingLastSearchResult):
2018         (WebInspector.HeapSnapshotView.prototype._jumpToSearchResult):
2019         (WebInspector.HeapSnapshotView.prototype.refreshVisibleData):
2020         (WebInspector.HeapSnapshotView.prototype._changeBase):
2021         (WebInspector.HeapSnapshotView.prototype._changeFilter):
2022         (WebInspector.HeapSnapshotView.prototype._createToolbarWithClassNameFilter):
2023         (WebInspector.HeapSnapshotView.prototype._changeNameFilter):
2024         (WebInspector.HeapSnapshotView.prototype._profiles):
2025         (WebInspector.HeapSnapshotView.prototype._loadProfile):
2026         (WebInspector.HeapSnapshotView.prototype._loadProfileByIndex):
2027         (WebInspector.HeapSnapshotView.prototype.isDetailedSnapshot):
2028         (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
2029         (WebInspector.HeapSnapshotView.prototype._selectionChanged):
2030         (WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged):
2031         (WebInspector.HeapSnapshotView.prototype._setRetainmentDataGridSource):
2032         (WebInspector.HeapSnapshotView.prototype._mouseDownInContentsGrid):
2033         (WebInspector.HeapSnapshotView.prototype.changeView.sortingComplete):
2034         (WebInspector.HeapSnapshotView.prototype.changeView):
2035         (WebInspector.HeapSnapshotView.prototype._changeView):
2036         (WebInspector.HeapSnapshotView.prototype._getHoverAnchor):
2037         (WebInspector.HeapSnapshotView.prototype._resolveObjectForPopover):
2038         (WebInspector.HeapSnapshotView.prototype._helpClicked.appendHelp):
2039         (WebInspector.HeapSnapshotView.prototype._helpClicked):
2040         (WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging):
2041         (WebInspector.HeapSnapshotView.prototype._retainersHeaderDragging):
2042         (WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging):
2043         (WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight):
2044         (WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
2045         (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
2046         (WebInspector.HeapSnapshotProfileType):
2047         (WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
2048         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2049         (WebInspector.HeapSnapshotProfileType.prototype.get treeItemTitle):
2050         (WebInspector.HeapSnapshotProfileType.prototype.get description):
2051         (WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
2052         (WebInspector.HeapSnapshotProfileType.prototype.createView):
2053         * inspector/front-end/ProfilesPanel.js:
2054         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
2055         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2056         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
2057         * inspector/front-end/WebKit.qrc:
2058         * inspector/front-end/heapProfiler.css:
2059         (.heap-snapshot-view):
2060         (.heap-snapshot-view.visible):
2061         (.heap-snapshot-view .view):
2062         (.heap-snapshot-view .view.visible):
2063         (.heap-snapshot-view .data-grid tr:empty):
2064         (.heap-snapshot-view .data-grid):
2065         (.heap-snapshot-view .data-grid td.count-column):
2066         (.heap-snapshot-view .data-grid td.addedCount-column):
2067         (.heap-snapshot-view .data-grid td.removedCount-column):
2068         (.heap-snapshot-view .data-grid td.countDelta-column):
2069         (.heap-snapshot-view .data-grid td.addedSize-column):
2070         (.heap-snapshot-view .data-grid td.removedSize-column):
2071         (.heap-snapshot-view .data-grid td.sizeDelta-column):
2072         (.heap-snapshot-view .data-grid td.shallowSize-column):
2073         (.heap-snapshot-view .data-grid td.retainedSize-column):
2074         (.heap-snapshot-view .data-grid td.distanceToWindow-column):
2075         (.heap-snapshot-view .data-grid span.percent-column):
2076         (.heap-snapshot-view .console-formatted-object, .console-formatted-node):
2077         (.heap-snapshot-view .console-formatted-string):
2078         (.heap-snapshot-view .console-formatted-id):
2079         (.heap-snapshot-view .data-grid tr.selected *):
2080         (.heap-snapshot-view .data-grid:focus tr.selected *):
2081         (.heap-snapshot-view .delimiter):
2082         (.heap-snapshot-view .views-container):
2083         (.heap-snapshot-view .views-container .view):
2084         (.heap-snapshot-view .retaining-paths-view):
2085         (.heap-snapshot-view .class-view-grid):
2086         (.heap-snapshot-view .class-view-toolbar):
2087         (.heap-snapshot-view .class-view-toolbar input.class-name-filter):
2088         (.heap-snapshot-view .retainers-view-header):
2089         (.heap-snapshot-view .retainers-view-header .title > span):
2090         (.heap-snapshot-view tr:not(.selected) td.object-column span.highlight):
2091         (.heap-snapshot-view td.object-column span.grayed):
2092         (.heap-snapshot-help-status-bar-item .glyph):
2093         (table.heap-snapshot-help):
2094         * inspector/front-end/inspector.html:
2095
2096 2012-04-16  Andrey Kosyakov  <caseq@chromium.org>
2097
2098         Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
2099         https://bugs.webkit.org/show_bug.cgi?id=83946
2100
2101         Reviewed by Pavel Feldman.
2102
2103         Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
2104         support for moving overview window with horizontal swype over lower timeline pane, thus removing
2105         an irritating situation when we try to both change overview window and scroll lower timeline pane
2106         upon a single touchpad gesture. Those willing to move timeline window now would need to position
2107         mouse over overview.
2108
2109         * inspector/front-end/TimelineOverviewPane.js:
2110         (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
2111         (WebInspector.TimelineOverviewWindow.prototype._zoom):
2112         * inspector/front-end/TimelinePanel.js:
2113         (WebInspector.TimelinePanel):
2114
2115 2012-04-11  Philippe Normand  <pnormand@igalia.com>
2116
2117         [GStreamer] HRTFDatabaseLoader conflicts with AudioFileReader
2118         https://bugs.webkit.org/show_bug.cgi?id=78095
2119
2120         Reviewed by Martin Robinson.
2121
2122         Moved the GStreamer initialization logic to a new
2123         GStreamerUtilities module, used by the MediaPlayer and the
2124         AudioContext. I also removed the static variables as
2125         gst_init_check already handles cases where it's called multiple
2126         times.
2127
2128         * GNUmakefile.list.am:
2129         * Modules/webaudio/AudioContext.cpp:
2130         (WebCore::AudioContext::constructCommon):
2131         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2132         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
2133         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2134         (WebCore::AudioFileReader::createBus):
2135         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
2136         (WTF::adoptGRef):
2137         (WTF):
2138         (WTF::GstElementFactory):
2139         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
2140         (WTF):
2141         * platform/graphics/gstreamer/GStreamerUtilities.cpp: Added.
2142         (WebCore):
2143         (WebCore::initializeGStreamer):
2144         * platform/graphics/gstreamer/GStreamerUtilities.h: Added.
2145         (WebCore):
2146         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2147         (WebCore::doGstInit):
2148
2149 2012-04-16  ChangSeok Oh  <shivamidow@gmail.com>
2150
2151         Update GraphicsContext3DOpenGLES.cpp and fix some issues to build with GLES.
2152         https://bugs.webkit.org/show_bug.cgi?id=83982
2153
2154         Reviewed by Martin Robinson.
2155
2156         GL_BGRA is not defined in GLESv2, so it causes build-break at readRenderingResults.
2157         To resolve this, a helper function readPixelsAndConvertToBGRAIfNecessary is added
2158         in GC3DOpenGL.cpp & GC3DOpenGLES.cpp and it's used in GC3DOpenGLCommon.cpp.
2159         And some other issues to build with GLES are gone with this patch.
2160
2161         No new tests, since no new feature.
2162
2163         * platform/graphics/GraphicsContext3D.h:
2164         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2165         (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
2166         (WebCore):
2167         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2168         (WebCore::GraphicsContext3D::readRenderingResults):
2169         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2170         (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
2171         (WebCore):
2172         (WebCore::GraphicsContext3D::reshapeFBOs):
2173         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
2174
2175 2012-04-16  Xiaomei Ji  <xji@chromium.org>
2176
2177         [chromium] wrong justification for arabic/persian page in cr-win.
2178         https://bugs.webkit.org/show_bug.cgi?id=83227
2179
2180         Reviewed by Kent Tamura.
2181
2182         Disable kashida justification if using Skia to draw.
2183
2184         Test: fast/text/international/arabic-justify.html
2185
2186         * platform/graphics/chromium/UniscribeHelper.cpp:
2187         (WebCore::UniscribeHelper::justify):
2188
2189 2012-04-16  Jia Pu  <jpu@apple.com>
2190
2191         Build fix.
2192
2193         Change set 114220 broke OS X internal build. Change set 114231 attempted to fix it, but isn't entirely
2194         correct. This patch amends change set 114231.
2195
2196         * WebCore.exp.in:
2197         * editing/DictationAlternative.cpp:
2198         (WebCore::DictationAlternative::DictationAlternative):
2199         * editing/DictationAlternative.h:
2200         (DictationAlternative):
2201
2202 2012-04-16  Antti Koivisto  <antti@apple.com>
2203
2204         REGRESSION (r104445): Style is not recomputed on serenaandlily.com
2205         https://bugs.webkit.org/show_bug.cgi?id=83663
2206
2207         Reviewed by Andreas Kling.
2208         
2209         CSS class and id selectors are case insensitive in non-strict modes. The code
2210         that invalidated the scope elements used getElementByID() which is case
2211         sensitive in all modes. As a result we would fail to invalidate elements
2212         that would match a style rule but used different case in id.
2213         
2214         The new code invalidates by crawling the DOM tree. This often (when there are classes) 
2215         actually faster than the existing code as we can now handle everything in a single pass.
2216         Each class scope required a crawl with the old code.
2217         
2218         The code uses the same functions as the selector matching code to get the same behavior.
2219         
2220         The maximum class limit is lifted as number of classes does not affect complexity anymore.
2221
2222         Test: fast/css/id-or-class-before-stylesheet-strict.html
2223
2224         * css/SelectorChecker.h:
2225         (WebCore::SelectorChecker::elementMatchesSelectorScopes):
2226         (WebCore):
2227         * dom/Document.cpp:
2228         (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
2229         (WebCore):
2230
2231 2012-04-16  Uday Kiran  <udaykiran@motorola.com>
2232
2233         CSS3 Selectors failures on css3test.com
2234         https://bugs.webkit.org/show_bug.cgi?id=83885
2235
2236         Reviewed by Zoltan Herczeg.
2237
2238         Parsing fix for CSS3 selectors :nth-child(), :nth-last-child() :nth-of-type() :nth-last-of-type()
2239         with values -n-b and n-b as they are of valid form an+b where a and b are integers.
2240         http://www.w3.org/TR/selectors/#structural-pseudos
2241
2242         Descriptors of form n-b or -n-b, where b is number, are valid CSS identifiers.
2243         However, in NthChildMode we need to check whether this identifier is a valid nth child descriptor.
2244         The original code only checked this if the string was n- or -n- but this is not enough.
2245         We need to check everything which starts with an n- or -n- prefix.
2246
2247         Test: css3/parsing-css3-nthchild.html
2248
2249         * css/CSSParser.cpp:
2250         (WebCore::CSSParser::lex):
2251
2252 2012-04-16  Eric Carlson  <eric.carlson@apple.com>
2253
2254         ASSERT in notifyChildInserted when HTMLMediaElement is removed from tree
2255         https://bugs.webkit.org/show_bug.cgi?id=83949
2256
2257         Reviewed by Antti Koivisto.
2258
2259         No new tests. I was not able to create a reproducible test case, but I have been unable
2260         to reproduce the ASSERT that occassionally fired in existing tests since I have been
2261         living on these changes.
2262
2263         * html/HTMLMediaElement.cpp:
2264         (WebCore::HTMLMediaElement::insertedIntoDocument): Call configureMediaControls.
2265         (WebCore::HTMLMediaElement::removedFromDocument): Ditto.
2266         (WebCore::HTMLMediaElement::configureMediaControls): Don't show controls when the
2267             media element is not in a Document.
2268
2269 2012-04-16  Eric Carlson  <eric.carlson@apple.com>
2270
2271         Layout Test media/track/track-delete-during-setup.html is hitting an ASSERT_NOT_REACHED
2272         https://bugs.webkit.org/show_bug.cgi?id=82269
2273
2274         Reviewed by Antti Koivisto.
2275
2276         No new tests, already tested by media/track/track-delete-during-setup.html.
2277
2278         * html/HTMLTrackElement.cpp:
2279         (WebCore::HTMLTrackElement::insertedIntoDocument): Don't notify the media element until/unless
2280         the track element is inserted into the document.
2281         * html/HTMLTrackElement.h:
2282
2283 2012-04-16  Yael Aharon  <yael.aharon@nokia.com>
2284
2285         [Qt][WK2] Fixed elements position is wrong after zooming.
2286         https://bugs.webkit.org/show_bug.cgi?id=83981
2287
2288         Reviewed by Kenneth Rohde Christiansen.
2289
2290         When setFixedVisibleContentRect is called we mark all fixed elements in the frame for layout.
2291         In order to find these elements, RenderView maintains a list of fixed elements.
2292         They are added and removed at the same time that they are added and removed from their parent RenderBlock.
2293         The idea is taken from the iOS5.1 branch, at opensource.apple.com.
2294         Added a manual test that allows removing and adding fixed elements at will.
2295
2296         * page/FrameView.cpp:
2297         (WebCore::FrameView::setFixedVisibleContentRect):
2298         * rendering/RenderBlock.cpp:
2299         (WebCore::RenderBlock::insertPositionedObject):
2300         (WebCore::RenderBlock::removePositionedObject):
2301         * rendering/RenderView.cpp:
2302         (WebCore::RenderView::setFixedPositionedObjectsNeedLayout):
2303         (WebCore):
2304         (WebCore::RenderView::insertFixedPositionedObject):
2305         (WebCore::RenderView::removeFixedPositionedObject):
2306         * rendering/RenderView.h:
2307         (RenderView):
2308
2309 2012-04-13  Pavel Feldman  <pfeldman@chromium.org>
2310
2311         Web Inspector: extract ContentProvider into its own file, make NetworkRequest, Resoruce and others implement it.
2312         https://bugs.webkit.org/show_bug.cgi?id=83922
2313
2314         Reviewed by Yury Semikhatsky.
2315
2316         We have two different types of requestContent methods: one on the source mapping level and one on the resource level.
2317         There are also adapters between the two. I'm aligning it all to a single requestContent method declared in ContentProvider.
2318
2319         * WebCore.gypi:
2320         * WebCore.vcproj/WebCore.vcproj:
2321         * inspector/compile-front-end.py:
2322         * inspector/front-end/BreakpointsSidebarPane.js:
2323         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent):
2324         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
2325         * inspector/front-end/ContentProvider.js: Added.
2326         (WebInspector.ContentProvider):
2327         (WebInspector.ContentProvider.prototype.contentURL):
2328         (WebInspector.ContentProvider.prototype.requestContent):
2329         (WebInspector.ContentProvider.prototype.searchInContent):
2330         (WebInspector.ContentProvider.SearchMatch):
2331         * inspector/front-end/ContentProviders.js:
2332         (WebInspector.ScriptContentProvider.prototype.contentURL):
2333         (WebInspector.ScriptContentProvider.prototype.requestContent):
2334         (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentURL):
2335         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
2336         (WebInspector.CompilerSourceMappingContentProvider.prototype.contentURL):
2337         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
2338         (WebInspector.StaticContentProvider.prototype.contentURL):
2339         (WebInspector.StaticContentProvider.prototype.requestContent):
2340         * inspector/front-end/DebuggerPresentationModel.js:
2341         * inspector/front-end/ExtensionServer.js:
2342         (WebInspector.ExtensionServer.prototype._getResourceContent):
2343         * inspector/front-end/JavaScriptSourceFrame.js:
2344         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
2345         * inspector/front-end/NetworkItemView.js:
2346         (WebInspector.RequestContentView.prototype._ensureInnerViewShown.callback):
2347         (WebInspector.RequestContentView.prototype._ensureInnerViewShown):
2348         * inspector/front-end/NetworkRequest.js:
2349         (WebInspector.NetworkRequest.prototype.contentURL):
2350         (WebInspector.NetworkRequest.prototype.requestContent):
2351         (WebInspector.NetworkRequest.prototype.searchInContent):
2352         (WebInspector.NetworkRequest.prototype.populateImageSource):
2353         (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent):
2354         (WebInspector.NetworkRequest.prototype._innerRequestContent):
2355         * inspector/front-end/RawSourceCode.js:
2356         (WebInspector.RawSourceCode.prototype._createContentProvider):
2357         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
2358         (WebInspector.RawSourceCode.prototype._createSourceMapping):
2359         * inspector/front-end/Resource.js:
2360         (WebInspector.Resource.prototype.contentURL):
2361         (WebInspector.Resource.prototype.requestContent):
2362         (WebInspector.Resource.prototype._innerRequestContent.callback):
2363         (WebInspector.Resource.prototype._innerRequestContent):
2364         (WebInspector.ResourceRevision.prototype.contentURL):
2365         (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper):
2366         (WebInspector.ResourceRevision.prototype.requestContent):
2367         (WebInspector.ResourceRevision.prototype.searchInContent):
2368         * inspector/front-end/ResourceView.js:
2369         (WebInspector.ResourceSourceFrame.prototype.requestContent):
2370         (WebInspector.ResourceSourceFrame.prototype._contentChanged):
2371         (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
2372         * inspector/front-end/ScriptFormatter.js:
2373         * inspector/front-end/ScriptsPanel.js:
2374         (WebInspector.ScriptsPanel.prototype.requestVisibleScriptOutline):
2375         * inspector/front-end/SourceFrame.js:
2376         (WebInspector.SourceFrame.prototype.setContent):
2377         * inspector/front-end/UISourceCode.js:
2378         (WebInspector.UISourceCode):
2379         (WebInspector.UISourceCode.prototype.requestContent):
2380         (WebInspector.UISourceCode.prototype._didRequestContent):
2381         * inspector/front-end/WebKit.qrc:
2382         * inspector/front-end/inspector.html:
2383
2384 2012-04-16  Jason Liu  <jason.liu@torchmobile.com.cn>
2385
2386         [BlackBerry] Missing readyState 2 when a XMLHttpRequest calls xmlhttp.open("HEAD","notExist.html",true).
2387         https://bugs.webkit.org/show_bug.cgi?id=83866
2388
2389         Reviewed by George Staikos.
2390         
2391         We receive 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true).
2392         There are no data received because its method is HEAD.
2393         This case shouldn't be treated as a failure.
2394
2395         Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
2396
2397         * platform/network/blackberry/NetworkJob.cpp:
2398         (WebCore::NetworkJob::handleNotifyClose):
2399
2400 2012-04-16  Jon Lee  <jonlee@apple.com>
2401
2402         Build fix.
2403
2404         * WebCore.exp.in:
2405         * editing/DictationAlternative.cpp:
2406         (WebCore::DictationAlternative::DictationAlternative):
2407         * editing/DictationAlternative.h:
2408         (DictationAlternative):
2409
2410 2012-04-16  George Staikos  <staikos@webkit.org>
2411
2412         Fix signed/unsigned mismatch warning for BlackBerry debug builds.
2413         https://bugs.webkit.org/show_bug.cgi?id=80790
2414
2415         Reviewed by Rob Buis.
2416
2417         * platform/blackberry/CookieMap.cpp:
2418         (WebCore::CookieMap::removeCookieAtIndex):
2419
2420 2012-04-15  Kent Tamura  <tkent@chromium.org>
2421
2422         WebCore::weekDayShortLabels() for ICU always returns the fallback labels
2423         https://bugs.webkit.org/show_bug.cgi?id=83991
2424
2425         Reviewed by Hajime Morita.
2426
2427         We need to specfiy 1-based index to udat_getSymbols() with
2428         UDAT_SHORT_WEEKDAYS. Also, udat_countSymbols() with UDAT_SHORT_WEEKDAYS
2429         returns 8.
2430
2431         No new tests because this behavior depends on locale setting.
2432
2433         * platform/text/LocalizedCalendarICU.cpp:
2434         (WebCore::createLabelVector): Add startIndex argument.
2435         (WebCore::createMonthLabels):
2436         Pass UDAT_JANUARRY(0) as startIndex to createLabelVector().
2437         (WebCore::createWeekDayShortLabels):
2438         Pass UDAT_SUNDAY(1) as startIndex to createLabelVector().
2439
2440 2012-04-15  MORITA Hajime  <morrita@google.com>
2441
2442         Unreviewed attempt to chromium-win build fix.
2443
2444         * editing/DictationAlternative.h:
2445
2446 2012-04-15  Noel Gordon  <noel.gordon@gmail.com>
2447
2448         Align JSC/V8 bindings canvas.toDataURL() code flows
2449         https://bugs.webkit.org/show_bug.cgi?id=84003
2450
2451         Reviewed by Eric Seidel.
2452
2453         Align JSC/V8 bindings canvas.toDataURL() code flow so that the binding
2454         code implementations read alike.
2455
2456         No new tests. Covered by existing cnavas toDataURL tests.
2457
2458         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2459         (WebCore::JSHTMLCanvasElement::toDataURL):
2460
2461 2012-04-15  Jia Pu  <jpu@apple.com>
2462
2463         Introducing DictationCommand.
2464         https://bugs.webkit.org/show_bug.cgi?id=83549
2465
2466         Reviewed by Hajime Morita.
2467
2468         No new tests. This patch doesn't introduce any change of new functionality. It prepares for
2469         additional changes which will inlude tests.
2470
2471         On OS X, alternative dictation results need to be stored as document markers. This patch introduces
2472         following changes to achieve this:
2473         1. Added DictationMarkDetails to store non-string type maker detail.
2474         2. Introduce DictationCommand, which is similor to TypingCommand, but allows inserting text with
2475           attached markers.
2476         3. Added Editor::insertDictatedText as interaface to WebKit and WebKit2.
2477         4. Added struct DictationAlternative to pass dictation related info from WebKit to WebCore.
2478
2479         Several fragments of code in TypingCommand can be also used by DictationCommand. So this patch
2480         introduced a new class, TextInsertionBaseCommand. It's a subclass of CompositeEditCommmand, and
2481         base class of both TypingCommand and DictationCommand.
2482
2483         This patch also extends InsertTextCommand class. Its constructor will take an TextInsertionMarkerSupplier
2484         object. After text is inserted to a node, InsertTextCommand would give marker supplier a chance to
2485         add document markers to the inserted text.
2486
2487         * CMakeLists.txt:
2488         * GNUmakefile.list.am:
2489         * Target.pri:
2490         * WebCore.exp.in:
2491         * WebCore.gypi:
2492         * WebCore.vcproj/WebCore.vcproj:
2493         * WebCore.xcodeproj/project.pbxproj:
2494         * dom/Document.cpp:
2495         (WebCore::eventTargetNodeForDocument): Moved this function from EventHandler so that it can be used
2496           by AlternativeTextController.
2497         (WebCore):
2498         * dom/Document.h:
2499         (WebCore):
2500         * dom/DocumentMarker.cpp:
2501         (WebCore::DocumentMarker::DocumentMarker): New constructor that takes a pointer to DocumentMarkerDetails object.
2502         (WebCore):
2503         * dom/DocumentMarker.h:
2504         (WebCore::DocumentMarker::AllMarkers::AllMarkers):
2505         (DocumentMarker):
2506         * dom/DocumentMarkerController.cpp:
2507         (WebCore::DocumentMarkerController::addMarker):
2508         (WebCore):
2509         * dom/DocumentMarkerController.h:
2510         (DocumentMarkerController):
2511         * dom/TextEvent.cpp:
2512         (WebCore::TextEvent::createForDictation):
2513         (WebCore):
2514         (WebCore::TextEvent::TextEvent):
2515         * dom/TextEvent.h: Added member variable for dictation alternatives.
2516         (TextEvent):
2517         (WebCore::TextEvent::isDictation):
2518         (WebCore::TextEvent::dictationAlternatives):
2519         * dom/TextEventInputType.h:
2520         * editing/AlternativeTextController.cpp:
2521         (WebCore::AlternativeTextController::AlternativeTextController):
2522         (WebCore::AlternativeTextController::insertDictatedText): Used by Editor::insertDictatedText().
2523         (WebCore):
2524         * editing/AlternativeTextController.h:
2525         (WebCore):
2526         (DictationMarkerDetails):
2527         (WebCore::DictationMarkerDetails::create):
2528         (WebCore::DictationMarkerDetails::originalText):
2529         (WebCore::DictationMarkerDetails::dictationContext):
2530         (WebCore::DictationMarkerDetails::DictationMarkerDetails):
2531         (AlternativeTextController):
2532         * editing/CompositeEditCommand.h:
2533         (WebCore::CompositeEditCommand::isDictationCommand):
2534         * editing/DictationAlternative.cpp: Added.
2535         (WebCore):
2536         (WebCore::DictationAlternative::DictationAlternative):
2537         * editing/DictationAlternative.h: Added. Data structure for passing dictation related data from WebKit to WebCore.
2538         (DictationAlternative):
2539         (WebCore):
2540         * editing/DictationCommand.cpp: Added.
2541         (WebCore):
2542         (DictationCommandLineOperation):
2543         (WebCore::DictationCommandLineOperation::DictationCommandLineOperation):
2544         (WebCore::DictationCommandLineOperation::operator()):
2545         (DictationMarkerSupplier):
2546         (WebCore::DictationMarkerSupplier::create):
2547         (WebCore::DictationMarkerSupplier::addMarkersToTextNode):
2548         (WebCore::DictationMarkerSupplier::DictationMarkerSupplier):
2549         (WebCore::DictationCommand::DictationCommand):
2550         (WebCore::DictationCommand::insertText):
2551         (WebCore::DictationCommand::doApply):
2552         (WebCore::DictationCommand::insertTextRunWithoutNewlines):
2553         (WebCore::DictationCommand::insertParagraphSeparator):
2554         (WebCore::DictationCommand::collectDictationAlternativesInRange):
2555         * editing/DictationCommand.h: Added.
2556         (WebCore):
2557         (DictationCommand):
2558         (WebCore::DictationCommand::isDictationCommand):
2559         (WebCore::DictationCommand::create):
2560         * editing/EditingAllInOne.cpp:
2561         * editing/Editor.cpp:
2562         (WebCore::Editor::insertDictatedText): Main interface that allows WebKit passes in text with attached dictation information.
2563         (WebCore):
2564         (WebCore::Editor::insertTextWithoutSendingTextEvent):
2565         (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
2566         * editing/Editor.h:
2567         (Editor):
2568         * editing/InsertTextCommand.cpp:
2569         (WebCore::InsertTextCommand::InsertTextCommand):
2570         (WebCore):
2571         (WebCore::InsertTextCommand::doApply):
2572         * editing/InsertTextCommand.h:
2573         (WebCore):
2574         (TextInsertionMarkerSupplier): Interface to allow caller of InsertTextCommand to add document markers to inserted text.
2575         (WebCore::TextInsertionMarkerSupplier::~TextInsertionMarkerSupplier):
2576         (WebCore::TextInsertionMarkerSupplier::TextInsertionMarkerSupplier):
2577         (WebCore::InsertTextCommand::createWithMarkerSupplier):
2578         (InsertTextCommand):
2579         * editing/TextInsertionBaseCommand.cpp: Added. This class contains functions shared by TypingCommand and DictationCommand.
2580         (WebCore):
2581         (WebCore::TextInsertionBaseCommand::TextInsertionBaseCommand):
2582         (WebCore::TextInsertionBaseCommand::applyTextInsertionCommand):
2583         (WebCore::dispatchBeforeTextInsertedEvent):
2584         (WebCore::canAppendNewLineFeedToSelection):
2585         * editing/TextInsertionBaseCommand.h: Added.
2586         (WebCore):
2587         (TextInsertionBaseCommand):
2588         (WebCore::TextInsertionBaseCommand::~TextInsertionBaseCommand):
2589         (WebCore::forEachLineInString):
2590         * editing/TypingCommand.cpp:
2591         (TypingCommandLineOperation):
2592         (WebCore::TypingCommandLineOperation::TypingCommandLineOperation):
2593         (WebCore::TypingCommandLineOperation::operator()):
2594         (WebCore::TypingCommand::TypingCommand):
2595         (WebCore::TypingCommand::insertText):
2596         (WebCore::TypingCommand::insertLineBreak):
2597         (WebCore::TypingCommand::insertParagraphSeparator):
2598         * editing/TypingCommand.h:
2599         * page/EventHandler.cpp:
2600         * rendering/InlineTextBox.cpp:
2601         (WebCore::lineStyleForMarkerType):
2602         (WebCore::InlineTextBox::paintDocumentMarker): Renamed existing function to reflect new funcationality.
2603         (WebCore::InlineTextBox::paintDocumentMarkers):
2604         * rendering/InlineTextBox.h:
2605         (InlineTextBox):
2606         * testing/Internals.cpp:
2607         (WebCore::markerTypesFrom):
2608
2609 2012-04-15  James Robinson  <jamesr@chromium.org>
2610
2611         [chromium] LayerRendererChromium shouldn't know anything about CCLayerImpl
2612         https://bugs.webkit.org/show_bug.cgi?id=83415
2613
2614         Reviewed by Adrienne Walker.
2615
2616         This removes all knowledge of CCLayerImpl from LayerRendererChromium. The most significant move code-wise is
2617         moving the HUD up to live on CCLayerTreeHostImpl, since it's aware of the layer tree. This involves two changes.
2618         First, CCHeadsUpDisplay is in charge of populating a ManagedTexture but the actual drawing code now lives in
2619         LayerRendererChromium. Second, since we don't recreate CCLayerTreeHostImpl on a lost context, the font atlas
2620         ownership is much simpler. Now a CCFontAtlas is created on the main thread if needed and passed asynchronously
2621         to the CCHeadsUpDisplay which takes ownership of the atlas.
2622
2623         * platform/graphics/chromium/LayerRendererChromium.cpp:
2624         (WebCore::LayerRendererChromium::create):
2625         (WebCore::LayerRendererChromium::initialize):
2626         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2627         (WebCore::LayerRendererChromium::beginDrawingFrame):
2628         (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
2629         (WebCore):
2630         (WebCore::LayerRendererChromium::finishDrawingFrame):
2631         (WebCore::LayerRendererChromium::swapBuffers):
2632         * platform/graphics/chromium/LayerRendererChromium.h:
2633         (LayerRendererChromiumClient):
2634         (LayerRendererChromium):
2635         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2636         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
2637         (WebCore::CCHeadsUpDisplay::setFontAtlas):
2638         (WebCore):
2639         (WebCore::CCHeadsUpDisplay::enabled):
2640         (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
2641         (WebCore::CCHeadsUpDisplay::draw):
2642         (WebCore::CCHeadsUpDisplay::drawHudContents):
2643         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
2644         (WebCore):
2645         (WebCore::CCHeadsUpDisplay::create):
2646         (CCHeadsUpDisplay):
2647         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2648         (WebCore::CCLayerTreeHost::initialize):
2649         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2650         (CCLayerTreeHost):
2651         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2652         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2653         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2654         (WebCore::CCLayerTreeHostImpl::canDraw):
2655         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2656         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2657         (WebCore::CCLayerTreeHostImpl::drawLayers):
2658         (WebCore::CCLayerTreeHostImpl::swapBuffers):
2659         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2660         (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage):
2661         (WebCore::CCLayerTreeHostImpl::layerTreeAsText):
2662         (WebCore):
2663         (WebCore::CCLayerTreeHostImpl::setFontAtlas):
2664         (WebCore::CCLayerTreeHostImpl::dumpRenderSurfaces):
2665         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2666         (CCLayerTreeHostImpl):
2667         (WebCore::CCLayerTreeHostImpl::rootLayer):
2668         * platform/graphics/chromium/cc/CCProxy.h:
2669         (WebCore):
2670         (CCProxy):
2671         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2672         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
2673         (WebCore::CCSingleThreadProxy::recreateContext):
2674         (WebCore::CCSingleThreadProxy::setFontAtlas):
2675         (WebCore):
2676         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2677         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2678         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
2679         (WebCore::CCThreadProxy::setFontAtlas):
2680         (WebCore):
2681         (WebCore::CCThreadProxy::setFontAtlasOnImplThread):
2682         (WebCore::CCThreadProxy::recreateContextOnImplThread):
2683         * platform/graphics/chromium/cc/CCThreadProxy.h:
2684         (CCThreadProxy):
2685
2686 2012-04-15  Antti Koivisto  <antti@apple.com>
2687
2688         Capture CSS parser context
2689         https://bugs.webkit.org/show_bug.cgi?id=83998
2690
2691         Reviewed by Andreas Kling.
2692
2693         Currently the CSS parser calls to the Document and StyleSheetInternal objects to get settings, base URL etc.
2694         The required information should be passed in on parser construction instead. The parser should not need to
2695         know about the document at all.
2696         
2697         The patch adds CSSParserContext struct that captures the parsing context. StyleSheetInternal saves the
2698         parsing context and reuses it for any further parsing.
2699         
2700         If the same stylesheet source is parsed with an identical context then the resulting stylesheet structure will
2701         be identical. This will allow sharing parsed stylesheets in the future.
2702
2703         * css/CSSGrammar.y:
2704         * css/CSSImportRule.cpp:
2705         (WebCore::StyleRuleImport::setCSSStyleSheet):
2706         * css/CSSMediaRule.cpp:
2707         (WebCore::CSSMediaRule::insertRule):
2708         * css/CSSPageRule.cpp:
2709         (WebCore::CSSPageRule::setSelectorText):
2710         * css/CSSParser.cpp:
2711         (WebCore):
2712         (WebCore::strictCSSParserContext):
2713         (WebCore::CSSParserContext::CSSParserContext):
2714         (WebCore::CSSParser::CSSParser):
2715         (WebCore::CSSParser::parseKeyframeRule):
2716         (WebCore::CSSParser::parseValue):
2717         (WebCore::CSSParser::parseSelector):
2718         (WebCore::CSSParser::completeURL):
2719         (WebCore::CSSParser::parseContent):
2720         (WebCore::CSSParser::parseAttr):
2721         (WebCore::CSSParser::parseFillImage):
2722         (WebCore::CSSParser::parseFontFaceSrcURI):
2723         (WebCore::CSSParser::parseFontFaceSrc):
2724         (WebCore::CSSParser::parseBorderImage):
2725         (WebCore::CSSParser::parseImageSet):
2726         (WebCore::CSSParser::parseCustomFilter):
2727         (WebCore::CSSParser::parseFilter):
2728         (WebCore::CSSParser::cssRegionsEnabled):
2729         (WebCore::CSSParser::parseFlowThread):
2730         (WebCore::CSSParser::createMediaRule):
2731         (WebCore::CSSParser::createStyleRule):
2732         (WebCore::CSSParser::createFontFaceRule):
2733         (WebCore::CSSParser::createPageRule):
2734         (WebCore::CSSParser::createKeyframe):
2735         * css/CSSParser.h:
2736         (CSSParser):
2737         (WebCore::CSSParser::inStrictMode):
2738         (WebCore::CSSParser::inQuirksMode):
2739         (WebCore::CSSParser::validUnit):
2740         * css/CSSParserMode.h:
2741         (WebCore):
2742         (CSSParserContext):
2743         * css/CSSRule.h:
2744         (WebCore::CSSRule::parserContext):
2745         (CSSRule):
2746         * css/CSSStyleRule.cpp:
2747         (WebCore::CSSStyleRule::setSelectorText):
2748         * css/CSSStyleSheet.cpp:
2749         (WebCore::StyleSheetInternal::StyleSheetInternal):
2750         (WebCore::StyleSheetInternal::parseString):
2751         (WebCore::StyleSheetInternal::parseStringAtLine):
2752         (WebCore):
2753         (WebCore::StyleSheetInternal::updateBaseURL):
2754         (WebCore::StyleSheetInternal::completeURL):
2755         (WebCore::CSSStyleSheet::insertRule):
2756         * css/CSSStyleSheet.h:
2757         (StyleSheetInternal):
2758         (WebCore::StyleSheetInternal::parserContext):
2759         (WebCore::StyleSheetInternal::charset):
2760         (WebCore::StyleSheetInternal::setFinalURL):
2761         (WebCore::StyleSheetInternal::baseURL):
2762         * css/CSSValuePool.cpp:
2763         * css/StylePropertySet.cpp:
2764         (WebCore::StylePropertySet::parseDeclaration):
2765         * css/WebKitCSSKeyframesRule.cpp:
2766         (WebCore::WebKitCSSKeyframesRule::insertRule):
2767         * dom/Document.cpp:
2768         (WebCore::Document::webkitGetFlowByName):
2769         (WebCore::Document::pageUserSheet):
2770         (WebCore::Document::pageGroupUserSheets):
2771         * dom/Element.cpp:
2772         (WebCore::Element::webkitMatchesSelector):
2773         * dom/Node.cpp:
2774         (WebCore::Node::querySelector):
2775         (WebCore::Node::querySelectorAll):
2776         * dom/ProcessingInstruction.cpp:
2777         (WebCore::ProcessingInstruction::parseStyleSheet):
2778         * dom/StyleElement.cpp:
2779         (WebCore::StyleElement::createSheet):
2780         * html/HTMLLinkElement.cpp:
2781         (WebCore::HTMLLinkElement::setCSSStyleSheet):
2782         * html/shadow/ContentSelectorQuery.cpp:
2783         (WebCore::ContentSelectorQuery::ContentSelectorQuery):
2784         * inspector/InspectorStyleSheet.cpp:
2785         (WebCore::InspectorStyle::setPropertyText):
2786         (WebCore::InspectorStyleSheet::reparseStyleSheet):
2787         (WebCore::InspectorStyleSheet::ensureSourceData):
2788         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2789
2790 2012-04-15  Noel Gordon  <noel.gordon@gmail.com>
2791
2792         [Cairo] Separate image encoding from dataURL construction
2793         https://bugs.webkit.org/show_bug.cgi?id=83975
2794
2795         Reviewed by Martin Robinson.
2796
2797         Remove the implicit assumption that a dataURL is the only desired output format
2798         of the image encoding phase.
2799
2800         No new tests. Covered by existing canvas toDataURL tests.
2801
2802         * platform/graphics/cairo/ImageBufferCairo.cpp:
2803         (WebCore::writeFunction): Rename closure to output.
2804         (WebCore::encodeImage): Output the encoded image to the provided Vector<char>.
2805         PNG format is only supported per the Cairo encoding MIMETypeRegistry.
2806         (WebCore):
2807         (WebCore::ImageBuffer::toDataURL): Refactor to use encodeImage().
2808
2809 2012-04-15  Yuta Kitamura  <yutak@chromium.org>
2810
2811         Leak in WebSocketChannel with workers/worker-reload.html (part 2)
2812         https://bugs.webkit.org/show_bug.cgi?id=83749
2813
2814         Reviewed by David Levin.
2815
2816         Second attempt to remove leaks around WorkerThreadableWebSocketChannel.
2817
2818         No new tests, as this patch does not impose any functional change.
2819
2820         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2821         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
2822         (WebCore::ThreadableWebSocketChannelClientWrapper::failedWebSocketChannelCreation):
2823         (WebCore::ThreadableWebSocketChannelClientWrapper::setFailedWebSocketChannelCreation):
2824         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2825         Add a boolean flag indicating whether Bridge::initialize() has exited without receiving
2826         a pointer to the peer object.
2827         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2828         (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::create):
2829         (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask):
2830         (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::performTask):
2831         Kick mainThreadDestroy() to delete the peer if the bridge has failed to receive
2832         a pointer to the peer (waitForMethodCompletion() exited due to message queue's
2833         termination).
2834         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
2835         (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
2836         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2837         (WorkerThreadableWebSocketChannel):
2838         Make WorkerContextDidInitializeTask an inner class of WorkerThreadableWebSocketChannel
2839         so it can refer WorkerThreadableWebSocketChannel's static member function (mainThreadDestroy()).
2840
2841 2012-04-14  Emil A Eklund  <eae@chromium.org>
2842
2843         Fix pixelSnapping for CalendarPicker, MediaControl and ScrollbarPart
2844         https://bugs.webkit.org/show_bug.cgi?id=83929
2845
2846         Reviewed by Eric Seidel.
2847
2848         Update CalendarPickerElement and MediaControlElements to use
2849         pixelSnappedSize in preparation for turning on subpixel support.
2850         Update RenderScrollbarPart to pixel snap rect before painting to ensure
2851         that it is painted on device pixel boundaries.
2852
2853         No new tests, no change in functionality.
2854
2855         * html/shadow/CalendarPickerElement.cpp:
2856         (WebCore::CalendarPickerElement::openPopup):
2857         * html/shadow/MediaControlElements.cpp:
2858         (WebCore::RenderMediaVolumeSliderContainer::layout):
2859         * rendering/RenderScrollbarPart.cpp:
2860         (WebCore::RenderScrollbarPart::paintIntoRect):
2861
2862 2012-04-14  Kent Tamura  <tkent@chromium.org>
2863
2864         Day of week labels are wrong if WebCore::firstDayOfWeek() is not 0
2865         https://bugs.webkit.org/show_bug.cgi?id=83990
2866
2867         Reviewed by Kentaro Hara.
2868
2869         We passed the "weekStartDay" property value as a
2870         string. CalendarPickerElement::writeDocument() created:
2871             weekStartDay: "1",
2872         and the JavaScript code used it in the following code:
2873             dayLabels[(weekStartDay + i) % 7]
2874         If weekStartDay was "1", the expression (weekStartDay + i)
2875         produced "10", "11", "12", ... We expected "1", "2", "3", ...
2876
2877         We need to pass the "weekStartDay" property as a number.
2878
2879         No new tests because we have no ways to test this for now. We'll
2880         introduce tests for the calendar picker later.
2881
2882         * html/shadow/CalendarPickerElement.cpp:
2883         (WebCore::addProperty): Add addProperty() function for a number.
2884         (WebCore::CalendarPickerElement::writeDocument):
2885         Pass a number, not a serialized number.
2886
2887 2012-04-14  Joe Thomas  <joethomas@motorola.com>
2888
2889         Viewport-percentage Length units does not work for Replaced elements size
2890         https://bugs.webkit.org/show_bug.cgi?id=83425
2891
2892         Reviewed by Antti Koivisto.
2893
2894         Added the support for viewport-percentage length units while calculating the width/height of replaced elements.
2895
2896         Tests: css3/viewport-percentage-lengths/viewport-percentage-image-size.html
2897
2898         * platform/Length.h:
2899         (WebCore::Length::isSpecified):
2900         * rendering/RenderBox.cpp:
2901         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2902
2903 2012-04-14  Joe Thomas  <joethomas@motorola.com>
2904
2905         CSSStyleDeclaration.getPropertyValue() for 'border-radius' returns null when value is set
2906         https://bugs.webkit.org/show_bug.cgi?id=80736
2907
2908         Reviewed by Antti Koivisto.
2909
2910         Added support for fetching the value of 'border-radius' CSS property which was missing.
2911
2912         Test: fast/css/border-radius-property-value.html
2913
2914         * css/StylePropertySet.cpp:
2915         (WebCore::StylePropertySet::getPropertyValue):
2916
2917 2012-04-14  David Hyatt  <hyatt@apple.com>
2918
2919         https://bugs.webkit.org/show_bug.cgi?id=83826
2920         
2921         Wrong Font code path was chosen after r114032. The TextRun constructor has an additional argument that
2922         needs to be included if rounding hacks are mentioned.
2923
2924         Reviewed by Dan Bernstein.
2925
2926         * html/canvas/CanvasRenderingContext2D.cpp:
2927         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2928         * rendering/RenderListBox.cpp:
2929         (WebCore::RenderListBox::paintItemForeground):
2930         * rendering/break_lines.cpp:
2931         (WebCore::nextBreakablePosition):
2932
2933 2012-04-14  Noel Gordon  <noel.gordon@gmail.com>
2934
2935         [Cairo] ImageBuffer::toDataURL(): improve error handling, add mimeType ASSERTs
2936         https://bugs.webkit.org/show_bug.cgi?id=83569
2937
2938         Reviewed by Eric Seidel.
2939
2940         No new tests. Covered by exiting fast/canvas/*toDataURL* tests.
2941
2942         * platform/graphics/cairo/ImageBufferCairo.cpp:
2943         (WebCore::writeFunction): Return write success or failure with the appropriate
2944         cairo status code per http://cairographics.org/manual/cairo-PNG-Support.html
2945         (WebCore::ImageBuffer::toDataURL): Add mimeType ASSERT()s. <canvas> ensures that
2946         a valid mimeType (supported by the port) is sent to toDataURL() calls. Check for
2947         encoding failure and return "data:," if so.
2948
2949 2012-04-13  David Reveman  <reveman@chromium.org>
2950
2951         [Chromium] Avoid unnecessary full tile updates for checkerboard tiles.
2952         https://bugs.webkit.org/show_bug.cgi?id=83804
2953
2954         Reviewed by James Robinson.
2955
2956         Cleanup code that determines if we need to use a buffered update and
2957         avoid buffering of tiles that are not in use by the impl thread.
2958
2959         Tests: CCLayerTreeHostTestAtomicCommitWithPartialUpdate.runMultiThread
2960                TiledLayerChromiumTest.partialUpdates
2961
2962         * platform/graphics/chromium/TiledLayerChromium.cpp:
2963         (UpdatableTile):
2964         (WebCore::UpdatableTile::UpdatableTile):
2965         (WebCore::TiledLayerChromium::pushPropertiesTo):
2966         (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
2967         (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
2968         (WebCore::TiledLayerChromium::updateTiles):
2969         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2970         (WebCore::CCLayerTreeHost::bufferedUpdates):
2971         (WebCore):
2972         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2973         (CCLayerTreeHost):
2974
2975 2012-04-13  Dana Jansens  <danakj@chromium.org>
2976
2977         [chromium] Cleanup texture memory eviction when LayerTreeHost becomes invisible
2978         https://bugs.webkit.org/show_bug.cgi?id=83899
2979
2980         Reviewed by Adrienne Walker.
2981
2982         When a LTH becomes invisible, the texture eviction is spread out across
2983         two different functions and is not entirely clear. We move all the logic
2984         together into a single place in didBecomeInvisibleOnImplThread() and
2985         make the consequences of the current code more clear.
2986
2987         Covered by existing tests.
2988
2989         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2990         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread):
2991         (WebCore::CCLayerTreeHost::setVisible):
2992         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
2993
2994 2012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>
2995
2996         Unreviewed, rolling out r114036.
2997         http://trac.webkit.org/changeset/114036
2998         https://bugs.webkit.org/show_bug.cgi?id=83969
2999
3000         Breaks gmail.com causing it to never finish loading (Requested
3001         by danakj on #webkit).
3002
3003         * bindings/scripts/CodeGeneratorJS.pm:
3004         (GenerateHeader):
3005         (GenerateImplementation):
3006         * bindings/scripts/CodeGeneratorV8.pm:
3007         (GenerateNamedConstructorCallback):
3008         (GenerateImplementation):
3009         * bindings/scripts/IDLAttributes.txt:
3010         * bindings/scripts/test/JS/JSTestObj.cpp:
3011         (WebCore::JSTestObj::createPrototype):
3012         * bindings/scripts/test/JS/JSTestObj.h:
3013         * bindings/scripts/test/TestObj.idl:
3014         * bindings/scripts/test/V8/V8Float64Array.cpp:
3015         (WebCore):
3016         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3017         (WebCore):
3018         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3019         (WebCore):
3020         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3021         (WebCore):
3022         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3023         (WebCore):
3024         * bindings/scripts/test/V8/V8TestInterface.cpp:
3025         (WebCore):
3026         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3027         (WebCore):
3028         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3029         (WebCore):
3030         * bindings/scripts/test/V8/V8TestNode.cpp:
3031         (WebCore):
3032         * bindings/scripts/test/V8/V8TestObj.cpp:
3033         (WebCore):
3034         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3035         (WebCore):
3036         * bindings/v8/NPV8Object.cpp:
3037         (WebCore::npObjectTypeInfo):
3038         * bindings/v8/V8BindingPerContextData.cpp:
3039         (WebCore::V8BindingPerContextData::init):
3040         (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
3041         (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
3042         * bindings/v8/V8BindingPerContextData.h:
3043         (V8BindingPerContextData):
3044         * bindings/v8/V8HiddenPropertyName.h:
3045         (WebCore):
3046         * bindings/v8/WrapperTypeInfo.h:
3047         (WrapperTypeInfo):
3048         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3049         (WebCore):
3050         * dom/NodeList.idl:
3051
3052 2012-04-13  Alexandre Elias  <aelias@google.com>
3053
3054         [chromium] Add null pointer check to animatePageScale
3055         https://bugs.webkit.org/show_bug.cgi?id=83940
3056
3057         Reviewed by James Robinson.
3058
3059         Add null pointer check to startPageScaleAnimation.
3060
3061         If the root scroll layer goes away in the middle of a page scale
3062         animation, there can be a null pointer access here.
3063
3064         No new tests.
3065
3066         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3067         (WebCore::CCLayerTreeHostImpl::animatePageScale):
3068
3069 2012-04-13  Dana Jansens  <danakj@chromium.org>
3070
3071         [chromium] Replicas should be included in the computed occlusion
3072         https://bugs.webkit.org/show_bug.cgi?id=82262
3073
3074         Reviewed by Adrienne Walker.
3075
3076         When merging a surface's occlusion up to its target, make a copy of it
3077         where the replica will be as well, and make sure that occlusion from a
3078         RenderSurface does not leave its clipRect.
3079
3080         Unit test: CCOcclusionTrackerTestReplicaDoesOcclude
3081                    CCOcclusionTrackerTestReplicaWithClipping
3082                    CCOcclusionTrackerTestSurfaceChildOfSurface
3083
3084         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3085         (WebCore::RenderSurfaceChromium::hasReplica):
3086         (WebCore):
3087         * platform/graphics/chromium/RenderSurfaceChromium.h:
3088         (RenderSurfaceChromium):
3089         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3090         (WebCore::transformSurfaceOpaqueRegion):
3091         (WebCore::::leaveToTargetRenderSurface):
3092
3093 2012-04-13  Raymond Liu  <raymond.liu@intel.com>
3094
3095         AudioContext createChannelMerger() method should have optional argument for number of inputs.
3096         https://bugs.webkit.org/show_bug.cgi?id=83759
3097
3098         Reviewed by Chris Rogers.
3099
3100         Check https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html for the optional argument.
3101
3102         Test: webaudio/audiochannelmerger-basic.html
3103
3104         * Modules/webaudio/AudioChannelMerger.cpp:
3105         (WebCore):
3106         (WebCore::AudioChannelMerger::create):
3107         (WebCore::AudioChannelMerger::AudioChannelMerger):
3108         * Modules/webaudio/AudioChannelMerger.h:
3109         (AudioChannelMerger):
3110         * Modules/webaudio/AudioContext.cpp:
3111         (WebCore::AudioContext::createChannelMerger):
3112         (WebCore):
3113         * Modules/webaudio/AudioContext.h:
3114         (AudioContext):
3115         * Modules/webaudio/AudioContext.idl:
3116
3117 2012-04-13  Dana Jansens  <danakj@chromium.org>
3118
3119         [chromium] Remove viewport memory restrictions
3120         https://bugs.webkit.org/show_bug.cgi?id=83316
3121
3122         Reviewed by Adrienne Walker.
3123
3124         We remove the memory restriction on web pages based on viewport size
3125         on desktop. This is causing pages that have complex use of layers to
3126         end up hitting our memory limits, and moreso when the window is small.
3127         Page complexity is not really a function of the viewport size.
3128
3129         We drop the mininum memory limit entirely, and just evict all
3130         unprotected textures instead.
3131
3132         Covered by existing tests.
3133
3134         * platform/graphics/chromium/TextureManager.cpp:
3135         (WebCore::TextureManager::highLimitBytes):
3136         (WebCore::TextureManager::reclaimLimitBytes):
3137         * platform/graphics/chromium/TextureManager.h:
3138         (TextureManager):
3139         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3140         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
3141         (WebCore::CCLayerTreeHost::setVisible):
3142         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
3143         (WebCore::CCLayerTreeHost::updateLayers):
3144
3145 2012-04-13  Ken Buchanan  <kenrb@chromium.org>
3146
3147         Optimize tracking of intruding floats being removed from RenderBlock during layout
3148         https://bugs.webkit.org/show_bug.cgi?id=82928
3149
3150         Reviewed by David Hyatt.
3151
3152         Performance tweaks in RenderBlock layout as a follow up to r112935.
3153
3154         * rendering/RenderBlock.cpp:
3155         (WebCore::RenderBlock::clearFloats):
3156
3157 2012-04-13  Mihnea Ovidenie  <mihnea@adobe.com>
3158
3159         [CSSRegions]Implement NamedFlow::contentNodes attribute
3160         https://bugs.webkit.org/show_bug.cgi?id=80134
3161
3162         Reviewed by David Hyatt.
3163
3164         The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
3165         In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
3166         The list of nodes is returned as a static node list.
3167
3168         The content nodes are stored in RenderNamedFlowThread. The content nodes are added to the list in NodeRenderingContext::moveToFlowThreadIfNeeded
3169         and removed from the list in Element::detach. When an element -webkit-flow-into property is changed, the element is detached and attached.
3170         I have also added a bit in NodeFlags to mark that an element is part of a named flow (and the corresponding inNamedFlow/setInNamedFlow/clearInNamedFlow functions).
3171
3172         Test: fast/regions/webkit-named-flow-content-nodes.html
3173
3174         * dom/Document.cpp:
3175         (WebCore::Document::webkitGetFlowByName):
3176         * dom/Document.h:
3177         * dom/Element.cpp:
3178         (WebCore::Element::detach):
3179         * dom/Node.h:
3180         (WebCore::Node::inNamedFlow):
3181         (WebCore::Node::setInNamedFlow):
3182         (WebCore::Node::clearInNamedFlow):
3183         (Node):
3184         * dom/NodeRenderingContext.cpp:
3185         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
3186         * dom/WebKitNamedFlow.cpp:
3187         (WebCore::WebKitNamedFlow::contentNodes):
3188         (WebCore):
3189         * dom/WebKitNamedFlow.h:
3190         (WebKitNamedFlow):
3191         * dom/WebKitNamedFlow.idl:
3192         * rendering/FlowThreadController.cpp:
3193         (WebCore::FlowThreadController::registerNamedFlowContentNode):
3194         (WebCore):
3195         (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
3196         * rendering/FlowThreadController.h:
3197         (FlowThreadController):
3198         * rendering/RenderNamedFlowThread.cpp:
3199         (WebCore):
3200         (WebCore::RenderNamedFlowThread::registerNamedFlowContentNode):
3201         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentNode):
3202         * rendering/RenderNamedFlowThread.h:
3203         (WebCore):
3204         (RenderNamedFlowThread):
3205         (WebCore::RenderNamedFlowThread::contentNodes):
3206         (WebCore::RenderNamedFlowThread::hasContentNode):
3207
3208 2012-04-13  Jessie Berlin  <jberlin@apple.com>
3209
3210         Remove the calls to CRASH() from ResourceLoader.cpp.
3211         https://bugs.webkit.org/show_bug.cgi?id=83962
3212
3213         Reviewed by Alexey Proskuryakov.
3214
3215         They were added in r91316 to aid debugging for the issue fixed in r105556 and r106130.
3216
3217         * loader/ResourceLoader.cpp:
3218         (WebCore::ResourceLoader::willSendRequest):
3219         (WebCore::ResourceLoader::didSendData):
3220         (WebCore::ResourceLoader::didReceiveResponse):
3221         (WebCore::ResourceLoader::didReceiveData):
3222         (WebCore::ResourceLoader::didFinishLoading):
3223         (WebCore::ResourceLoader::didFail):
3224         (WebCore::ResourceLoader::wasBlocked):
3225         (WebCore::ResourceLoader::cannotShowURL):
3226         (WebCore::ResourceLoader::shouldUseCredentialStorage):
3227         (WebCore::ResourceLoader::willCacheResponse):
3228
3229 2012-04-13  Xiaomei Ji  <xji@chromium.org>
3230
3231         REGRESSION(r102190) [chromium] text rendering (font and font size) in some Arabic/Persian page is wrong
3232         when using certain fonts
3233         https://bugs.webkit.org/show_bug.cgi?id=83523
3234
3235         Reviewed by Kent Tamura.
3236
3237         Revert r102190.
3238         Convert characters being treatAsSpace to white space. 
3239
3240         * platform/graphics/chromium/UniscribeHelper.cpp:
3241         (WebCore::UniscribeHelper::fillRuns):
3242         (WebCore::UniscribeHelper::adjustSpaceAdvances):
3243
3244 2012-04-13  Timothy Hatcher  <timothy@apple.com>
3245
3246         Change how the Web Insector is installed on Mac builds.
3247
3248         <rdar://problem/10857918>
3249
3250         Reviewed by Mark Rowe.
3251
3252         * WebCore.xcodeproj/project.pbxproj: Updated Copy Inspector Resources
3253         and Streamline Inspector Source build phases.
3254
3255 2012-04-13  Jer Noble  <jer.noble@apple.com>
3256
3257         Video at apple.com gets standard controls in addition to custom controls after returning from full screen
3258         https://bugs.webkit.org/show_bug.cgi?id=83939
3259
3260         Reviewed by Eric Carlson.
3261
3262         No new tests; DRT and WKTR don't have the infrastructure to test full-screen animation related bugs.
3263
3264         Instead of asking the media element whether it is in full screen or not, rely on when the media root element
3265         was told that it enteredFullscreen() or exitedFullscreen(), which may occur at a different time than the
3266         media element due to animations.
3267
3268         * html/shadow/MediaControlRootElement.cpp:
3269         (WebCore::MediaControlRootElement::reset):
3270         (WebCore::MediaControlRootElement::playbackStarted):
3271         (WebCore::MediaControlRootElement::enteredFullscreen):
3272         (WebCore::MediaControlRootElement::exitedFullscreen):
3273         (WebCore::MediaControlRootElement::defaultEventHandler):
3274         (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer):
3275         (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired):
3276         * html/shadow/MediaControlRootElement.h:
3277         (MediaControlRootElement): Added m_isFullscreen;
3278
3279 2012-04-13  Jer Noble  <jer.noble@apple.com>
3280
3281         fullscreen/video-controls-drag.html failing on Mac
3282         https://bugs.webkit.org/show_bug.cgi?id=81176
3283
3284         Reviewed by Eric Carlson.
3285
3286         No new tests.  Fixes fullscreen/video-controls-drag.html.
3287
3288         Regressed in r110409.  When the -webkit-media-controls-panel were changed
3289         from position:absolute to position:relative, this broke dragging of the 
3290         controls in fullscreen, which relies on the panel being absolutely positioned
3291         to do its drag positioning. Change the way drag positioning is calculated to
3292         accommodate position:relative.
3293
3294         * css/fullscreenQuickTime.css:
3295         (video:-webkit-full-screen::-webkit-media-controls-panel): Instead of bottom:50px,
3296             use margin-bottom:50px to push panel up from the bottom of the screen.
3297         * html/shadow/MediaControlElements.cpp:
3298         (WebCore::MediaControlPanelElement::startDrag): Do not ask for the current renderer location.
3299         (WebCore::MediaControlPanelElement::continueDrag): Use the delta between the event locations
3300             only to calculate the new panel position.
3301         * html/shadow/MediaControlElements.h:
3302
3303 2012-04-13  Simon Fraser  <simon.fraser@apple.com>
3304
3305         Compositing layers not updated after scroll in WebKit1
3306         https://bugs.webkit.org/show_bug.cgi?id=83945
3307
3308         Reviewed by James Robinson.
3309         
3310         Fix the WebKit1 code path to correctly update compositing layers
3311         after a scroll, by calling updateFixedElementsAfterScrolling() from
3312         scrollPositionChangedViaPlatformWidget().
3313
3314         Covered by existing tests.
3315
3316         * page/FrameView.cpp:
3317         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
3318
3319 2012-04-13  Dean Jackson  <dino@apple.com>
3320
3321         Don't process filters if the input region is exceptionally large.
3322         https://bugs.webkit.org/show_bug.cgi?id=83317
3323
3324         Reviewed by Simon Fraser.
3325
3326         An extremely large element causes problems with filters, either by
3327         taking too long to compute the output or using too much memory. The
3328         filter engine already has some constants for maximum expected size.
3329         Make sure the render tree checks them before deciding to apply
3330         effects.
3331
3332         Tests: css3/filters/huge-region-composited.html
3333                css3/filters/huge-region.html
3334
3335         * platform/graphics/filters/FilterEffect.cpp:
3336         (WebCore::FilterEffect::apply):
3337         * rendering/FilterEffectRenderer.cpp:
3338         (WebCore):
3339         (WebCore::isFilterSizeValid):
3340         (WebCore::FilterEffectRenderer::build):
3341         (WebCore::FilterEffectRenderer::updateBackingStore):
3342         (WebCore::FilterEffectRendererHelper::beginFilterEffect):
3343         * rendering/FilterEffectRenderer.h:
3344         (FilterEffectRenderer):
3345         * rendering/RenderLayer.cpp:
3346         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
3347
3348 2012-04-13  Anna Cavender  <annacc@chromium.org>
3349
3350         Queue the cuechange event on HTMLTrackElement for proper sorting.
3351         https://bugs.webkit.org/show_bug.cgi?id=83858
3352
3353         Reviewed by Eric Carlson.
3354
3355         No new tests. Updates to media/track/track-cues-cuechange.html and
3356         media/track/track-mode.html
3357
3358         * html/HTMLMediaElement.cpp:
3359         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
3360             Add HTMLTrackElement's cuechange event to the event queue rather than 
3361             firing it synchronously.
3362         * html/track/LoadableTextTrack.cpp:
3363             Remove fireCueChangeEvent() as it is no longer used.
3364         * html/track/LoadableTextTrack.h:
3365             Ditto.
3366         * html/track/TextTrack.h:
3367         (TextTrack):
3368             Ditto.
3369
3370 2012-04-11  Antonio Gomes  <agomes@rim.com>
3371
3372         Be more restrictive when adding ScrollableArea's to FrameView's ScrollableArea's map
3373         https://bugs.webkit.org/show_bug.cgi?id=79611
3374
3375         Reviewed by James Robinson.
3376
3377         Source/WebCore:
3378
3379         As of today, any FrameView attached to the Widget-tree or any
3380         RenderLayer whose corresponding RenderBox's style has a 'overflow'
3381         property set to 'auto' is cached in its containing scrollable areas set.
3382         We could be more restrictive about what we in fact want to
3383         cache as scrollable areas, by checking if the element as an overflow
3384         (i.e. more content than its viewport).
3385
3386         * page/FrameView.cpp:
3387         (WebCore::FrameView::setFrameRect):
3388
3389         Whenever the viewport changes, check if we have an scrollable/overflowed
3390         content, and update the cache accordingly.
3391
3392         (WebCore::FrameView::setContentsSize):
3393
3394         Whenever the contents size changes, check if we have a scrollable/overflowed
3395         content, and update the cache accordingly.
3396
3397         (WebCore::FrameView::calculateScrollbarModesForLayout):
3398
3399         Introduces a way to query for the scrollbars by only
3400         taking into account the "rules" set by the web author.
3401         For that, a new enum was added called SrollbarModesCalculationStrategy,
3402         which allows callers to discard for example client-side scrollbar policies
3403         in order to verify if a given frameview is scrollable or not.
3404
3405         (WebCore::FrameView::updateScrollableAreaSet):
3406
3407         Take into account various factors before considering a FrameView as
3408         scrollable. If in the end it is, it gets added to its parent FrameView
3409         scrollable areas map, otherwise removed.
3410
3411         (WebCore):
3412         (WebCore::FrameView::addScrollableArea):
3413
3414         Became unneeded, thus removed.
3415
3416         (WebCore::FrameView::removeScrollableArea):
3417
3418         Whenever a FrameView is removed from the Widget-tree,
3419         remove it from the cache.
3420
3421         * page/FrameView.h:
3422         (FrameView):
3423         * rendering/RenderLayer.cpp:
3424         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
3425
3426         Update scrollable area set after layout.
3427
3428         (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
3429
3430         Update scrollable area set after style changes.
3431
3432         (WebCore::RenderLayer::styleChanged):
3433
3434         Removed the scrollable areas logic detection from it.
3435
3436         (WebCore::RenderLayer::updateScrollableAreaSet):
3437
3438         Updates the containing FrameView scrollable areas cache
3439         only when needed (i.e. an overflow exists).
3440
3441         (WebCore):
3442         * rendering/RenderLayer.h:
3443         (RenderLayer):
3444         * testing/Internals.cpp:
3445         (WebCore::Internals::numberOfScrollableAreas):
3446         (WebCore):
3447         * testing/Internals.h:
3448         (Internals):
3449         * testing/Internals.idl:
3450
3451         Tests: fast/scrolling/scrollable-area-frame-inherited-visibility-hidden.html
3452                fast/scrolling/scrollable-area-frame-overflow-hidden.html
3453                fast/scrolling/scrollable-area-frame-overried-inherited-visibility-hidden.html
3454                fast/scrolling/scrollable-area-frame-scrolling-no-overried-inherited-visibility-hidden.html
3455                fast/scrolling/scrollable-area-frame-scrolling-no-visibility-hidden-child.html
3456                fast/scrolling/scrollable-area-frame-scrolling-no.html
3457                fast/scrolling/scrollable-area-frame-scrolling-yes-display-none.html
3458                fast/scrolling/scrollable-area-frame-scrolling-yes.html
3459                fast/scrolling/scrollable-area-frame-visibility-hidden-child.html
3460                fast/scrolling/scrollable-area-frame-zero-size-and-border.html
3461                fast/scrolling/scrollable-area-frame.html
3462                fast/scrolling/scrollable-area-overflow-auto-display-none-in-parent.html
3463                fast/scrolling/scrollable-area-overflow-auto-display-none.html
3464                fast/scrolling/scrollable-area-overflow-auto-visibility-hidden-in-parent.html
3465                fast/scrolling/scrollable-area-overflow-auto-visibility-hidden.html
3466                fast/scrolling/scrollable-area-overflow-auto-visibility-override.html
3467                fast/scrolling/scrollable-area-overflow-auto-visibility-visible.html
3468                fast/scrolling/scrollable-area-overflow-auto.html
3469                fast/scrolling/scrollable-area-overflow-not-set.html
3470                fast/scrolling/scrollable-area-overflow-visible.html
3471
3472 2012-04-13  Antti Koivisto  <antti@apple.com>
3473
3474         Track rem unit usage in StyleSheetInternal
3475         https://bugs.webkit.org/show_bug.cgi?id=83923
3476
3477         Reviewed by Andreas Kling.
3478
3479         Currently CSSParser sets usesRemUnits flag directly to Document. It should be set to 
3480         the stylesheet instead so parser does not need to know about the document. This also 
3481         avoids setting the flag unnecessarily when the stylesheet is not used.
3482
3483         * css/CSSGrammar.y:
3484         * css/CSSStyleSheet.cpp:
3485         (WebCore::StyleSheetInternal::StyleSheetInternal):
3486         * css/CSSStyleSheet.h:
3487         (WebCore::StyleSheetInternal::parserSetUsesRemUnits):
3488         (WebCore::StyleSheetInternal::usesRemUnits):
3489         (StyleSheetInternal):
3490         * dom/Document.cpp:
3491         (WebCore):
3492         (WebCore::checkUsesRemUnits):
3493         (WebCore::Document::updateActiveStylesheets):
3494         * dom/Document.h:
3495         (WebCore::Document::usesRemUnits):
3496
3497 2012-04-11  James Robinson  <jamesr@chromium.org>
3498
3499         [chromium] Remove unused compositeToTexture / compositeOffscreen setting
3500         https://bugs.webkit.org/show_bug.cgi?id=83733
3501
3502         Reviewed by Adrienne Walker.
3503
3504         Remove compositeOffscreen setting and implementation. This was an experiment that is no longer needed.
3505
3506         * platform/graphics/chromium/LayerRendererChromium.cpp:
3507         (WebCore::LayerRendererChromium::finishDrawingFrame):
3508         (WebCore::LayerRendererChromium::useRenderSurface):
3509         (WebCore::LayerRendererChromium::setScissorToRect):
3510         * platform/graphics/chromium/LayerRendererChromium.h:
3511         (LayerRendererChromium):
3512         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3513         (WebCore::CCSettings::CCSettings):
3514         (CCSettings):
3515
3516 2012-04-13  Alexey Proskuryakov  <ap@apple.com>
3517
3518         REGRESSION (XHR Caching): Uncacheable responses sent by Rails through Apache are cached
3519         https://bugs.webkit.org/show_bug.cgi?id=83925
3520         <rdar://problem/11231790>
3521
3522         Reviewed by Antti Koivisto.
3523
3524         Added subtests to http/tests/cache/subresource-expiration-2.html.
3525
3526         * platform/network/ResourceResponseBase.cpp:
3527         (WebCore::ResourceResponseBase::parseCacheControlDirectives): Honor first max-age
3528         instead of the last. New behavior matches both Firefox and IE.
3529
3530 2012-04-13  James Robinson  <jamesr@chromium.org>
3531
3532         [chromium] Move WebVideoFrame into Platform and remove WebCore::VideoFrameChromium wrapper API
3533         https://bugs.webkit.org/show_bug.cgi?id=83851
3534
3535         Reviewed by Adam Barth.
3536
3537         Remove VideoFrameChromium wrapper and converts WebCore code to using the Platform WebVideoFrame API directly.
3538         Some utility code that previously existed on VideoFrameChromium and only had one caller, such as doing
3539         width/height adjustements for YV12 frames, is moved into the calling code (CCVideoLayerImpl).
3540
3541         Covered by existing media/ and compositing/ layout tests.
3542
3543         * WebCore.gypi:
3544         * platform/graphics/chromium/LayerRendererChromium.cpp:
3545         (WebCore::LayerRendererChromium::drawYUV):
3546         (WebCore::LayerRendererChromium::drawRGBA):
3547         (WebCore::LayerRendererChromium::copyFrameToTextures):
3548         * platform/graphics/chromium/LayerRendererChromium.h:
3549         * platform/graphics/chromium/VideoFrameProvider.h:
3550         (VideoFrameProvider):
3551         * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
3552         (WebCore::CCVideoDrawQuad::create):
3553         (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
3554         * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
3555         (WebKit):
3556         (CCVideoDrawQuad):
3557         (WebCore::CCVideoDrawQuad::frame):
3558         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3559         (WebCore):
3560         (WebCore::convertVFCFormatToGC3DFormat):
3561         (WebCore::CCVideoLayerImpl::willDraw):
3562         (WebCore::videoFrameDimension):
3563         (WebCore::hasPaddingBytes):
3564         (WebCore::CCVideoLayerImpl::computeVisibleSize):
3565         (WebCore::CCVideoLayerImpl::reserveTextures):
3566         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3567         (WebKit):
3568
3569 2012-04-13  Rob Flack  <flackr@chromium.org>
3570
3571         Chromium: Should enable -webkit-image-set
3572         https://bugs.webkit.org/show_bug.cgi?id=81859
3573
3574         Reviewed by Adam Barth.
3575
3576         Test: fast/css/image-set-parsing.html
3577
3578         * WebCore.gypi:
3579
3580 2012-04-12  Michael Nordman  <michaeln@google.com>
3581
3582         [chromium] Now that the chromium port is using a different dom_storage backend
3583         library in its main browser process, there are a handful of files that should no
3584         longer be included in the build, and a few files than should be deleted
3585         outright, and the webkit api should be modified to reflect the new (and smaller)
3586         contract between the embedder and webkit/webcore.
3587         https://bugs.webkit.org/show_bug.cgi?id=83807
3588
3589         Reviewed by Adam Barth.
3590
3591         No new tests, existing tests apply.
3592
3593         * WebCore.gyp/WebCore.gyp: Exclude several files from the WebCore/storage directory.
3594         * storage/StorageEventDispatcher.h: Delete a stale comment.
3595
3596 2012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3597
3598         Unreviewed, rolling out r114140.
3599         http://trac.webkit.org/changeset/114140
3600         https://bugs.webkit.org/show_bug.cgi?id=83921
3601
3602         Fails fast/css/image-set-parsing.html test it attempts to
3603         introduce. (Requested by scheib on #webkit).
3604
3605         * WebCore.gypi:
3606
3607 2012-04-13  Dan Bernstein  <mitz@apple.com>
3608
3609         <rdar://problem/10912680> Pixel access canvas APIs do not operate at backing store resolution
3610         https://bugs.webkit.org/show_bug.cgi?id=83836
3611
3612         Reviewed by Darin Adler.
3613
3614         Test: fast/canvas/2d.imageDataHD.html
3615
3616         Added getImageDataHD and putImageDataHD functions to CanvasRenderingContext2D, as proposed in
3617         <http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035112.html>. The functions
3618         are prefixed with “webkit” for now.
3619
3620         * html/canvas/CanvasRenderingContext2D.cpp:
3621         (WebCore::CanvasRenderingContext2D::getImageData): Added this cover function that calls
3622         through to getImageData with LogicalCoordinateSystem.
3623         (WebCore::CanvasRenderingContext2D::webkitGetImageDataHD): Added. Calls through to
3624         getImageData with BackingStoreCoordinateSystem.
3625         (WebCore::CanvasRenderingContext2D::getImageData): Added a CoordinateSystem parameter to this
3626         now-private function. It is passed through to ImageBuffer::getUnmultipliedImageData().
3627         (WebCore::CanvasRenderingContext2D::putImageData): Added this cover function that calls
3628         through to putImageData with LogicalCoordinateSystem.
3629         (WebCore::CanvasRenderingContext2D::webkitPutImageDataHD): Added. Calls through to
3630         putImageData with BackingStoreCoordinateSystem.
3631         (WebCore::CanvasRenderingContext2D::putImageData): Added a CoordinateSystem parameter to this
3632         function. It is passed through to ImageBuffer::putByteArray, and used to compute the rect to
3633         invalidate after the drawing operation.
3634         * html/canvas/CanvasRenderingContext2D.h:
3635         * html/canvas/CanvasRenderingContext2D.idl: Added webkitPutImageDataHD() and
3636         webkitGetImageDataHD().
3637         * platform/graphics/ImageBuffer.h: Added a CoordinateSystem enum with the values
3638         LogicalCoordinateSystem and BackingStoreCoordinateSystem. Added a CoordinateSystem parameter,
3639         which defaults to LogicalCoordinateSystem, to getUnmultipliedImageData,
3640         getPremultipliedImageData, and putByteArray.
3641         * platform/graphics/cairo/ImageBufferCairo.cpp:
3642         (WebCore::ImageBuffer::getUnmultipliedImageData):
3643         (WebCore::ImageBuffer::getPremultipliedImageData):
3644         (WebCore::ImageBuffer::putByteArray):
3645         (WebCore::ImageBuffer::toDataURL):
3646         * platform/graphics/cg/ImageBufferCG.cpp:
3647         (WebCore::ImageBuffer::getUnmultipliedImageData): Now uses the CoordinateSystem parameter to
3648         decide whether to ask ImageBufferDaya::getData() to apply the resolution scale or not.
3649         (WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
3650         (WebCore::ImageBuffer::putByteArray): Now uses the CoordinateSystem parameter to decide
3651         whether to maintain the resolution scale while drawing or not.
3652         (WebCore::ImageBuffer::toDataURL):
3653         * platform/graphics/gtk/ImageBufferGtk.cpp:
3654         (WebCore::ImageBuffer::toDataURL):
3655         * platform/graphics/qt/ImageBufferQt.cpp:
3656         (WebCore::ImageBuffer::getUnmultipliedImageData):
3657         (WebCore::ImageBuffer::getPremultipliedImageData):
3658         (WebCore::ImageBuffer::putByteArray):
3659         (WebCore::ImageBuffer::toDataURL):
3660         * platform/graphics/skia/ImageBufferSkia.cpp:
3661         (WebCore::ImageBuffer::getUnmultipliedImageData):
3662         (WebCore::ImageBuffer::getPremultipliedImageData):
3663         (WebCore::ImageBuffer::putByteArray):
3664         (WebCore::ImageBuffer::toDataURL):
3665         * platform/graphics/wince/ImageBufferWinCE.cpp:
3666         (WebCore::ImageBuffer::getUnmultipliedImageData):
3667         (WebCore::ImageBuffer::getPremultipliedImageData):
3668         (WebCore::ImageBuffer::putByteArray):
3669         (WebCore::ImageBuffer::toDataURL):
3670         * platform/graphics/wx/ImageBufferWx.cpp:
3671         (WebCore::ImageBuffer::getUnmultipliedImageData):
3672         (WebCore::ImageBuffer::getPremultipliedImageData):
3673         (WebCore::ImageBuffer::putByteArray):
3674         (WebCore::ImageBuffer::toDataURL):
3675
3676 2012-04-12  Shawn Singh  <shawnsingh@chromium.org>
3677
3678         [chromium] Support CCHeadsUpDisplay in threaded compositing mode
3679         https://bugs.webkit.org/show_bug.cgi?id=67499
3680
3681         Reviewed by James Robinson.
3682
3683         No new tests because this code is debugging code itself.
3684
3685         The last item that was needed to make the CCHeadsUpDisplay work in
3686         threaded compositing mode was to remove the font rendering code
3687         used on the impl-side thread. To solve this, this patch adds a
3688         CCFontAtlas that is initialized on the main thread (where the font
3689         rendering takes place). Then, when the HUD draws text on the impl
3690         thread, it uses the font atlas directly.
3691
3692         * WebCore.gypi:
3693         * platform/graphics/chromium/LayerRendererChromium.cpp:
3694         (WebCore::LayerRendererChromium::create):
3695         (WebCore::LayerRendererChromium::initialize):
3696         * platform/graphics/chromium/LayerRendererChromium.h:
3697         (WebCore):
3698         (LayerRendererChromium):
3699         * platform/graphics/chromium/cc/CCFontAtlas.cpp: Added.
3700         (WebCore):
3701         (WebCore::CCFontAtlas::CCFontAtlas):
3702         (WebCore::wrapPositionIfNeeded):
3703         (WebCore::CCFontAtlas::generateAtlasForFont):
3704         (WebCore::CCFontAtlas::initialize):
3705         (WebCore::CCFontAtlas::drawText):
3706         (WebCore::CCFontAtlas::drawOneLineOfTextInternal):
3707         (WebCore::CCFontAtlas::drawDebugAtlas):
3708         * platform/graphics/chromium/cc/CCFontAtlas.h: Added.
3709         (WebCore):
3710         (CCFontAtlas):
3711         (WebCore::CCFontAtlas::create):
3712         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3713         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
3714         (WebCore):
3715         (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
3716         (WebCore::CCHeadsUpDisplay::drawHudContents):
3717         (WebCore::CCHeadsUpDisplay::drawFPSCounter):
3718         (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
3719         (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
3720         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
3721         (WebCore::CCHeadsUpDisplay::create):
3722         (CCHeadsUpDisplay):
3723         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3724         (WebCore::CCLayerTreeHost::initialize):
3725         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3726         (WebCore):
3727         (WebCore::CCLayerTreeHost::headsUpDisplayFontAtlas):
3728         (CCLayerTreeHost):
3729         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3730         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
3731         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3732         (WebCore):
3733         (CCLayerTreeHostImpl):
3734         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3735         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
3736         (WebCore::CCSingleThreadProxy::recreateContext):
3737         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3738         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
3739         (WebCore::CCThreadProxy::recreateContextOnImplThread):
3740
3741 2012-04-13  Rob Flack  <flackr@chromium.org>
3742
3743         Chromium: Should enable -webkit-image-set
3744         https://bugs.webkit.org/show_bug.cgi?id=81859
3745
3746         Reviewed by Adam Barth.
3747
3748         Test: fast/css/image-set-parsing.html
3749
3750         * WebCore.gypi:
3751
3752 2012-04-13  Pavel Feldman  <pfeldman@chromium.org>
3753
3754         Web Inspector: do not attempt to load content from resource until request finished loading.
3755         https://bugs.webkit.org/show_bug.cgi?id=83896
3756
3757         Reviewed by Yury Semikhatsky.
3758
3759         When we stop in the inline script on reload, we should only show concatenated script content.
3760         When we resume, we should replace UI source code with the actual HTML content. We should not attempt to
3761         fetch resource content until request finished loading. I regressed it in the Request extraction
3762         and now am bringing it back.
3763
3764         * inspector/front-end/RawSourceCode.js:
3765         (WebInspector.RawSourceCode):
3766         (WebInspector.RawSourceCode.prototype._finishedLoading):
3767         * inspector/front-end/ResourceScriptMapping.js:
3768         (WebInspector.ResourceScriptMapping.prototype.addScript):
3769
3770 2012-04-13  Pavel Feldman  <pfeldman@chromium.org>
3771
3772         Web Inspector: follow up to r114116 - fixing QT test
3773         https://bugs.webkit.org/show_bug.cgi?id=83892
3774
3775         Reviewed by Yury Semikhatsky.
3776
3777         Requesting content for the scripts exclusively via the page agent now.
3778
3779         * inspector/front-end/Resource.js:
3780         (WebInspector.Resource.prototype.get content):
3781         (WebInspector.Resource.prototype.get contentEncoded):
3782         (WebInspector.Resource.prototype.requestContent):
3783         (WebInspector.ResourceRevision.prototype.requestContent):
3784
3785 2012-04-13  Yi Shen  <yi.4.shen@nokia.com>
3786
3787         InsertHTML fails to insert h6 if the insertion point is before some text.
3788         https://bugs.webkit.org/show_bug.cgi?id=82689
3789
3790         Reviewed by Ryosuke Niwa.
3791
3792         Added the missing h6 tag for the isHeaderElement.
3793
3794         No new tests: updated existing test (editing/execCommand/4128080-1.html)
3795
3796         * editing/ReplaceSelectionCommand.cpp:
3797         (WebCore::isHeaderElement):
3798
3799 2012-04-13  Yury Semikhatsky  <yurys@chromium.org>
3800
3801         Web Inspector: exception in heap profiler when expanding a class in summary view
3802         https://bugs.webkit.org/show_bug.cgi?id=83883
3803
3804         Moved all DOM-specific inspector utilities into DOMExtension.js
3805
3806         Merged BinarySearch.js and PartialQuickSort.js into utilities.js, HeapSnapshotWorker.js now
3807         imports utilities.js which contains all required routines.
3808
3809         Reviewed by Pavel Feldman.
3810
3811         * WebCore.gypi:
3812         * WebCore.vcproj/WebCore.vcproj:
3813         * inspector/compile-front-end.py:
3814         * inspector/front-end/BinarySearch.js: Removed.
3815         * inspector/front-end/DOMExtension.js: Copied from Source/WebCore/inspector/front-end/utilities.js.
3816         (Node.prototype.rangeOfWord):
3817         (Node.prototype.traverseNextTextNode):
3818         (Node.prototype.rangeBoundaryForOffset):
3819         (Element.prototype.removeStyleClass):
3820         (Element.prototype.removeMatchingStyleClasses):
3821         (Element.prototype.addStyleClass):
3822         (Element.prototype.hasStyleClass):
3823         (Element.prototype.positionAt):
3824         (Element.prototype.pruneEmptyTextNodes):
3825         (Element.prototype.isScrolledToBottom):
3826         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
3827         (Node.prototype.enclosingNodeOrSelfWithNodeName):
3828         (Node.prototype.enclosingNodeOrSelfWithClass):
3829         (Node.prototype.enclosingNodeWithClass):
3830         (Element.prototype.query):
3831         (Element.prototype.removeChildren):
3832         (Element.prototype.isInsertionCaretInside):
3833         (Element.prototype.createChild):
3834         (Element.prototype.totalOffsetLeft):
3835         (Element.prototype.totalOffsetTop):
3836         (Element.prototype.totalOffset):
3837         (Element.prototype.scrollOffset):
3838         (AnchorBox):
3839         (Element.prototype.offsetRelativeToWindow):
3840         (Element.prototype.boxInWindow):
3841         (Element.prototype.setTextAndTitle):
3842         (Event.prototype.consume):
3843         (Text.prototype.select):
3844         (Element.prototype.selectionLeftOffset):
3845         (Node.prototype.isAncestor):
3846         (Node.prototype.isDescendant):
3847         (Node.prototype.isSelfOrAncestor):
3848         (Node.prototype.isSelfOrDescendant):
3849         (Node.prototype.traverseNextNode):
3850         (Node.prototype.traversePreviousNode):
3851         (HTMLTextAreaElement.prototype.moveCursorToEnd):
3852         (isEnterKey):
3853         (consumeEvent):
3854         (highlightSearchResult):
3855         (highlightSearchResults):
3856         (highlightRangesWithStyleClass):
3857         (applyDomChanges):
3858         (revertDomChanges):
3859         * inspector/front-end/HeapSnapshot.js: Fixed a couple of js compiler warnings
3860         by describing structure of heap snapshot header in the protocol.
3861         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
3862         * inspector/front-end/HeapSnapshotWorker.js:
3863         * inspector/front-end/PartialQuickSort.js: Removed.
3864         * inspector/front-end/WebKit.qrc:
3865         * inspector/front-end/inspector.html:
3866         * inspector/front-end/utilities.js:
3867         (.):
3868
3869 2012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3870
3871         Unreviewed, rolling out r114103.
3872         http://trac.webkit.org/changeset/114103
3873         https://bugs.webkit.org/show_bug.cgi?id=83884
3874
3875         New breakpoint UI looks bad / needs polish. (Requested by
3876         pfeldman_ on #webkit).
3877
3878         * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
3879         * inspector/front-end/Images/breakpointCounterBorder.png:
3880         * inspector/front-end/Images/programCounterBorder.png:
3881         * inspector/front-end/textViewer.css:
3882         (.webkit-execution-line .webkit-line-number-outer):
3883         (.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer):
3884         (.webkit-breakpoint-conditional.webkit-execution-line .webkit-line-number-outer):
3885
3886 2012-04-13  Jason Liu  <jason.liu@torchmobile.com.cn>
3887
3888         [BlackBerry] Sign in cookie for ESPN.com does not retain login account (for fantasy sports).
3889         https://bugs.webkit.org/show_bug.cgi?id=83760
3890
3891         Reviewed by George Staikos.
3892
3893         When we update cookies' database, protocol shouldn't be checked since it is not a cookie's key.
3894         ESPN.com's https cookies should replace old http cookies if they have the same keys(name, path, domain).
3895
3896         We must restart the browser to test, so have to write a manual test case.
3897
3898         Test: ManualTests/blackberry/http-cookie-database-set.php
3899
3900         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
3901         (WebCore::CookieDatabaseBackingStore::invokeOpen):
3902
3903 2012-04-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3904
3905         [Qt] Use QQuickFlickable::setPixelAligned instead of doing pixel-alignment when rendering.
3906         https://bugs.webkit.org/show_bug.cgi?id=83770
3907
3908         Reviewed by Kenneth Rohde Christiansen.
3909
3910         Revert the previous way of dealing with things. The problem is that different layers
3911         would end up rounding in different directions, and would cause jittering between
3912         layers or with the QQuickWebPage's background.
3913
3914         * platform/graphics/texmap/TextureMapperGL.cpp:
3915         (WebCore::TextureMapperGL::drawTexture):
3916
3917 2012-04-13  Pavel Feldman  <pfeldman@chromium.org>
3918
3919         Web Inspector: introduce ParsedURL type, clean up url and displayName mess in Resource and NetworkRequest.
3920         https://bugs.webkit.org/show_bug.cgi?id=83871
3921
3922         Reviewed by Yury Semikhatsky.
3923
3924         There is a number of random properties created on Resource and NetworkRequest that represent various url
3925         fragments. Display name is being based on them and sometimes requires fake Resource instance to be created.
3926         This change (officially) introduces WebInspector.ParsedURL as a type that encapsulates this complexity.
3927
3928         This change also moves documentURL property into the Resource and NetworkRequest constructors and brushes up
3929         factory methods used to create the objects.
3930
3931         * inspector/front-end/AuditRules.js:
3932         (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
3933         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
3934         * inspector/front-end/Database.js:
3935         (WebInspector.Database.prototype.get displayDomain):
3936         * inspector/front-end/JavaScriptContextManager.js:
3937         (WebInspector.FrameEvaluationContext.prototype.get displayName):
3938         * inspector/front-end/NetworkManager.js:
3939         (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
3940         (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
3941         (get WebInspector):
3942         * inspector/front-end/NetworkPanel.js:
3943         (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
3944         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
3945         * inspector/front-end/NetworkRequest.js:
3946         (WebInspector.NetworkRequest):
3947         (WebInspector.NetworkRequest.prototype.set url):
3948         (WebInspector.NetworkRequest.prototype.get documentURL):
3949         (WebInspector.NetworkRequest.prototype.get parsedURL):
3950         (WebInspector.NetworkRequest.prototype.get displayName):
3951         (WebInspector.NetworkRequest.prototype.get folder):
3952         * inspector/front-end/RequestHeadersView.js:
3953         (WebInspector.RequestHeadersView.prototype._refreshUrlFragment):
3954         * inspector/front-end/Resource.js:
3955         (WebInspector.Resource):
3956         (WebInspector.Resource.prototype.set url):
3957         (WebInspector.Resource.prototype.get parsedURL):
3958         (WebInspector.Resource.prototype.get frameId):
3959         (WebInspector.Resource.prototype.get loaderId):
3960         (WebInspector.Resource.prototype.get displayName):
3961         * inspector/front-end/ResourceTreeModel.js:
3962         (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped):
3963         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
3964         (WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload):
3965         (WebInspector.ResourceTreeFrame.prototype._addRequest):
3966         * inspector/front-end/ResourceUtils.js:
3967         (WebInspector.ParsedURL):
3968         (WebInspector.ParsedURL.prototype.get displayName):
3969         (String.prototype.asParsedURL):
3970         (WebInspector.displayDomain):
3971         (WebInspector.resourceURLForRelatedNode.callback):
3972         (WebInspector.resourceURLForRelatedNode):
3973         * inspector/front-end/ResourcesPanel.js:
3974         (WebInspector.FrameTreeElement.prototype.frameNavigated):
3975         (WebInspector.ApplicationCacheManifestTreeElement):
3976         (WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles):
3977         * inspector/front-end/utilities.js:
3978
3979 2012-04-13  Pavel Feldman  <pfeldman@chromium.org>
3980
3981         Web Inspector: extracting NetworkRequest from Resource (step 3)
3982         https://bugs.webkit.org/show_bug.cgi?id=83802
3983
3984         Reviewed by Yury Semikhatsky.
3985
3986         This change extracts NetworkRequest from the Resource. It is now clear that these two
3987         should have super class that would be responsible for parsing URL and would define the
3988         requestContent signature. Corresponding patch will follow.
3989
3990         * inspector/front-end/NetworkManager.js:
3991         * inspector/front-end/NetworkRequest.js:
3992         (WebInspector.NetworkRequest):
3993         (WebInspector.NetworkRequest.prototype.get requestId):
3994         (WebInspector.NetworkRequest.prototype.set requestId):
3995         (WebInspector.NetworkRequest.prototype.get url):
3996         (WebInspector.NetworkRequest.prototype.get frameId):
3997         (WebInspector.NetworkRequest.prototype.get loaderId):
3998         (WebInspector.NetworkRequest.prototype.get startTime):
3999         (WebInspector.NetworkRequest.prototype.set startTime):
4000         (WebInspector.NetworkRequest.prototype.get responseReceivedTime):
4001         (WebInspector.NetworkRequest.prototype.set responseReceivedTime):
4002         (WebInspector.NetworkRequest.prototype.get endTime):
4003         (WebInspector.NetworkRequest.prototype.set endTime):
4004         (WebInspector.NetworkRequest.prototype.get duration):
4005         (WebInspector.NetworkRequest.prototype.get latency):
4006         (WebInspector.NetworkRequest.prototype.get receiveDuration):
4007         (WebInspector.NetworkRequest.prototype.get resourceSize):
4008         (WebInspector.NetworkRequest.prototype.set resourceSize):
4009         (WebInspector.NetworkRequest.prototype.get transferSize):
4010         (WebInspector.NetworkRequest.prototype.increaseTransferSize):
4011         (WebInspector.NetworkRequest.prototype.get finished):
4012         (WebInspector.NetworkRequest.prototype.set finished):
4013         (WebInspector.NetworkRequest.prototype.get failed):
4014         (WebInspector.NetworkRequest.prototype.set failed):
4015         (WebInspector.NetworkRequest.prototype.get canceled):
4016         (WebInspector.NetworkRequest.prototype.set canceled):
4017         (WebInspector.NetworkRequest.prototype.get cached):
4018         (WebInspector.NetworkRequest.prototype.set cached):
4019         (WebInspector.NetworkRequest.prototype.get timing):
4020         (WebInspector.NetworkRequest.prototype.set timing):
4021         (WebInspector.NetworkRequest.prototype.get mimeType):
4022         (WebInspector.NetworkRequest.prototype.set mimeType):
4023         (WebInspector.NetworkRequest.prototype.get displayName):
4024         (WebInspector.NetworkRequest.prototype.get folder):
4025         (WebInspector.NetworkRequest.prototype.get displayDomain):
4026         (WebInspector.NetworkRequest.prototype.get type):
4027         (WebInspector.NetworkRequest.prototype.set type):
4028         (WebInspector.NetworkRequest.prototype.get redirectSource):
4029         (WebInspector.NetworkRequest.prototype.set redirectSource):
4030         (WebInspector.NetworkRequest.prototype.get requestHeaders):
4031         (WebInspector.NetworkRequest.prototype.set requestHeaders):
4032         (WebInspector.NetworkRequest.prototype.get requestHeadersText):
4033         (WebInspector.NetworkRequest.prototype.set requestHeadersText):
4034         (WebInspector.NetworkRequest.prototype.get requestHeadersSize):
4035         (WebInspector.NetworkRequest.prototype.requestHeaderValue):
4036         (WebInspector.NetworkRequest.prototype.get requestCookies):
4037         (WebInspector.NetworkRequest.prototype.get requestFormData):
4038         (WebInspector.NetworkRequest.prototype.set requestFormData):
4039         (WebInspector.NetworkRequest.prototype.get requestHttpVersion):
4040         (WebInspector.NetworkRequest.prototype.get responseHeaders):
4041         (WebInspector.NetworkRequest.prototype.set responseHeaders):