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