RenderText::computePreferredLogicalWidths() should measure words with trailing spaces
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-08-26  Ned Holbrook  <nholbrook@apple.com>
2
3         RenderText::computePreferredLogicalWidths() should measure words with trailing spaces
4         https://bugs.webkit.org/show_bug.cgi?id=66733
5
6         Reviewed by Dan Bernstein.
7
8         Test: fast/text/complex-preferred-logical-widths.html
9
10         * rendering/RenderText.cpp:
11         (WebCore::RenderText::computePreferredLogicalWidths): Apply logic from RenderBlock::LineBreaker::nextLineBreak().
12
13 2011-08-26  Tony Chang  <tony@chromium.org>
14
15         Add CSS parsing for -webkit-flex-align
16         https://bugs.webkit.org/show_bug.cgi?id=66726
17
18         Reviewed by Ojan Vafai.
19
20         * css/CSSComputedStyleDeclaration.cpp:
21         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
22         * css/CSSParser.cpp:
23         (WebCore::CSSParser::parseValue):
24         * css/CSSPrimitiveValueMappings.h:
25         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
26         (WebCore::CSSPrimitiveValue::operator EFlexAlign):
27         * css/CSSPropertyNames.in:
28         * css/CSSStyleApplyProperty.cpp:
29         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
30         * css/CSSStyleSelector.cpp:
31         (WebCore::CSSStyleSelector::applyProperty):
32         * css/CSSValueKeywords.in:
33         * rendering/style/RenderStyle.h:
34         (WebCore::InheritedFlags::flexAlign):
35         (WebCore::InheritedFlags::setFlexAlign):
36         (WebCore::InheritedFlags::initialFlexAlign):
37         * rendering/style/RenderStyleConstants.h:
38         * rendering/style/StyleFlexibleBoxData.cpp:
39         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
40         (WebCore::StyleFlexibleBoxData::operator==):
41         * rendering/style/StyleFlexibleBoxData.h:
42
43 2011-08-26  Nate Chapin  <japhet@chromium.org>
44
45         Fix http/tests/misc/willCacheResponse-delegate-callback.html
46         after r93886. We're implicitly converting an enum to a bool.
47
48         Rubber-stamped by David Levin.
49
50         * loader/mac/ResourceLoaderMac.mm:
51         (WebCore::ResourceLoader::willCacheResponse):
52
53 2011-08-26  Chris Rogers  <crogers@google.com>
54
55         Add MediaPlayer::audioSourceProvider() method for audio stream access by the Web Audio API.
56         https://bugs.webkit.org/show_bug.cgi?id=66398
57
58         Reviewed by Eric Carlson.
59
60         * html/HTMLMediaElement.cpp:
61         (WebCore::HTMLMediaElement::HTMLMediaElement):
62         (WebCore::HTMLMediaElement::prepareForLoad):
63         (WebCore::HTMLMediaElement::loadNextSourceChild):
64         (WebCore::HTMLMediaElement::ensureMediaPlayer):
65         (WebCore::HTMLMediaElement::createMediaPlayer):
66             MediaPlayer creation has now been put into createMediaPlayer() instead of it being created
67             separately in these various methods.  It has been made thread-safe for use with the Web Audio API
68             in conjunction with an MediaElementAudioSourceNode.
69         (WebCore::HTMLMediaElement::setAudioSourceNode):
70         (WebCore::HTMLMediaElement::audioSourceProvider):
71         * html/HTMLMediaElement.h:
72         (WebCore::HTMLMediaElement::audioSourceNode):
73             The HTMLMediaElement now keeps track of an optional MediaElementAudioSourceNode if
74             the audio stream is being processed using the Web Audio API.
75         
76         * platform/graphics/MediaPlayer.cpp:
77         (WebCore::MediaPlayer::audioSourceProvider):
78         * platform/graphics/MediaPlayer.h:
79         * platform/graphics/MediaPlayerPrivate.h:
80         (WebCore::MediaPlayerPrivateInterface::audioSourceProvider):
81             MediaPlayer now has an audioSourceProvider() method with a default "empty" implementation.
82             audioSourceProvider() returns an AudioSourceProvider object which the Web Audio API's
83             MediaElementAudioSourceNode uses (indirectly through an HTMLMediaElement method) to get the rendered audio stream.
84
85         * webaudio/AudioContext.cpp:
86         (WebCore::AudioContext::createMediaElementSource):
87         * webaudio/AudioContext.h:
88         * webaudio/AudioContext.idl:
89             AudioContext::createMediaElementSource() is now more careful to check that an HTMLMediaElement
90             doesn't already have a MediaElementAudioSourceNode attached to it.
91             
92         * webaudio/MediaElementAudioSourceNode.cpp:
93         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
94         (WebCore::MediaElementAudioSourceNode::~MediaElementAudioSourceNode):
95         (WebCore::MediaElementAudioSourceNode::process):
96         (WebCore::MediaElementAudioSourceNode::lock):
97         (WebCore::MediaElementAudioSourceNode::unlock):
98         * webaudio/MediaElementAudioSourceNode.h:
99             Implement thread-safe processing (replacing the old stub implementation).
100
101 2011-08-23  Stephen White  <senorblanco@chromium.org>
102
103         Assertion fires if canvas is resized while save() active
104         https://bugs.webkit.org/show_bug.cgi?id=66710
105
106         Reviewed by Simon Fraser.
107
108         Test: fast/canvas/resize-while-save-active.html
109
110         * html/HTMLCanvasElement.cpp:
111         (WebCore::HTMLCanvasElement::reset):
112         Call CanvasRenderingContext2D::reset() before resizing the canvas,
113         so that the GraphicsContext state stack can be unwound.
114         * html/canvas/CanvasRenderingContext2D.cpp:
115         (WebCore::CanvasRenderingContext2D::unwindStateStack):
116         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
117         Refactor the state stack unwinding code from the destructor to 
118         unwindStateStack() (new).
119         (WebCore::CanvasRenderingContext2D::reset):
120         Unwind the GraphicsContext state stack when the context is reset.
121         * html/canvas/CanvasRenderingContext2D.h:
122
123 2011-08-26  Darin Adler  <darin@apple.com>
124
125         [Mac] Use the progress cursor instead of the wristwatch for CSS "wait" cursor
126         https://bugs.webkit.org/show_bug.cgi?id=67049
127
128         Reviewed by Beth Dakin.
129
130         * platform/mac/CursorMac.mm:
131         (WebCore::Cursor::ensurePlatformCursor): Use BusyButClickable cursor for wait
132         as well as for Progress.
133
134 2011-08-26  Nate Chapin  <japhet@chromium.org>
135
136         Fix gtk build after r93886.
137
138         * platform/track/CueParser.cpp:
139         (WebCore::CueParser::load):
140
141 2011-08-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
142
143         [EFL] Update searchableIndexIntroduction() to match GTK+'s.
144         https://bugs.webkit.org/show_bug.cgi?id=66885
145
146         Reviewed by Gustavo Noronha Silva.
147
148         Using this new string allows us to share the test expectations with
149         other ports, and thus makes
150         fast/replaced/table-percent-height-text-controls.html pass.
151
152         No new tests, as this is covered by an existing one.
153
154         * platform/efl/LocalizedStringsEfl.cpp:
155         (WebCore::searchableIndexIntroduction):
156
157 2011-08-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
158
159         [EFL] Do not log an error if a fallback cursor cannot be found.
160         https://bugs.webkit.org/show_bug.cgi?id=67037
161
162         Reviewed by Gustavo Noronha Silva.
163
164         Ecore_X does not necessarily have to be used (DumpRenderTree does not
165         use it, for example), so showing an error message here is bogus.
166
167         No new tests, as it just removes erroneous error messages from
168         when running DRT with existing tests.
169
170         * platform/efl/WidgetEfl.cpp:
171         (WebCore::Widget::applyFallbackCursor):
172
173 2011-08-26  Nate Chapin  <japhet@chromium.org>
174
175         Change a bunch of nondescript bools to
176         descriptive enums in ResourceLoaderOptions and
177         ThreadableLoaderOptions.
178         https://bugs.webkit.org/show_bug.cgi?id=66984
179
180         Reviewed by David Levin.
181
182         No new tests, no functionality change intended.
183
184         * WebCore.exp.in:
185         * fileapi/FileReaderLoader.cpp:
186         * html/MediaDocument.cpp:
187         * html/PluginDocument.cpp:
188         * loader/CrossOriginAccessControl.cpp:
189         * loader/CrossOriginAccessControl.h:
190         * loader/CrossOriginPreflightResultCache.cpp:
191         * loader/CrossOriginPreflightResultCache.h:
192         * loader/DocumentThreadableLoader.cpp:
193         * loader/FrameLoader.h:
194         * loader/ImageLoader.cpp:
195         * loader/MainResourceLoader.cpp:
196         * loader/NetscapePlugInStreamLoader.cpp:
197         * loader/ResourceLoadScheduler.h:
198         * loader/ResourceLoader.cpp:
199         * loader/ResourceLoader.h:
200         * loader/ResourceLoaderOptions.h:
201         * loader/ThreadableLoader.h:
202         * loader/cache/CachedResource.cpp:
203         * loader/cache/CachedResourceRequest.cpp:
204         * loader/cf/ResourceLoaderCFNet.cpp:
205         * loader/mac/ResourceLoaderMac.mm:
206         * page/EventSource.cpp:
207         * platform/network/ResourceHandle.h:
208         * workers/WorkerScriptLoader.cpp:
209         * xml/XMLHttpRequest.cpp:
210
211 2011-08-26  Andreas Kling  <kling@webkit.org>
212
213         HTMLMetaElement: Don't cache "http-equiv" and "content" attributes.
214         https://bugs.webkit.org/show_bug.cgi?id=67040
215
216         Reviewed by Darin Adler.
217
218         * html/HTMLMetaElement.h: Remove m_equiv and m_content members,
219         shrinking HTMLMetaElement by 16 bytes (on 64-bit.)
220         * html/HTMLMetaElement.cpp:
221         (WebCore::HTMLMetaElement::parseMappedAttribute):
222         (WebCore::HTMLMetaElement::process): Implemented using fastGetAttribute().
223
224 2011-08-26  Pavel Feldman  <pfeldman@google.com>
225
226         Web Inspector: [REGRESSION] No way to expand hovered objects while debugging.
227         https://bugs.webkit.org/show_bug.cgi?id=67039
228
229         Reviewed by Yury Semikhatsky.
230
231         * inspector/front-end/Popover.js:
232         (WebInspector.Popover):
233         (WebInspector.Popover.prototype.show):
234         (WebInspector.PopoverHelper.prototype._mouseDown):
235         (WebInspector.PopoverHelper.prototype._hidePopover):
236         (WebInspector.PopoverHelper.prototype._mouseHover):
237         (WebInspector.PopoverHelper.prototype._killHidePopoverTimer):
238
239 2011-08-26  Pavel Podivilov  <podivilov@chromium.org>
240
241         Unreviewed, rolling out r93870.
242         http://trac.webkit.org/changeset/93870
243         https://bugs.webkit.org/show_bug.cgi?id=65203
244
245         Broke i18n chromium tests
246
247         * platform/graphics/chromium/FontChromiumWin.cpp:
248         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
249         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
250         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
251         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
252         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
253         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
254         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
255         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
256         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
257         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
258         (WebCore::drawGlyphsWin):
259         (WebCore::Font::drawComplexText):
260         * platform/graphics/chromium/UniscribeHelper.cpp:
261         (WebCore::UniscribeHelper::draw):
262         * platform/graphics/skia/PlatformContextSkia.cpp:
263         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
264         * platform/graphics/skia/PlatformContextSkia.h:
265         * platform/graphics/skia/SkiaFontWin.cpp:
266         (WebCore::windowsCanHandleDrawTextShadow):
267         (WebCore::windowsCanHandleTextDrawing):
268         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
269         * platform/graphics/skia/SkiaFontWin.h:
270
271 2011-08-26  Alexei Svitkine  <asvitkine@chromium.org>
272
273         Chromium Mac: Use a custom pattern image for rubber banding overhang area
274         https://bugs.webkit.org/show_bug.cgi?id=66707
275
276         Also roll Chromium revision to 98101, to include dependency: http://codereview.chromium.org/7714036/
277
278         Reviewed by Dimitri Glazkov.
279
280         No new tests since its just changing the Chromium-specific overhang pattern.
281
282         * platform/chromium/ScrollbarThemeChromiumMac.mm:
283         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
284         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
285
286 2011-08-26  Eric Carlson  <eric.carlson@apple.com>
287
288         <video> playlist can not advance when playing in background tab
289         https://bugs.webkit.org/show_bug.cgi?id=66978
290
291         Reviewed by Darin Adler.
292
293         No new tests added because it isn't possible to simulate a background tab in DRT.
294
295         * html/HTMLMediaElement.cpp:
296         (WebCore::HTMLMediaElement::HTMLMediaElement): Set RequirePageConsentToLoadMedia restriction.
297         (WebCore::HTMLMediaElement::loadInternal): Don't consider page->canStartMedia if it has ever
298             allowed a file to load.
299         * html/HTMLMediaElement.h:
300         (WebCore::HTMLMediaElement::requirePageConsentToLoadMedia): New.
301         (WebCore::HTMLMediaElement::removeBehaviorRestriction): New.
302
303 2011-08-26  Andreas Kling  <kling@webkit.org>
304
305         [Qt] Path::boundingRect() is unnecessarily slow.
306         https://bugs.webkit.org/show_bug.cgi?id=66854
307
308         Reviewed by Benjamin Poulain.
309
310         * html/canvas/CanvasRenderingContext2D.cpp:
311         (WebCore::CanvasRenderingContext2D::stroke): Remove Qt-specific optimization
312         since calling Path::boundingRect() will now do exactly the same thing.
313         * platform/graphics/qt/PathQt.cpp:
314         (WebCore::Path::boundingRect): Return QPainterPath::controlPointRect() since
315         that is much faster than computing the (precise) QPainterPath::boundingRect()
316         and Path::boundingRect() is not expected to be 100% precise anyway.
317
318 2011-08-26  Gavin Peters  <gavinp@chromium.org>
319
320         add a state enumeration to track down cause of null CachedScript execution
321         https://bugs.webkit.org/show_bug.cgi?id=66939
322
323         Reviewed by Alexey Proskuryakov.
324
325         Over in http://code.google.com/p/chromium/issues/detail?id=75604 I
326         have a bug I cannot reproduce.  I added an earlier crash in
327         https://bugs.webkit.org/show_bug.cgi?id=65563 , and we've since
328         gotten many good stacks, all coming in through a failed request that
329         eventually calls notifyFinished() on a ScriptElement with a NULL
330         m_cachedScript.
331
332         I'd like to know how this got NULL.  This enumeration should let
333         me find that in stack dumps from reproductions.
334
335         No new tests, as my goal here is to get telemetry on a bug that I cannot reproduce.
336
337         * dom/ScriptElement.cpp:
338         (WebCore::ScriptElement::ScriptElement):
339         (WebCore::ScriptElement::requestScript):
340         (WebCore::ScriptElement::stopLoadRequest):
341         (WebCore::ScriptElement::notifyFinished):
342         * dom/ScriptElement.h:
343
344 2011-08-26  Mike Reed  <reed@google.com>
345
346         [skia] never draw with GDI, so that all text can be gpu-accelerated
347         https://bugs.webkit.org/show_bug.cgi?id=65203
348
349         Reviewed by Kenneth Russell.
350
351         * platform/graphics/chromium/FontChromiumWin.cpp:
352         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
353         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
354         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
355         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
356         (WebCore::drawGlyphsWin):
357         (WebCore::Font::drawComplexText):
358         * platform/graphics/chromium/UniscribeHelper.cpp:
359         (WebCore::UniscribeHelper::draw):
360         * platform/graphics/skia/PlatformContextSkia.cpp:
361         * platform/graphics/skia/PlatformContextSkia.h:
362         * platform/graphics/skia/SkiaFontWin.cpp:
363         * platform/graphics/skia/SkiaFontWin.h:
364
365 2011-08-26  Ilya Tikhonovsky  <loislo@chromium.org>
366
367         Web Inspector: in some cases Popover code is failing to calculate popover box position.
368         https://bugs.webkit.org/show_bug.cgi?id=67029
369
370         Reviewed by Yury Semikhatsky.
371
372         * inspector/front-end/Popover.js:
373         (WebInspector.Popover.prototype._positionElement):
374
375 2011-08-26  Nikolas Zimmermann  <nzimmermann@rim.com>
376
377         [Qt] http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm fails intermittently
378         https://bugs.webkit.org/show_bug.cgi?id=65969
379
380         Reviewed by Zoltan Herczeg.
381
382         Fix intrinsic size negotiation flakiness, most visible on the Qt port.
383
384         The http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm testcase triggered
385         an assertion on a Qt debug build indicating that the HashSet updateLayoutAndStyleIfNeededRecursive()
386         operates on is mutated while its iterated, leading to an assertion/crash. Due the new forceLayoutParentViewIfNeeded()
387         logic it's no longer safe to directly use the children() HashSet in that method - we have to make a copy first.
388
389         The second part of the fix is to stop entering forceLayoutParentViewIfNeeded(), if the origin of that call
390         is forceLayoutParentViewIfNeeded() itself. Set m_inLayoutParentView to true before calling FrameView::layout()
391         on our parent frame view - this is only an optimization to avoid doing layout() twice.
392
393         The third part of the fix is to call updateWidgetPositions() on the parent FrameView, _before_ calling layout()
394         on the parent view itself, as the SVG document needs to report the correct intrinsic size (which can depend
395         on the host object/embed/iframe) when we're running RenderReplaced::layout() on the host renderer.
396
397         * page/FrameView.cpp:
398         (WebCore::FrameView::FrameView):
399         (WebCore::collectFrameViewChildren):
400         (WebCore::FrameView::forceLayoutParentViewIfNeeded):
401         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
402         * page/FrameView.h:
403
404 2011-08-26  Mikhail Naganov  <mnaganov@chromium.org>
405
406         Web Inspector: [Chromium] Double clicking on numbers in Count & size columns doesn't toggle between values and percents in the Heap Snapshot.
407         https://bugs.webkit.org/show_bug.cgi?id=66988
408
409         Reviewed by Pavel Feldman.
410
411         * inspector/front-end/DetailedHeapshotView.js:
412         (WebInspector.DetailedHeapshotView.prototype._mouseClickInContentsGrid):
413         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
414
415 2011-08-26  Shinya Kawanaka  <shinyak@google.com>
416
417         REGRESSION(r93390): Empty or invalid maxlength of an input tag should be ignored.
418         https://bugs.webkit.org/show_bug.cgi?id=67015
419
420         Reviewed by Kent Tamura.
421
422         * html/HTMLInputElement.cpp:
423         (WebCore::HTMLInputElement::parseMaxLengthAttribute):
424           Checks the validity of maxlength attribute when converting it to integer.
425
426 2011-08-25  Yuta Kitamura  <yutak@chromium.org>
427
428         WebSocket: Fix indentation of WebSocket header files
429         https://bugs.webkit.org/show_bug.cgi?id=67018
430
431         Reviewed by Kent Tamura.
432
433         No new tests. Style fix only.
434
435         * websockets/WebSocket.h:
436         (WebCore::WebSocket::create):
437         (WebCore::WebSocket::toWebSocket):
438         (WebCore::WebSocket::refEventTarget):
439         (WebCore::WebSocket::derefEventTarget):
440         * websockets/WebSocketChannel.h:
441         Removed formal parameter name of resumeTimerFired().
442         (WebCore::WebSocketChannel::create):
443         (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
444         (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
445         (WebCore::WebSocketChannel::isNonControlOpCode):
446         (WebCore::WebSocketChannel::isControlOpCode):
447         (WebCore::WebSocketChannel::isReservedOpCode):
448         * websockets/WebSocketHandshake.h:
449         Removed formal parameter name of setClientProtocol().
450
451 2011-08-25  Martin Robinson  <mrobinson@igalia.com>
452
453         Touch GtkVersioning.c so that the release bot rebuilds it. This
454         is necessary because of the switch to GTK+ 3.x.
455
456         * platform/gtk/GtkVersioning.c: Touch this file.
457
458 2011-08-25  Ben Wells  <benwells@chromium.org>
459
460         Use PATH_BASED_BORDER_RADIUS_DRAWING for skia
461         https://bugs.webkit.org/show_bug.cgi?id=65583
462
463         This change brings in the new border rendering for Skia. To support this without aliasing the skia
464         graphics context has been updated to support anti-aliased clipping around convex polygons and also
465         anti-aliased clipping outside a path.
466
467         Reviewed by James Robinson.
468
469         * platform/graphics/skia/GraphicsContextSkia.cpp:
470         (WebCore::GraphicsContext::clipOut):
471         (WebCore::GraphicsContext::clipConvexPolygon):
472         * platform/graphics/skia/PlatformContextSkia.cpp:
473         (WebCore::PlatformContextSkia::clipPathAntiAliased):
474         * rendering/RenderObject.h:
475
476 2011-08-25  Luke Macpherson   <macpherson@chromium.org>
477
478         Implement animation and transition properties in CSSStyleApplyProperty.
479         https://bugs.webkit.org/show_bug.cgi?id=66126
480
481         Reviewed by Dean Jackson.
482
483         No new tests. This is essentially a refactoring of the HANDLE_ANIMATION* and HANDLE_TRANSITION* macros in CSSStyleSelector.cpp.
484         The only functional change is to iterate correctly over the lists instead of setting only the first element. See bug 66118 for details on that.
485
486         * css/CSSStyleApplyProperty.cpp:
487         Added new class ApplyPropertyAnimation to handle animation and transition properties.
488         (WebCore::ApplyPropertyAnimation::ApplyPropertyAnimation):
489         (WebCore::ApplyPropertyAnimation::applyInheritValue):
490         (WebCore::ApplyPropertyAnimation::applyInitialValue):
491         (WebCore::ApplyPropertyAnimation::applyValue):
492         (WebCore::ApplyPropertyAnimation::setValue):
493         (WebCore::ApplyPropertyAnimation::value):
494         (WebCore::ApplyPropertyAnimation::test):
495         (WebCore::ApplyPropertyAnimation::clear):
496         (WebCore::ApplyPropertyAnimation::initial):
497         (WebCore::ApplyPropertyAnimation::map):
498         (WebCore::ApplyPropertyAnimation::accessAnimations):
499         (WebCore::ApplyPropertyAnimation::animations):
500         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
501         * css/CSSStyleSelector.cpp:
502         Removed animation and transition macros (celebrate!)
503         (WebCore::CSSStyleSelector::applyProperty):
504         Removed old implementations of animation and transition properties.
505         * platform/animation/Animation.h:
506         Changed return types of initial values to match the setters and getters.
507         (WebCore::Animation::initialAnimationDelay):
508         (WebCore::Animation::initialAnimationName):
509         (WebCore::Animation::initialAnimationTimingFunction):
510
511 2011-08-25  Julien Chaffraix  <jchaffraix@webkit.org>
512
513         Concentrate RenderLayer repaint rects updates
514         https://bugs.webkit.org/show_bug.cgi?id=64993
515
516         Reviewed by David Hyatt.
517
518         The change moves the update of the repaint rects to 2 methods
519         (computeRepaintRects and clearRepaintRects) to better track
520         those changes.
521
522         No new test, refactoring covered by the existing test cases.
523
524         * rendering/RenderLayer.cpp:
525         (WebCore::RenderLayer::updateLayerPositions): Reverse the logic and
526         calculate the new bounds upfront. This should have no impact as none
527         of the methods rely on the internal value.
528
529         (WebCore::RenderLayer::computeRepaintRects): Added the cachedOffset parameter
530         to avoid breaking the performance optimization in updateLayerPositions. Added
531         some ASSERTS.
532
533         (WebCore::RenderLayer::clearRepaintRects): Added some ASSERTs here.
534         (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Added a FIXME as this
535         method could use the cachedOffset trick too.
536
537         (WebCore::RenderLayer::setHasVisibleContent): Changed the code to use
538         computeRepaintRects.
539
540         * rendering/RenderLayer.h: Updated the signature of computeRepaintRects and moved
541         those 2 methods into the private section of the class.
542
543 2011-08-25  Van Lam  <vanlam@google.com>
544
545         Remove use of magic number -1 in WebCore/editing/visible_units.cpp
546         https://bugs.webkit.org/show_bug.cgi?id=66980
547
548         Reviewed by Ryosuke Niwa.
549
550         Replaced use of magic number -1 with constant offsetNotFound.
551
552         * editing/visible_units.cpp:
553         (WebCore::greatestOffsetUnder):
554         (WebCore::smallestOffsetAbove):
555
556 2011-08-25  Igor Oliveira  <igor.oliveira@openbossa.org>
557
558         Rollout r93799: Caused bad clipping on the bottom of tall glyphs inside a button label
559
560         * rendering/RenderBlockLineLayout.cpp:
561         (WebCore::RenderBlock::layoutInlineChildren):
562         * rendering/RenderBox.cpp:
563         * rendering/RenderBox.h:
564         (WebCore::RenderBox::hasControlClip):
565         (WebCore::RenderBox::controlClipRect):
566         * rendering/RenderButton.cpp:
567         (WebCore::RenderButton::setupInnerStyle):
568
569 2011-08-25  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
570
571         [Qt] Enable password echo on Symbian builds
572         https://bugs.webkit.org/show_bug.cgi?id=66954
573
574         Reviewed by Chang Shu.
575
576         No tests, as this is just a build change.
577
578         * config.h:
579
580 2011-08-25  Nate Chapin  <japhet@chromium.org>
581
582         Windows build fix after r93811.
583
584         * loader/cf/ResourceLoaderCFNet.cpp:
585         (WebCore::ResourceLoader::shouldCacheResponse):
586
587 2011-08-25  Nate Chapin  <japhet@chromium.org>
588
589         Split some of the variables out of ThreadableLoaderOptions
590         into a superclass, ResourceLoaderOptions. Use ResourceLoaderOptions
591         all the way down to ResourceLoader.
592         https://bugs.webkit.org/show_bug.cgi?id=63301
593
594         Reviewed by David Levin.
595
596         No new tests, refractor only.
597
598         * GNUmakefile.list.am:
599         * WebCore.gypi:
600         * WebCore.vcproj/WebCore.vcproj:
601         * WebCore.xcodeproj/project.pbxproj:
602         * loader/DocumentThreadableLoader.cpp:
603         * loader/MainResourceLoader.cpp:
604         * loader/NetscapePlugInStreamLoader.cpp:
605         * loader/ResourceLoadScheduler.cpp:
606         * loader/ResourceLoadScheduler.h:
607         * loader/ResourceLoader.cpp:
608         * loader/ResourceLoader.h:
609         * loader/ResourceLoaderOptions.h: Added.
610         * loader/SubresourceLoader.cpp:
611         * loader/SubresourceLoader.h:
612         * loader/ThreadableLoader.h:
613         * loader/cache/CachedResourceRequest.cpp:
614         * loader/mac/ResourceLoaderMac.mm:
615
616 2011-08-25  Adam Klein  <adamk@chromium.org>
617
618         use strict in CodeGeneratorJS and CodeGeneratorV8
619         https://bugs.webkit.org/show_bug.cgi?id=66915
620
621         Reviewed by Darin Adler.
622
623         Making these files "use strict" makes changing them less
624         time-consuming and error-prone, and helps avoid accidentally
625         adding dead code (added a FIXME for one such case).
626
627         No expected change in behavior.
628
629         * bindings/scripts/CodeGeneratorJS.pm:
630         (AddIncludesForType):
631         (GenerateParametersCheckExpression):
632         (GenerateFunctionParametersCheck):
633         (GenerateImplementation):
634         (GenerateImplementationFunctionCall):
635         (NativeToJSValue):
636         (GenerateHashValue):
637         * bindings/scripts/CodeGeneratorV8.pm:
638         (AddIncludesForType):
639         (GenerateHeaderNamedAndIndexedPropertyAccessors):
640         (GenerateNormalAttrSetter):
641         (GetFunctionTemplateCallbackName):
642         (GenerateNewFunctionTemplate):
643         (GenerateParametersCheckExpression):
644         (GenerateFunctionParametersCheck):
645         (GenerateImplementation):
646         ():
647
648 2011-08-25  Dean Jackson  <dino@apple.com>
649
650         https://bugs.webkit.org/show_bug.cgi?id=21586
651         Apply CSS animations and transitions to SVG properties
652
653         Reviewed by Simon Fraser.
654
655         Expose the applicable SVG properties from SVGRenderStyle to
656         RenderStyle and add them to the list of animatable
657         properties. There aren't many SVG properties that are
658         animatable directly. SVGPaint (used in "fill" and "stroke")
659         is supported only when both ends of the animation are
660         a Color. Also updated SVGLength to have some methods
661         for converting to and from user space units.
662
663         Test: transitions/svg-transitions.html
664
665         * page/animation/AnimationBase.cpp:
666         (WebCore::blendFunc):
667             Calls the blend method on SVGLength
668         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
669             New property wrapper type for SVGPaint
670         (WebCore::PropertyWrapperSVGPaint::equals):
671         (WebCore::PropertyWrapperSVGPaint::blend):
672         (WebCore::AnimationBase::ensurePropertyMap):
673         * rendering/style/RenderStyle.h:
674         (WebCore::InheritedFlags::fillPaintType):
675         (WebCore::InheritedFlags::fillPaintColor):
676         (WebCore::InheritedFlags::setFillPaintColor):
677         (WebCore::InheritedFlags::strokePaintType):
678         (WebCore::InheritedFlags::strokePaintColor):
679         (WebCore::InheritedFlags::setStrokePaintColor):
680         (WebCore::InheritedFlags::strokeWidth):
681         (WebCore::InheritedFlags::setStrokeWidth):
682         (WebCore::InheritedFlags::strokeDashOffset):
683         (WebCore::InheritedFlags::setStrokeDashOffset):
684         (WebCore::InheritedFlags::strokeMiterLimit):
685         (WebCore::InheritedFlags::setStrokeMiterLimit):
686         (WebCore::InheritedFlags::stopOpacity):
687         (WebCore::InheritedFlags::setStopOpacity):
688         (WebCore::InheritedFlags::setStopColor):
689         (WebCore::InheritedFlags::setFloodColor):
690         (WebCore::InheritedFlags::setLightingColor):
691         (WebCore::InheritedFlags::baselineShiftValue):
692         (WebCore::InheritedFlags::setBaselineShiftValue):
693         (WebCore::InheritedFlags::kerning):
694         (WebCore::InheritedFlags::setKerning):
695         (WebCore::InheritedFlags::stopColor):
696         (WebCore::InheritedFlags::floodColor):
697         (WebCore::InheritedFlags::lightingColor):
698         * rendering/style/SVGRenderStyle.h:
699         (WebCore::SVGRenderStyle::stopColor):
700         (WebCore::SVGRenderStyle::floodColor):
701         (WebCore::SVGRenderStyle::lightingColor):
702         * svg/SVGLength.cpp:
703         (WebCore::SVGLength::value):
704         (WebCore::SVGLength::setValue):
705         (WebCore::SVGLength::convertValueFromUserUnits):
706         (WebCore::SVGLength::convertValueToUserUnits):
707             New conversion functions used when setting and getting values
708         * svg/SVGLength.h:
709         (WebCore::SVGLength::isZero):
710         (WebCore::SVGLength::blend):
711             Custom blend function that takes into account
712             whether the units of a length can be converted
713             in an animation, where you don't necessarily have
714             an SVGElement for context.
715
716 2011-08-25  Kent Tamura  <tkent@chromium.org>
717
718         REGRESSION(r90971): Fix an assertion failure with textarea placeholder.
719         https://bugs.webkit.org/show_bug.cgi?id=66164
720
721         Reviewed by Dave Hyatt.
722          
723         Minor patch nits addressed by inferno@chromium.org, on Hyatt's
724         review.
725
726         Test: fast/forms/textarea-placeholder-relayout-assertion.html
727
728         * rendering/RenderTextControl.cpp:
729         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
730         Pass 'false' to the 'markParents' argument of setChildNeedsLayout().
731         We don't need to propagate needsLayout for ancestors because
732         layoutSpecialExcludedChild() is called from layout() of the
733         parent.
734
735 2011-08-25  Igor Oliveira  <igor.oliveira@openbossa.org>
736
737         Text-overflow is broken for button elements
738         https://bugs.webkit.org/show_bug.cgi?id=53438
739
740         Fix text-overflow for button elements. Make the element inside
741         the button inherit the button controlClip.
742
743         Reviewed by David Hyatt.
744
745         Test: fast/css/button-overflow-ellipsis.html
746
747         * rendering/RenderBlockLineLayout.cpp:
748         (WebCore::RenderBlock::layoutInlineChildren):
749         * rendering/RenderBox.cpp:
750         (WebCore::RenderBox::controlClipRect):
751         * rendering/RenderBox.h:
752         (WebCore::RenderBox::hasControlClip):
753         * rendering/RenderButton.cpp:
754         (WebCore::RenderButton::setupInnerStyle):
755
756 2011-08-24  Adrienne Walker  <enne@google.com>
757
758         [chromium] Update VideoLayerChromium to not access GC3D on the main thread
759         https://bugs.webkit.org/show_bug.cgi?id=66434
760
761         Reviewed by James Robinson.
762
763         Covered by existing tests.
764
765         This change allows the main thread VideoLayerChromium to not depend on
766         compositor thread resources (GC3D, LayerRendererChromium). The texture
767         allocation in VideoLayerChromium was changed to use ManagedTexture so
768         that textures can now be evicted when there is texture memory pressure
769         and so that destruction can be automatically deferred until a GC3D is
770         available.
771
772         * platform/graphics/chromium/LayerRendererChromium.cpp:
773         * platform/graphics/chromium/LayerRendererChromium.h:
774         * platform/graphics/chromium/ManagedTexture.cpp:
775         * platform/graphics/chromium/ManagedTexture.h:
776         (WebCore::ManagedTexture::size):
777         (WebCore::ManagedTexture::format):
778         * platform/graphics/chromium/VideoLayerChromium.cpp:
779         (WebCore::VideoLayerChromium::VideoLayerChromium):
780         (WebCore::VideoLayerChromium::~VideoLayerChromium):
781         (WebCore::VideoLayerChromium::cleanupResources):
782         (WebCore::VideoLayerChromium::updateCompositorResources):
783         (WebCore::VideoLayerChromium::pushPropertiesTo):
784         (WebCore::VideoLayerChromium::setLayerTreeHost):
785         (WebCore::VideoLayerChromium::determineTextureFormat):
786         (WebCore::VideoLayerChromium::reserveTextures):
787         (WebCore::VideoLayerChromium::updateTexture):
788         (WebCore::VideoLayerChromium::releaseCurrentFrame):
789         * platform/graphics/chromium/VideoLayerChromium.h:
790         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
791         (WebCore::CCLayerTreeHost::contentsTextureManager):
792         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
793         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
794         (WebCore::CCVideoLayerImpl::setTexture):
795         (WebCore::CCVideoLayerImpl::drawYUV):
796         (WebCore::CCVideoLayerImpl::drawRGBA):
797         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
798
799 2011-08-25  Abhishek Arya  <inferno@chromium.org>
800
801         Incorrect layout of :before and :after content, with display
802         table, table-row and table-cell.
803         https://bugs.webkit.org/show_bug.cgi?id=66699
804
805         Reviewed by David Hyatt.
806
807         Tests: fast/table/table-after-child-in-table.html
808                fast/table/table-before-child-in-table.html
809                fast/table/table-cell-after-child-in-block.html
810                fast/table/table-cell-after-child-in-table.html
811                fast/table/table-cell-before-child-in-block.html
812                fast/table/table-cell-before-child-in-table.html
813                fast/table/table-row-after-child-in-block.html
814                fast/table/table-row-after-child-in-table.html
815                fast/table/table-row-before-child-in-block.html
816                fast/table/table-row-before-child-in-table.html
817
818         * rendering/RenderBlock.cpp:
819         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
820         Fix the looping condition to detect :after child correctly.
821         isAnonymousBlock() does not apply to tables, instead
822         using isAnonymous().
823         * rendering/RenderTableRow.cpp:
824         (WebCore::RenderTableRow::addChild): Don't add the new child
825         in the generatedContainer with :before, :after content.
826         * rendering/RenderTableSection.cpp:
827         (WebCore::RenderTableSection::addChild): Don't add the new child
828         in the generatedContainer with :before, :after content.
829
830 2011-08-25  Sam Weinig  <sam@webkit.org>
831
832         JSHTMLImageElement (and associated Node) is abandoned when image load is canceled via beforeload
833         <rdar://problem/9925630>
834         https://bugs.webkit.org/show_bug.cgi?id=66906
835
836         Reviewed by Darin Adler.
837
838         * loader/ImageLoader.cpp:
839         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
840         Very similar fix to the one in r93717 except this patches the case where the image load was
841         canceled via beforeload.
842
843 2011-08-25  John Bates  <jbates@google.com>
844
845         [chromium] Leaking SkBitmaps for background images
846         https://bugs.webkit.org/show_bug.cgi?id=66488
847
848         Reviewed by Stephen White.
849
850         This patch simply changes NativeImageSkia to have a SkBitmap instead of
851         deriving from SkBitmap. All dependent code updated to access the member
852         instead of calling SkBitmap methods on NativeImageSkia objects. This
853         may or may not fix the memory leak, but it's definitely a bug that could
854         cause memory leaks.
855
856         * platform/chromium/DragImageChromiumSkia.cpp:
857         (WebCore::createDragImageFromImage):
858         * platform/graphics/chromium/PlatformImage.cpp:
859         (WebCore::PlatformImage::updateFromImage):
860         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
861         (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
862         (WebCore::BitmapImageSingleFrameSkia::size):
863         (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
864         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
865         (WebCore::GraphicsContext3D::getImageData):
866         * platform/graphics/skia/ImageSkia.cpp:
867         (WebCore::paintSkBitmap):
868         (WebCore::Image::drawPattern):
869         (WebCore::BitmapImage::checkForSolidColor):
870         * platform/graphics/skia/NativeImageSkia.cpp:
871         (WebCore::NativeImageSkia::NativeImageSkia):
872         (WebCore::NativeImageSkia::decodedSize):
873         (WebCore::NativeImageSkia::resizedBitmap):
874         * platform/graphics/skia/NativeImageSkia.h:
875         (WebCore::NativeImageSkia::bitmap):
876         * platform/graphics/skia/PatternSkia.cpp:
877         (WebCore::Pattern::platformPattern):
878         * platform/image-decoders/ImageDecoder.h:
879         (WebCore::ImageFrame::getAddr):
880         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
881         (WebCore::ImageFrame::operator=):
882         (WebCore::ImageFrame::clearPixelData):
883         (WebCore::ImageFrame::zeroFillPixelData):
884         (WebCore::ImageFrame::copyBitmapData):
885         (WebCore::ImageFrame::setSize):
886         (WebCore::ImageFrame::hasAlpha):
887         (WebCore::ImageFrame::setHasAlpha):
888         (WebCore::ImageFrame::width):
889         (WebCore::ImageFrame::height):
890
891 2011-08-25  Sheriff Bot  <webkit.review.bot@gmail.com>
892
893         Unreviewed, rolling out r93774.
894         http://trac.webkit.org/changeset/93774
895         https://bugs.webkit.org/show_bug.cgi?id=66945
896
897         It broke 26 tests on the Qt bot (Requested by ossy on
898         #webkit).
899
900         * html/canvas/CanvasRenderingContext2D.cpp:
901         (WebCore::CanvasRenderingContext2D::stroke):
902         * platform/graphics/qt/PathQt.cpp:
903         (WebCore::Path::boundingRect):
904
905 2011-08-25  Andrey Kosyakov  <caseq@chromium.org>
906
907         Web Inspector: [refactoring] use PopoverHelper to implement popup in the SourceFrame
908         https://bugs.webkit.org/show_bug.cgi?id=66858
909
910         Reviewed by Pavel Feldman.
911
912         * inspector/front-end/DetailedHeapshotView.js:
913         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopover):
914         * inspector/front-end/NetworkPanel.js:
915         (WebInspector.NetworkLogView.prototype.initializeView):
916         (WebInspector.NetworkLogView.prototype.willHide):
917         (WebInspector.NetworkLogView.prototype._reset):
918         (WebInspector.NetworkLogView.prototype.switchToBriefView):
919         (WebInspector.NetworkLogView.prototype._showPopover):
920         * inspector/front-end/Popover.js:
921         (WebInspector.Popover):
922         (WebInspector.Popover.prototype.show):
923         (WebInspector.Popover.prototype.dispose):
924         (WebInspector.PopoverHelper):
925         (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
926         (WebInspector.PopoverHelper.prototype._mouseMove):
927         (WebInspector.PopoverHelper.prototype.hidePopover):
928         (WebInspector.PopoverHelper.prototype._hidePopover):
929         (WebInspector.PopoverHelper.prototype._mouseHover):
930         (WebInspector.PopoverHelper.prototype._killHidePopupTimer):
931         * inspector/front-end/SourceFrame.js:
932         (WebInspector.SourceFrame.prototype.willHide):
933         (WebInspector.SourceFrame.prototype._initializeTextViewer):
934         (WebInspector.SourceFrame.prototype._scroll):
935         (WebInspector.SourceFrame.prototype._mouseDown):
936         (WebInspector.SourceFrame.prototype._onHidePopover):
937         (WebInspector.SourceFrame.prototype._shouldShowPopover):
938         (WebInspector.SourceFrame.prototype._getPopoverAnchor):
939         (WebInspector.SourceFrame.prototype._highlightExpression):
940         (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
941         (WebInspector.SourceFrame.prototype._onShowPopover):
942         * inspector/front-end/TimelinePanel.js:
943         (WebInspector.TimelinePanel):
944         (WebInspector.TimelinePanel.prototype._showPopover):
945         (WebInspector.TimelinePanel.prototype._closeRecordDetails):
946
947 2011-08-25  Pavel Feldman  <pfeldman@google.com>
948
949         [Qt] REGRESSION(93769): inspector/console/console-tests.html fails
950         https://bugs.webkit.org/show_bug.cgi?id=66930
951
952         Reviewed by Yury Semikhatsky.
953
954         Test: inspector/console/console-repeat-count.html
955
956         * inspector/front-end/ConsoleModel.js:
957         (WebInspector.ConsoleModel):
958         (WebInspector.ConsoleModel.prototype.addMessage):
959         (WebInspector.ConsoleModel.prototype.clearMessages):
960         (WebInspector.ConsoleModel.prototype.interruptRepeatCount):
961         (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
962         (WebInspector.ConsoleDispatcher.prototype.messageRepeatCountUpdated):
963         * inspector/front-end/ConsoleView.js:
964         (WebInspector.ConsoleView.prototype._consoleMessageAdded):
965         * inspector/front-end/inspector.js:
966
967 2011-08-25  Mikhail Naganov  <mnaganov@chromium.org>
968
969         Chromium: expose MemoryCache::prune and FontCache::purgeInactiveFontData.
970         https://bugs.webkit.org/show_bug.cgi?id=66132
971
972         Reviewed by Tony Gentilcore.
973
974         * loader/cache/MemoryCache.cpp:
975         (WebCore::MemoryCache::prune):
976         (WebCore::MemoryCache::pruneToPercentage):
977         * loader/cache/MemoryCache.h: Methods moved from .h to .cpp to work around compilation problem with the Win Chromium port.
978
979 2011-08-25  Sheriff Bot  <webkit.review.bot@gmail.com>
980
981         Unreviewed, rolling out r93771.
982         http://trac.webkit.org/changeset/93771
983         https://bugs.webkit.org/show_bug.cgi?id=66933
984
985         Broke css3/font-feature-settings-rendering.html on chromium
986         mac 10.5 (Requested by podivilov on #webkit).
987
988         * platform/graphics/mac/FontCustomPlatformData.cpp:
989         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
990         (WebCore::createFontCustomPlatformData):
991         * platform/graphics/mac/FontCustomPlatformData.h:
992         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
993
994 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
995
996         [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore.
997         https://bugs.webkit.org/show_bug.cgi?id=66771
998
999         Reviewed by Tor Arne Vestbø.
1000
1001         We need the tiling logic to be moved to the web process to allow invalidated tile rects to be
1002         rendered with the same layout. This also allows the web process to render tiles into
1003         buffers readable directly by the GPU (on supported platforms). We also take the opportunity
1004         to use the TiledBackingStore in WebCore to have only one tiling implementation.
1005
1006         Before this patch:
1007         - TiledDrawingAreaProxy manages tiles from the UI process.
1008         - TiledDrawingArea received rendering requests for a rect and returns the result
1009           to the proxy through shared memory.
1010
1011         After this patch:
1012         - TiledDrawingArea uses a TiledBackingStore to manage tiles from the web process.
1013         - TiledBackingStoreRemoteTile forwards tile creations, update and removals to the proxy.
1014         - TiledDrawingAreaProxy updates the scene graph directly from requests.
1015
1016         It also implements tile buffer swapping correctly in SGTileNode, triggered by the DidRenderFrame message.
1017         Render throttling is implemented by waiting in TiledDrawingArea for the UI process to
1018         notify us when the last rendered frame is ready to make it to the screen.
1019         TiledDrawingAreaTileSets have been replaced by using two instances of TiledBackingStore instead.
1020
1021         * platform/graphics/TiledBackingStore.cpp:
1022         (WebCore::TiledBackingStore::updateTileBuffers):
1023         (WebCore::TiledBackingStore::coverageRatio):
1024         (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
1025         * platform/graphics/TiledBackingStore.h:
1026         * platform/graphics/TiledBackingStoreClient.h:
1027         (WebCore::TiledBackingStoreClient::tiledBackingStoreIsUpdatingAllowed):
1028
1029 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1030
1031         TiledBackingStore: Untie the tile implementation from the platform.
1032         https://bugs.webkit.org/show_bug.cgi?id=66760
1033
1034         Reviewed by Kenneth Rohde Christiansen.
1035
1036         Make the Tile class polymorphic and introduce TiledBackingStoreBackend as a Tile factory.
1037
1038         * platform/graphics/Tile.h:
1039         (WebCore::Tile::~Tile):
1040         * platform/graphics/TiledBackingStore.cpp:
1041         (WebCore::TiledBackingStore::TiledBackingStore):
1042         (WebCore::TiledBackingStore::paint):
1043         (WebCore::TiledBackingStore::createTiles):
1044         * platform/graphics/TiledBackingStore.h:
1045         (WebCore::TiledBackingStore::client):
1046         * platform/graphics/TiledBackingStoreBackend.h: Added.
1047         (WebCore::TiledBackingStoreBackend::create):
1048         (WebCore::TiledBackingStoreBackend::~TiledBackingStoreBackend):
1049         (WebCore::TiledBackingStoreBackend::TiledBackingStoreBackend):
1050         * platform/graphics/qt/TileQt.cpp:
1051         (WebCore::TileQt::TileQt):
1052         (WebCore::TileQt::~TileQt):
1053         (WebCore::TileQt::isDirty):
1054         (WebCore::TileQt::isReadyToPaint):
1055         (WebCore::TileQt::invalidate):
1056         (WebCore::TileQt::updateBackBuffer):
1057         (WebCore::TileQt::swapBackBufferToFront):
1058         (WebCore::TileQt::paint):
1059         (WebCore::TiledBackingStoreBackend::paintCheckerPattern):
1060         (WebCore::TiledBackingStoreBackend::createTile):
1061         * platform/graphics/qt/TileQt.h: Copied from Source/WebCore/platform/graphics/Tile.h.
1062         (WebCore::TileQt::create):
1063         (WebCore::TileQt::coordinate):
1064         (WebCore::TileQt::rect):
1065
1066 2011-08-25  Andreas Kling  <kling@webkit.org>
1067
1068         [Qt] Path::boundingRect() is unnecessarily slow.
1069         https://bugs.webkit.org/show_bug.cgi?id=66854
1070
1071         Reviewed by Benjamin Poulain.
1072
1073         * html/canvas/CanvasRenderingContext2D.cpp:
1074         (WebCore::CanvasRenderingContext2D::stroke): Remove Qt-specific optimization
1075         since calling Path::boundingRect() will now do exactly the same thing.
1076         * platform/graphics/qt/PathQt.cpp:
1077         (WebCore::Path::boundingRect): Return QPainterPath::controlPointRect() since
1078         that is much faster than computing the (precise) QPainterPath::boundingRect()
1079         and Path::boundingRect() is not expected to be 100% precise anyway.
1080
1081 2011-08-25  Yuta Kitamura  <yutak@chromium.org>
1082
1083         WebSocket: Queue messages to be sent
1084         https://bugs.webkit.org/show_bug.cgi?id=66298
1085
1086         Reviewed by Kent Tamura.
1087
1088         Blobs must be read asynchronously and thus cannot be sent immediately. Therefore, we need to
1089         create a queue of messages to be sent in order to handle pending requests.
1090
1091         No new tests. Strictly speaking, there is a small change in behavior but it is hard to
1092         reproduce in tests. See description of WebSocketChannel::send below.
1093
1094         * websockets/WebSocketChannel.cpp:
1095         (WebCore::WebSocketChannel::WebSocketChannel):
1096         (WebCore::WebSocketChannel::send):
1097         Now, this function always returns true if hybi-10 protocol is selected. The impact of this change
1098         should be minimum, because the current WebSocket API defines the return type of WebSocket.send()
1099         is void (see also bug 65850).
1100         It's hard to make SocketStreamHandle::send() fail deliberately, therefore it's difficult to write
1101         a test to detect this behavior change.
1102         (WebCore::WebSocketChannel::didCloseSocketStream):
1103         (WebCore::WebSocketChannel::startClosingHandshake):
1104         (WebCore::WebSocketChannel::processFrame):
1105         (WebCore::WebSocketChannel::enqueueTextFrame):
1106         (WebCore::WebSocketChannel::enqueueRawFrame):
1107         (WebCore::WebSocketChannel::processOutgoingFrameQueue):
1108         (WebCore::WebSocketChannel::abortOutgoingFrameQueue):
1109         * websockets/WebSocketChannel.h:
1110
1111 2011-08-24  Alexander Pavlov  <apavlov@chromium.org>
1112
1113         Web Inspector: Directional arrow on element info box looks terrible
1114         https://bugs.webkit.org/show_bug.cgi?id=66819
1115
1116         Beautify the tooltip arrow, give it a better alignment in some edge cases,
1117         and fix the tooltip font on Macs.
1118
1119         Reviewed by Pavel Feldman.
1120
1121         * inspector/DOMNodeHighlighter.cpp:
1122
1123 2011-08-25  Jeremy Moskovich  <jeremy@chromium.org>
1124
1125         Remove ATSFont*() functions in favor of CGFont in FontCustomPlatformData.cpp
1126         https://bugs.webkit.org/show_bug.cgi?id=66629
1127
1128         As of r72774 and dropping support for OS X 10.4, we can safely
1129         remove the ATS APIs from FontCustomPlatformData.cpp in favor of just the
1130         CGFont code.
1131
1132         This change is motivated by a bug in ATSFontDeactivite() on 10.7 which
1133         affects the Chromium port, due to its compiling once against the 10.5
1134         SDK for all platforms - See crbug.com/93191 or rdar://9976774 .
1135
1136         Reviewed by Dan Bernstein.
1137
1138         No new tests - covered by existing tests.
1139
1140         * platform/graphics/mac/FontCustomPlatformData.cpp:
1141         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1142         (WebCore::createFontCustomPlatformData):
1143         * platform/graphics/mac/FontCustomPlatformData.h:
1144         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1145
1146 2011-08-25  Pavel Feldman  <pfeldman@google.com>
1147
1148         Not reviewed: rollout r93768 for breaking build.
1149
1150         * inspector/DOMNodeHighlighter.cpp:
1151
1152 2011-08-24  Pavel Feldman  <pfeldman@google.com>
1153
1154         Web Inspector: split ConsoleView into the View and the Model.
1155         https://bugs.webkit.org/show_bug.cgi?id=66861
1156
1157         Reviewed by Yury Semikhatsky.
1158
1159         * WebCore.gypi:
1160         * WebCore.vcproj/WebCore.vcproj:
1161         * inspector/compile-front-end.sh:
1162         * inspector/front-end/BreakpointManager.js:
1163         * inspector/front-end/ConsoleMessage.js:
1164         (WebInspector.ConsoleMessage.prototype._format):
1165         * inspector/front-end/ConsoleModel.js: Added.
1166         (WebInspector.ConsoleModel):
1167         (WebInspector.ConsoleModel.prototype._setConsoleMessageExpiredCount):
1168         (WebInspector.ConsoleModel.prototype.addMessage):
1169         (WebInspector.ConsoleModel.prototype._incrementErrorWarningCount):
1170         (WebInspector.ConsoleModel.prototype.requestClearMessages):
1171         (WebInspector.ConsoleModel.prototype.clearMessages):
1172         (WebInspector.ConsoleDispatcher):
1173         (WebInspector.ConsoleDispatcher.prototype.messageAdded):
1174         (WebInspector.ConsoleDispatcher.prototype.messageRepeatCountUpdated):
1175         * inspector/front-end/ConsolePanel.js:
1176         (WebInspector.ConsolePanel):
1177         (WebInspector.ConsolePanel.prototype.performSearch):
1178         * inspector/front-end/ConsoleView.js:
1179         (WebInspector.ConsoleView):
1180         (WebInspector.ConsoleView.prototype._consoleMessageAdded):
1181         (WebInspector.ConsoleView.prototype._appendConsoleCommand):
1182         (WebInspector.ConsoleView.prototype._appendConsoleCommandResult):
1183         (WebInspector.ConsoleView.prototype._appendConsoleMessage):
1184         (WebInspector.ConsoleView.prototype._consoleCleared):
1185         (WebInspector.ConsoleView.prototype._registerShortcuts):
1186         (WebInspector.ConsoleView.prototype._requestClearMessages):
1187         * inspector/front-end/DebuggerModel.js:
1188         * inspector/front-end/DebuggerPresentationModel.js:
1189         (WebInspector.DebuggerPresentationModel):
1190         (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
1191         (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
1192         * inspector/front-end/NetworkLog.js: Copied from Source/WebCore/inspector/front-end/externs.js.
1193         (WebInspector.NetworkLog):
1194         (WebInspector.NetworkLog.prototype.get resources):
1195         (WebInspector.NetworkLog.prototype._frameNavigated):
1196         (WebInspector.NetworkLog.prototype._onResourceStarted):
1197         * inspector/front-end/NetworkManager.js:
1198         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
1199         (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
1200         * inspector/front-end/Resource.js:
1201         (WebInspector.Resource.prototype.set finished):
1202         * inspector/front-end/ResourceTreeModel.js:
1203         (WebInspector.ResourceTreeModel):
1204         * inspector/front-end/SourceFile.js:
1205         (WebInspector.RawSourceCode.prototype._scriptForRawLocation):
1206         (WebInspector.ScriptContentProvider.prototype.requestContent):
1207         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
1208         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
1209         * inspector/front-end/UISourceCode.js:
1210         (WebInspector.ContentProvider):
1211         (WebInspector.ContentProvider.prototype.requestContent):
1212         * inspector/front-end/WatchExpressionsSidebarPane.js:
1213         (WebInspector.WatchExpressionsSection.prototype.update):
1214         * inspector/front-end/WebKit.qrc:
1215         * inspector/front-end/externs.js:
1216         (WebInspector.linkifyURLAsNode):
1217         (WebInspector.formatLinkText):
1218         * inspector/front-end/inspector.html:
1219         * inspector/front-end/inspector.js:
1220         (WebInspector._createGlobalStatusBarItems):
1221         (WebInspector._updateErrorAndWarningCounts):
1222         (WebInspector.showConsole):
1223
1224 2011-08-24  Alexander Pavlov  <apavlov@chromium.org>
1225
1226         Web Inspector: Directional arrow on element info box looks terrible
1227         https://bugs.webkit.org/show_bug.cgi?id=66819
1228
1229         Beautify the tooltip arrow, give it a better alignment in some edge cases,
1230         and fix the tooltip font on Macs.
1231
1232         Reviewed by Pavel Feldman.
1233
1234         * inspector/DOMNodeHighlighter.cpp:
1235
1236 2011-08-25  Yuta Kitamura  <yutak@chromium.org>
1237
1238         Let MessageEvent.data hold SerializedScriptValue or String selectively
1239         https://bugs.webkit.org/show_bug.cgi?id=66841
1240
1241         Reviewed by Adam Barth.
1242
1243         MessageEvent from WebSocket contains a String in its "data" attribute, but it does not have
1244         to be serialized.
1245
1246         No new tests are added, because this is refactoring and the behavior should not change.
1247
1248         * bindings/js/JSMessageEventCustom.cpp:
1249         (WebCore::JSMessageEvent::data):
1250         To call putAnonymousValue(), "this" needs to be converted to non-const using const_cast<>.
1251         (WebCore::JSMessageEvent::initMessageEvent):
1252         Update the cache value as well.
1253         * bindings/v8/custom/V8MessageEventCustom.cpp:
1254         (WebCore::V8MessageEvent::dataAccessorGetter):
1255         ForceSet() is used to cache a value. This is the same as what the code generated by
1256         CodeGeneratorV8 does.
1257         (WebCore::V8MessageEvent::initMessageEventCallback):
1258         * dom/MessageEvent.cpp:
1259         (WebCore::MessageEvent::MessageEvent):
1260         (WebCore::MessageEvent::initMessageEvent):
1261         (WebCore::MessageEvent::data):
1262         This is only used within the Objective-C bindings (JSC and V8 have the custom functions).
1263         Since Objective-C code generator does not support [CustomGetter] IDL attribute, there is
1264         no good way to return a variant value for Objective-C bindings.
1265         * dom/MessageEvent.h:
1266         (WebCore::MessageEvent::create):
1267         (WebCore::MessageEvent::dataType):
1268         (WebCore::MessageEvent::dataAsSerializedScriptValue):
1269         (WebCore::MessageEvent::dataAsString):
1270         * dom/MessageEvent.idl:
1271         * websockets/WebSocket.cpp:
1272         (WebCore::WebSocket::didReceiveMessage):
1273         Construct a MessageEvent without serializing the received message.
1274
1275 2011-08-25  MORITA Hajime  <morrita@google.com>
1276
1277         Unreviewed, rolling out r93762.
1278         http://trac.webkit.org/changeset/93762
1279         https://bugs.webkit.org/show_bug.cgi?id=66756
1280
1281         IndexedDb tests crash
1282
1283         * WebCore.gypi:
1284         * WebCore.pro:
1285         * bindings/generic/EventConstructors.h: Removed.
1286         * bindings/v8/OptionsObject.cpp:
1287         * bindings/v8/OptionsObject.h:
1288         * bindings/v8/custom/V8EventConstructors.cpp: Removed.
1289         * dom/Event.cpp:
1290         * dom/Event.h:
1291         (WebCore::Event::create):
1292         * dom/Event.idl:
1293
1294 2011-08-24  Kentaro Hara  <haraken@google.com>
1295
1296         Implement an Event constructor.
1297         https://bugs.webkit.org/show_bug.cgi?id=66756
1298
1299         Reviewed by Adam Barth.
1300
1301         The spec of the Event constructor is here:
1302         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-event-constructor.
1303         This patch added the Event constructor to EventConstructors.h using
1304         JavaScript implementation-independent macros. This patch also added the V8
1305         implementation of these macros to V8EventConstructors.cpp.
1306
1307         The bug 63878 has been implementing the Event constructors for JSC.
1308         Our plan is to first implement all the Event constructors for V8
1309         using EventConstructors.h proposed in the JSC patch, and then merge
1310         the JSC patch with these V8 patches. In any case, we are going to split
1311         the patches for V8 and those for JSC in order to avoid hard regression.
1312
1313         Test: fast/events/event-constructors.html
1314
1315         * WebCore.gypi: Added V8EventConstructors.cpp.
1316         * WebCore.pro: Added V8EventConstructors.cpp.
1317         * bindings/generic/EventConstructors.h: Added. The Event constructor. This is written using JavaScript implementation-independent macros. The V8 implementation of these macros is written in bindings/v8/custom/V8EventConstructors.cpp.
1318         * bindings/v8/OptionsObject.cpp:
1319         (WebCore::OptionsObject::getKeyDouble): Returns the value of a given key of type double.
1320         (WebCore::OptionsObject::getKey): Returns true whenever the given key is found, even if the value is null or undefined.
1321         * bindings/v8/OptionsObject.h:
1322         (WebCore::OptionsObject::getKeyValue): Returns the value of the given key. We need to overload getKeyValue() for all types required to EventConfiguration members.
1323         * bindings/v8/custom/V8EventConstructors.cpp: Added. Implemented macros used in EventConstructors.h.
1324         (WebCore::constructV8Event): The Event constructor.
1325         * dom/Event.cpp:
1326         (WebCore::EventConfiguration::EventConfiguration): A constructor of EventConfiguration.
1327         (WebCore::Event::Event): A constructor of the Event class.
1328         * dom/Event.h: Added EventConfiguration, which manages attributes of the Event class.
1329         (WebCore::Event::create): A factory method of the Event class with EventConfiguration.
1330         * dom/Event.idl: Added 'CanBeConstructed' and 'V8CustomConstructor'.
1331
1332 2011-08-24  Philippe Normand  <pnormand@igalia.com>
1333
1334         [GTK] bump GStreamer requirement to 0.10.30
1335         https://bugs.webkit.org/show_bug.cgi?id=66860
1336
1337         Reviewed by Martin Robinson.
1338
1339         Use fast element linking by default.
1340
1341         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1342         (WebCore::GStreamerGWorld::enterFullscreen):
1343         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1344         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1345
1346 2011-08-24  James Robinson  <jamesr@chromium.org>
1347
1348         Some layerTreeAsText compositing tests are flaky
1349         https://bugs.webkit.org/show_bug.cgi?id=66913
1350
1351         Reviewed by Simon Fraser.
1352
1353         Remove compositingLayerUpdatePending() and unconditionally update compositing layers when
1354         RenderLayerCompositor::layerTreeAsText().  compositingLayerUpdatePending() was only used by test code and is
1355         unreliable.
1356
1357         Covered by compositing/ layerTreeAsText tests.
1358
1359         * rendering/RenderLayerCompositor.cpp:
1360         (WebCore::RenderLayerCompositor::layerTreeAsText):
1361         * rendering/RenderLayerCompositor.h:
1362
1363 2011-08-24  Kentaro Hara  <haraken@google.com>
1364
1365         Implement a keypath parser strictly following the specification
1366         https://bugs.webkit.org/show_bug.cgi?id=62288
1367
1368         Reviewed by Tony Chang.
1369
1370         Implemented a keypath parser that accepts either an empty string, a JavaScript
1371         identifier, or multiple JavaScript identifiers separated by periods.
1372         We fixed createObjectStore() and createIndex() so that they parse and check
1373         their |keypath| argument and return an appropriate exception if the |keypath|
1374         is not valid. We also added unit tests for the new keypath parser in keypath-basics.html.
1375
1376         Tests: storage/indexeddb/keypath-fetch-key.html
1377                storage/indexeddb/keypath-basics.html
1378
1379         * bindings/v8/IDBBindingUtilities.cpp:
1380         (WebCore::createIDBKeyFromSerializedValueAndKeyPath): Replaced IDBKeyPathElement with String
1381         (WebCore::injectIDBKeyIntoSerializedValue): Replaced IDBKeyPathElement with String
1382         * bindings/v8/IDBBindingUtilities.h:
1383         * bindings/v8/OptionsObject.cpp:
1384         (WebCore::OptionsObject::getKeyStringWithUndefinedOrNullCheck): Returns false when a given value is null or undefined
1385         (WebCore::OptionsObject::getKey): Removed undefined check
1386         * storage/IDBDatabase.cpp:
1387         (WebCore::IDBDatabase::createObjectStore): Checks if a |keypath| argument is valid, and returns a NON_TRANSIENT_ERR if it is not valid
1388         * storage/IDBDatabaseBackendImpl.cpp:
1389         (WebCore::IDBDatabaseBackendImpl::createObjectStore): Removed null check of a keypath
1390         * storage/IDBKeyPath.cpp:
1391         (WebCore::IDBKeyPathLexer::currentElement): Part of the keypath parser
1392         (WebCore::IDBKeyPathLexer::lex): Part of the keypath parser
1393         (WebCore::IDBKeyPathLexer::lexIdentifier): Part of the keypath parser
1394         (WebCore::IDBIsValidKeyPath): Checks if a keypath is valid
1395         (WebCore::IDBParseKeyPath): Part of the keypath parser
1396         * storage/IDBKeyPath.h: Replaced IDBKeyPathElement with String
1397         * storage/IDBObjectStore.cpp:
1398         (WebCore::IDBObjectStore::createIndex): Checks if a |keypath| argument is valid, and returns a NON_TRANSIENT_ERR if it is not valid
1399         * storage/IDBObjectStore.idl:
1400
1401 2011-08-24  Eric Uhrhane  <ericu@chromium.org>
1402
1403         Reviewed by Adam Barth.
1404
1405         [filesystem/Chromium] Filesystem paths need proper URL escaping
1406         https://bugs.webkit.org/show_bug.cgi?id=62811
1407
1408         Fix http://code.google.com/p/chromium/issues/detail?id=78860 by making
1409         KURLChromium.cpp's escaping code actually work.
1410
1411         Make encodeWithURLEscapeSequences call into googleurl to do proper
1412         escaping.  Tested in WebKit/chromium/tests/KURLTest.cpp.
1413         * platform/KURLGoogle.cpp:
1414         (WebCore::encodeWithURLEscapeSequences):
1415
1416 2011-08-24  Chris Palmer  <palmer@google.com>
1417
1418         Resolve potential integer overflow in memory allocation, and ensure
1419         that allocation succeeds.
1420
1421         Reviewed by Kenneth Russell.
1422
1423         * platform/audio/AudioArray.h:
1424         (WebCore::AudioArray::allocate): Check for integer overflow.
1425         (WebCore::AudioArray::at): Document the safety assertion.
1426         (WebCore::AudioArray::zero): Document the safety assertion.
1427         (WebCore::AudioArray::zeroRange): Document the safety assertion.
1428         (WebCore::AudioArray::copyToRange): Document the safety assertion.
1429
1430 2011-08-24  Raphael Kubo da Costa  <kubo@profusion.mobi>
1431
1432         [EFL] Fix build with ENABLE_GEOLOCATION.
1433         https://bugs.webkit.org/show_bug.cgi?id=66881
1434
1435         Use adoptPtr() to create a new GeolocationService instance, otherwise
1436         the build will fail when creating the PassOwnPtr object.
1437
1438         * platform/efl/GeolocationServiceEfl.cpp:
1439         (WebCore::GeolocationServiceEfl::create):
1440
1441 2011-08-24  Raphael Kubo da Costa  <kubo@profusion.mobi>
1442
1443         [CMake] Fix build with ENABLE_BLOB or ENABLE_FILE_SYSTEM.
1444         https://bugs.webkit.org/show_bug.cgi?id=66880
1445
1446         Generate and build some additional files required by these options.
1447
1448         No new tests, as this is a build fix for some build options.
1449
1450         * CMakeLists.txt:
1451
1452 2011-08-24  Iain Merrick  <husky@google.com>
1453
1454         [chromium] Don't call glDeleteTexture(0) in TextureManager
1455         https://bugs.webkit.org/show_bug.cgi?id=66862
1456
1457         Delete(0) is allowed in standard OpenGL, but not in Chrome.
1458         See http://code.google.com/p/chromium/issues/detail?id=85268
1459
1460         Reviewed by James Robinson.
1461
1462         * platform/graphics/chromium/TextureManager.cpp:
1463         (WebCore::TextureManager::deleteEvictedTextures):
1464
1465 2011-08-24  Adrienne Walker  <enne@google.com>
1466
1467         [chromium] Properly initialize CCTiledLayerImpl::m_skipsDraw
1468         https://bugs.webkit.org/show_bug.cgi?id=66889
1469
1470         Reviewed by James Robinson.
1471
1472         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1473         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
1474
1475 2011-08-24  Tom Sepez  <tsepez@chromium.org>
1476
1477         chromium WebFrameImpl - don't load javascript URLs against chrome internal
1478         pages.  Adds a mechanism for registering sensitive schemes which should 
1479         not be subject to manipulation by javascript urls typed into a location bar
1480         or, more importantly, their bookmarklet equivalents.
1481         https://bugs.webkit.org/show_bug.cgi?id=66720
1482
1483         Reviewed by Adam Barth.
1484
1485         Test: Chromium WebKit API unit test in chromium specific directory.
1486         
1487         * platform/SchemeRegistry.cpp:
1488         (WebCore::notAllowingJavascriptURLsSchemes):
1489         (WebCore::SchemeRegistry::registerURLSchemeAsNotAllowingJavascriptURLs):
1490         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNotAllowingJavascriptURLs):
1491         * platform/SchemeRegistry.h:
1492
1493 2011-08-24  Alexandru Chiculita  <achicu@adobe.com>
1494
1495         [CSSRegions] Fix Element::getBoundingClientRect and Element::getClientRects for content flow
1496         https://bugs.webkit.org/show_bug.cgi?id=66641
1497
1498         Original author of the patch is Mihnea Ovidenie <mihnea@adobe.com>.
1499
1500         Redirected the mapLocalToContainer method to the appropriate RenderRegion.
1501
1502         Note: RenderObject::absoluteQuads method needs some refactor to support multiple regions,
1503         will do that in a separate bug.
1504
1505         Reviewed by David Hyatt.
1506
1507         Tests: fast/regions/flowed-content-bounding-client-rect-horizontal-bt.html
1508                fast/regions/flowed-content-bounding-client-rect-vertical-rl.html
1509                fast/regions/flowed-content-bounding-client-rect-vertical.html
1510                fast/regions/flowed-content-bounding-client-rect.html
1511                fast/regions/flowed-content-transform-bounding-client-rect.html
1512
1513         * rendering/RenderBox.cpp:
1514         (WebCore::RenderBox::mapLocalToContainer):
1515         * rendering/RenderFlowThread.cpp:
1516         (WebCore::RenderFlowThread::renderRegionForLine):
1517         (WebCore::RenderFlowThread::mapFromFlowToRegion):
1518         * rendering/RenderFlowThread.h:
1519
1520 2011-08-24  Alok Priyadarshi  <alokp@chromium.org>
1521
1522         [chromium] Root layer is not updated when only a portion of tile is updated
1523         https://bugs.webkit.org/show_bug.cgi?id=66506
1524
1525         This only happened in the accelerated path which changes stencil state.
1526         Incorrect stencil state was used to draw the root layer.
1527
1528         Reviewed by James Robinson.
1529
1530         Test: compositing/overflow/overflow-scroll.html (existing)
1531
1532         * platform/graphics/chromium/LayerRendererChromium.cpp:
1533         (WebCore::LayerRendererChromium::drawLayersInternal):
1534         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1535         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
1536
1537 2011-08-24  Nate Chapin  <japhet@chromium.org>
1538
1539         Fix an intermittent crash in EventSource, when a
1540         reconnect timer triggers after a navigation
1541         away from the current page begins.
1542         https://bugs.webkit.org/show_bug.cgi?id=45202
1543
1544         Reviewed by Alexey Proskuryakov.
1545
1546         Test: http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html
1547
1548         * page/EventSource.cpp:
1549         (WebCore::EventSource::connect): Don't set m_requestInFlight
1550             to true if ThreadableLoader::create() failed.
1551
1552 2011-08-24  Mike Reed  <reed@google.com>
1553
1554         Change clip routine to promote the clipbounds up to (local) floats and then perform the intersection,
1555         rather than rounding the srcRect down to integers.
1556         https://bugs.webkit.org/show_bug.cgi?id=66810
1557
1558         Reviewed by Kenneth Russell.
1559
1560         No new tests. Existing tests that resize images will exercise this code path
1561
1562         * platform/graphics/skia/SkiaUtils.cpp:
1563         (WebCore::ClipRectToCanvas):
1564
1565 2011-08-24  Alexandru Chiculita  <achicu@adobe.com>
1566
1567         [CSSRegions] RenderRegion is not used if there's another renderer after it
1568         https://bugs.webkit.org/show_bug.cgi?id=66844
1569
1570         There was no call to attachRegion in RenderObjectChildList::insertChildNode, so
1571         the region was not added to the RenderFlowThread.
1572
1573         Reviewed by David Hyatt.
1574
1575         Test: fast/regions/content-flowed-into-regions-dynamically-inserted.html
1576
1577         * rendering/RenderObjectChildList.cpp:
1578         (WebCore::RenderObjectChildList::insertChildNode):
1579
1580 2011-08-24  Sam Weinig  <sam@webkit.org>
1581
1582         JSHTMLImageElement (and associated Node) is abandoned when image load is canceled
1583         <rdar://problem/9925630>
1584         https://bugs.webkit.org/show_bug.cgi?id=66864
1585
1586         Reviewed by Anders Carlsson.
1587
1588         In the JSC bindings, we use HTMLImageElement::hasPendingActivity() (which in turn calls
1589         HTMLImageLoader::haveFiredLoadEvent()) to reason about the liveness of JSHTMLImageElements.
1590         In the case that an image load is canceled, the haveFiredLoadEvent never true, so the
1591         JSHTMLImageElement is kept alive forever (and since it references the global object, it
1592         keeps the entire graph alive as well).
1593
1594         * loader/ImageLoader.cpp:
1595         (WebCore::ImageLoader::notifyFinished):
1596         Set m_firedLoad to true in the case of a canceled load, to reset the state back to
1597         its initial values.
1598
1599 2011-08-24  Tommy Widenflycht  <tommyw@google.com>
1600
1601         MediaStream API: add createObjectURL functionality
1602         https://bugs.webkit.org/show_bug.cgi?id=65925
1603
1604         This patch introduces the functionality for generating the url associated with a MediaStream,
1605         which can then be assigned to the src attribute of the <video> tag for example.
1606
1607         Reviewed by Adam Barth.
1608
1609         * CMakeLists.txt:
1610         * GNUmakefile.list.am:
1611         * WebCore.gypi:
1612         * WebCore.pro:
1613         * WebCore.vcproj/WebCore.vcproj:
1614         * WebCore.xcodeproj/project.pbxproj:
1615         * dom/ScriptExecutionContext.cpp:
1616         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1617         (WebCore::ScriptExecutionContext::createPublicBlobURL):
1618         (WebCore::ScriptExecutionContext::revokePublicBlobURL):
1619         * dom/ScriptExecutionContext.h:
1620         * html/DOMURL.cpp:
1621         (WebCore::DOMURL::createObjectURL):
1622         * html/DOMURL.h:
1623         * html/DOMURL.idl:
1624         * platform/MediaStreamRegistry.cpp: Added.
1625         (WebCore::MediaStreamRegistry::registry):
1626         (WebCore::MediaStreamRegistry::registerMediaStreamURL):
1627         (WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
1628         (WebCore::MediaStreamRegistry::mediaStream):
1629         * platform/MediaStreamRegistry.h: Copied from Source/WebCore/html/DOMURL.h.
1630
1631         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
1632
1633 2011-08-23  David Levin  <levin@chromium.org>
1634
1635         MessageEvent.ports shouldn't ever be null.
1636         https://bugs.webkit.org/show_bug.cgi?id=66789
1637
1638         Reviewed by Darin Adler.
1639
1640         * bindings/js/JSMessageEventCustom.cpp:
1641         (WebCore::JSMessageEvent::ports): Never return null.
1642         * bindings/v8/custom/V8MessageEventCustom.cpp:
1643         (WebCore::V8MessageEvent::portsAccessorGetter): Ditto.
1644
1645 2011-08-24  Alexandru Chiculita  <achicu@adobe.com>
1646
1647         https://bugs.webkit.org/show_bug.cgi?id=66799
1648         RenderFlowThread creates a list of child elements, so that it can search
1649         the insertion point of a new element without searching the whole DOM.
1650         The issue is that it used addChild/removeChild, but that wasn't taking care of
1651         elements added in anonymous blocks created inside the RenderFlowThread.
1652
1653         Reviewed by David Hyatt.
1654
1655         Test: fast/regions/flow-anonymous-children.html
1656
1657         * rendering/RenderFlowThread.cpp:
1658         (WebCore::RenderFlowThread::nextRendererForNode):
1659         (WebCore::RenderFlowThread::previousRendererForNode):
1660         (WebCore::RenderFlowThread::addFlowChild):
1661         (WebCore::RenderFlowThread::removeFlowChild):
1662         * rendering/RenderFlowThread.h:
1663         * rendering/RenderObjectChildList.cpp:
1664         (WebCore::renderFlowThreadContainer):
1665         (WebCore::RenderObjectChildList::removeChildNode):
1666         (WebCore::RenderObjectChildList::appendChildNode):
1667         (WebCore::RenderObjectChildList::insertChildNode):
1668
1669 2011-08-24  Pavel Feldman  <pfeldman@google.com>
1670
1671         Web Inspector: Add 9 more javascript files to the compilation.
1672         https://bugs.webkit.org/show_bug.cgi?id=66847
1673
1674         Reviewed by Yury Semikhatsky.
1675
1676         * WebCore.gypi:
1677         * WebCore.vcproj/WebCore.vcproj:
1678         * inspector/compile-front-end.sh:
1679         * inspector/front-end/BreakpointManager.js:
1680         * inspector/front-end/CSSStyleModel.js:
1681         * inspector/front-end/Checkbox.js:
1682         * inspector/front-end/ConsoleMessage.js: Added.
1683         (WebInspector.ConsoleStackFrame):
1684         (WebInspector.ConsoleMessage):
1685         (WebInspector.ConsoleMessage.createTextMessage):
1686         (WebInspector.ConsoleMessage.prototype.get stackTrace):
1687         * inspector/front-end/ConsoleView.js:
1688         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
1689         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
1690         * inspector/front-end/CookieParser.js:
1691         * inspector/front-end/DOMAgent.js:
1692         * inspector/front-end/DOMStorage.js:
1693         * inspector/front-end/Database.js:
1694         * inspector/front-end/DebuggerModel.js:
1695         * inspector/front-end/DebuggerPresentationModel.js:
1696         * inspector/front-end/InspectorFrontendHostStub.js:
1697         (WebInspector.isMac):
1698         * inspector/front-end/NetworkManager.js:
1699         * inspector/front-end/RemoteObject.js:
1700         (WebInspector.RemoteObject.prototype.setPropertyValue):
1701         * inspector/front-end/Resource.js:
1702         (WebInspector.Resource):
1703         (WebInspector.Resource.Type.Document.0.Stylesheet.1.Image.2.Font.3.Script.4.XHR.5.WebSocket.7.Other.8.isTextType):
1704         (WebInspector.Resource.Type.toUIString):
1705         (WebInspector.Resource.Type.toString):
1706         (WebInspector.Resource.prototype._checkWarnings):
1707         (WebInspector.ResourceDomainModelBinding):
1708         (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
1709         (WebInspector.ResourceDomainModelBinding.prototype.setContent):
1710         * inspector/front-end/ResourceCategory.js:
1711         (WebInspector.ResourceCategory):
1712         (WebInspector.ResourceCategory.prototype.toString):
1713         (WebInspector.ResourceCategory.prototype.get title):
1714         * inspector/front-end/ResourceTreeModel.js:
1715         * inspector/front-end/ScriptFormatter.js:
1716         (WebInspector.ScriptFormatter.prototype._didFormatContent):
1717         (WebInspector.FormatterMappingPayload):
1718         * inspector/front-end/TimelineManager.js:
1719         * inspector/front-end/WebKit.qrc:
1720         * inspector/front-end/externs.js:
1721         (console.assert):
1722         (WebInspector.linkifyURLAsNode):
1723         (WebInspector.linkifyStringAsFragment):
1724         (WebInspector.UIString):
1725         (Element.prototype.scrollIntoViewIfNeeded):
1726         * inspector/front-end/inspector.html:
1727         * inspector/front-end/inspector.js:
1728         (WebInspector.UIString):
1729         * inspector/front-end/treeoutline.js:
1730         * inspector/front-end/utilities.js:
1731         * inspector/generate-protocol-externs:
1732
1733 2011-08-24  Pavel Feldman  <pfeldman@google.com>
1734
1735         Web Inspector: extract ConsoleMessage into a separate file.
1736         https://bugs.webkit.org/show_bug.cgi?id=66853
1737
1738         Reviewed by Yury Semikhatsky.
1739
1740         * WebCore.gypi:
1741         * WebCore.vcproj/WebCore.vcproj:
1742         * inspector/front-end/ConsoleMessage.js: Added.
1743         (WebInspector.ConsoleMessage):
1744         (WebInspector.ConsoleMessage.createTextMessage):
1745         (WebInspector.ConsoleMessage.prototype._formatMessage):
1746         (WebInspector.ConsoleMessage.prototype._linkifyLocation):
1747         (WebInspector.ConsoleMessage.prototype._linkifyCallFrame):
1748         (WebInspector.ConsoleMessage.prototype.isErrorOrWarning):
1749         (WebInspector.ConsoleMessage.prototype._format):
1750         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.valueFormatter):
1751         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append):
1752         (WebInspector.ConsoleMessage.prototype.clearHighlight):
1753         (WebInspector.ConsoleMessage.prototype.highlightSearchResults):
1754         (WebInspector.ConsoleMessage.prototype.matchesRegex):
1755         (WebInspector.ConsoleMessage.prototype.toMessageElement):
1756         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
1757         (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
1758         (WebInspector.ConsoleMessage.prototype.toString):
1759         (WebInspector.ConsoleMessage.prototype.isEqual):
1760         (WebInspector.ConsoleMessage.prototype.get stackTrace):
1761         * inspector/front-end/ConsoleView.js:
1762         * inspector/front-end/WebKit.qrc:
1763
1764 2011-08-24  Tatiana Meshkova  <tatiana.meshkova@nokia.com>
1765
1766         Paint SliderTrack and SliderThumb independently.
1767         https://bugs.webkit.org/show_bug.cgi?id=50453
1768         Also fixes https://bugs.webkit.org/show_bug.cgi?id=65456 crash.
1769
1770         Reviewed by Kenneth Rohde Christiansen.
1771
1772         RenderSlider works only with <input type=range>. Nowadays RenderTheme
1773         supports painting of SliderTrack and SliderThumb without range input.
1774         In order to be in sync with other platforms this patch gets rid of
1775         upcasting in RenderThemeQt::paintSliderTrack and allows to paint
1776         SliderTrack and SliderThumb independently.
1777
1778         Test: platform/qt/fast/forms/range/slider-crash.html
1779
1780         * platform/qt/RenderThemeQt.cpp:
1781         (WebCore::RenderThemeQt::paintSliderTrack): Draw SC_SliderGroove.
1782         Allow paintSliderThumb() to care about SC_SliderHandle. We don't need
1783         to setup value and position anymore, since handle is drawn separately.
1784         Draw focus explicitly, since QStyleOptionSlider doesn't allow to focus
1785         on CC_Slider without handle subcontrol.
1786         (WebCore::RenderThemeQt::paintSliderThumb): Draw SC_SliderHandle.
1787
1788 2011-08-23  Pavel Feldman  <pfeldman@google.com>
1789
1790         Web Inspector: annotate and prepare for compilation first 14 JavaScript files within 4 modules.
1791         https://bugs.webkit.org/show_bug.cgi?id=66776
1792
1793         Reviewed by Yury Semikhatsky.
1794
1795         * inspector/compile-front-end.sh:
1796         * inspector/front-end/ContextMenu.js:
1797         * inspector/front-end/DOMAgent.js:
1798         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
1799         (WebInspector.DOMAgent.prototype._childNodeRemoved):
1800         (WebInspector.DOMAgent.prototype._inspectElementRequested):
1801         (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
1802         * inspector/front-end/DebuggerModel.js:
1803         (WebInspector.DebuggerModel.Location):
1804         * inspector/front-end/ElementsPanel.js:
1805         (WebInspector.ElementsPanel):
1806         (WebInspector.ElementsPanel.prototype._inspectElementRequested):
1807         * inspector/front-end/InspectorFrontendHostStub.js:
1808         * inspector/front-end/KeyboardShortcut.js:
1809         * inspector/front-end/Object.js:
1810         (WebInspector.Object.prototype.addEventListener):
1811         (WebInspector.Object.prototype.removeEventListener):
1812         (WebInspector.Object.prototype.hasEventListeners):
1813         * inspector/front-end/Panel.js:
1814         (WebInspector.Panel):
1815         * inspector/front-end/Placard.js:
1816         * inspector/front-end/Popover.js:
1817         (WebInspector.Popover.prototype.show):
1818         * inspector/front-end/ResourcesPanel.js:
1819         (WebInspector.ResourcesPanel):
1820         (WebInspector.StorageCategoryTreeElement):
1821         * inspector/front-end/Script.js:
1822         (WebInspector.Script.prototype.editSource):
1823         * inspector/front-end/ScriptsPanel.js:
1824         * inspector/front-end/Settings.js:
1825         (WebInspector.Settings):
1826         (WebInspector.Settings.prototype.createSetting):
1827         * inspector/front-end/SoftContextMenu.js:
1828         (.WebInspector.SoftContextMenu.prototype._menuItemMouseUp):
1829         (.WebInspector.SoftContextMenu.prototype._triggerAction):
1830         (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
1831         * inspector/front-end/TabbedPane.js:
1832         * inspector/front-end/TextPrompt.js:
1833         * inspector/front-end/UserMetrics.js:
1834         * inspector/front-end/View.js:
1835         * inspector/front-end/externs.js:
1836         (JSON.parse):
1837         (JSON.stringify):
1838         * inspector/front-end/inspector.js:
1839         ():
1840         * inspector/generate-protocol-externs:
1841
1842 2011-08-24  Andreas Kling  <kling@webkit.org>
1843
1844         SelectElementData: Reorder members to reduce memory usage.
1845         https://bugs.webkit.org/show_bug.cgi?id=66787
1846
1847         Reviewed by Darin Adler.
1848
1849         Reduced the size of SelectElementData by 24 bytes on 64-bit by rearranging
1850         its data members.
1851
1852         Also added missing initialization of m_userDrivenChange.
1853
1854         * dom/SelectElement.cpp:
1855         (WebCore::SelectElementData::SelectElementData):
1856         * dom/SelectElement.h:
1857
1858 2011-08-24  Pavel Feldman  <pfeldman@google.com>
1859
1860         Web Inspector: clearPseudoState should retain Element while clearing
1861         its state.
1862         https://bugs.webkit.org/show_bug.cgi?id=66790
1863
1864         Reviewed by Yury Semikhatsky.
1865
1866         * inspector/InspectorCSSAgent.cpp:
1867         (WebCore::InspectorCSSAgent::clearPseudoState):
1868
1869 2011-08-23  Mark Hahnenberg  <mhahnenberg@apple.com>
1870
1871         Add checks to ensure allocation does not take place during initialization of GC-managed objects
1872         https://bugs.webkit.org/show_bug.cgi?id=65288
1873
1874         Reviewed by Darin Adler.
1875
1876         No new tests.
1877
1878         Adding the new validation functionality.  In its current state, it will performs checks, 
1879         but they don't fail unless you do allocation in the arguments to the parent constructor in the 
1880         initialization list of a class.  The allocateCell() method turns on the global flag disallowing any new 
1881         allocations, and the constructorBody() method in JSCell turns it off.  This way, allocation is still 
1882         allowed in constructor bodies while other refactoring efforts continue.
1883
1884         * bindings/js/JSDOMWindowShell.cpp:
1885         (WebCore::JSDOMWindowShell::operator new):
1886         * bindings/js/JSDOMWindowShell.h:
1887
1888 2011-08-23  Scott Byer  <scottbyer@chromium.org>
1889
1890         ScrollAnimatorNone coasting implementation
1891         https://bugs.webkit.org/show_bug.cgi?id=66258
1892
1893         Increase the animation time based on the velocity of the scroll, up to a
1894         maximum amount. Fix bugs found by additional unit testing.
1895
1896         Reviewed by James Robinson.
1897
1898         Additional tests in ScrollAnimatorNoneTest: CurveMathQuartic, CurveMathCoast,
1899         ScrollOnceQuartic, ScrollTwiceCubic, ScrollLotsCubic, ScrollLotsCubicSmoothed,
1900         ScrollUpToBumperCoast, ScrollDownToBumperCoast, VaryingInputsEquivalency,
1901         VaryingInputsEquivalencyCoast, VaryingInputsEquivalencyCoastLarge,
1902         VaryingInputsEquivalencyCoastSteep
1903
1904         * platform/ScrollAnimatorNone.cpp:
1905         (WebCore::ScrollAnimatorNone::Parameters::Parameters):
1906         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
1907         (WebCore::ScrollAnimatorNone::PerAxisData::coastCurve):
1908         (WebCore::ScrollAnimatorNone::PerAxisData::curveIntegralAt):
1909         (WebCore::ScrollAnimatorNone::PerAxisData::attackArea):
1910         (WebCore::ScrollAnimatorNone::PerAxisData::releaseArea):
1911         (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
1912         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
1913         (WebCore::ScrollAnimatorNone::PerAxisData::updateVisibleLength):
1914         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
1915         (WebCore::ScrollAnimatorNone::scroll):
1916         (WebCore::ScrollAnimatorNone::willEndLiveResize):
1917         (WebCore::ScrollAnimatorNone::didAddVerticalScrollbar):
1918         (WebCore::ScrollAnimatorNone::didAddHorizontalScrollbar):
1919         (WebCore::ScrollAnimatorNone::updateVisibleLengths):
1920         * platform/ScrollAnimatorNone.h:
1921
1922 2011-08-23  James Robinson  <jamesr@chromium.org>
1923
1924         [chromium] Need a way to test lost compositor context recovery
1925         https://bugs.webkit.org/show_bug.cgi?id=66820
1926
1927         Reviewed by Kenneth Russell.
1928
1929         Adds support for recreating a context as if it was lost, and fixes
1930         compositeAndReadback() to attempt context recovery.
1931
1932         Test: platform/chromium/compositing/lost-compositor-context.html
1933
1934         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1935         (WebCore::CCLayerTreeHost::compositeAndReadback):
1936         (WebCore::CCLayerTreeHost::loseCompositorContext):
1937         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1938
1939 2011-08-23  Nat Duca  <nduca@chromium.org>
1940
1941         [chromium] Implement CCThread in terms of WebThread
1942         https://bugs.webkit.org/show_bug.cgi?id=66610
1943
1944         Reviewed by Darin Fisher.
1945
1946         * WebCore.gypi:
1947         * platform/graphics/chromium/cc/CCCompletionEvent.h:
1948         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1949         (WebCore::CCLayerTreeHost::client):
1950         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
1951         (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
1952         * platform/graphics/chromium/cc/CCThread.h:
1953         (WebCore::CCThread::~CCThread):
1954
1955 2011-08-23  Iain Merrick  <husky@google.com>
1956
1957         [chromium] Renderer crashes when about:gpucrash is loaded
1958         https://bugs.webkit.org/show_bug.cgi?id=66814
1959
1960         WebViewImpl::didRecreateGraphicsContext() was calling
1961         setRootLayer() on the CC layer tree, but the root layer 
1962         doesn't actually change and the code wasn't defensive        
1963         against this. This CL adds some asserts to catch tree
1964         corruption and removes the unnecessary calls.
1965
1966         Reviewed by James Robinson.
1967
1968         * platform/graphics/GraphicsLayer.cpp:
1969         (WebCore::GraphicsLayer::setParent):
1970         * platform/graphics/GraphicsLayer.h:
1971         * platform/graphics/chromium/LayerChromium.cpp:
1972         (WebCore::LayerChromium::setParent):
1973         (WebCore::LayerChromium::hasAncestor):
1974         * platform/graphics/chromium/LayerChromium.h:
1975
1976 2011-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1977
1978         Unreviewed, rolling out r93645.
1979         http://trac.webkit.org/changeset/93645
1980         https://bugs.webkit.org/show_bug.cgi?id=66828
1981
1982         Broke webkit_unit_tests on chromium mac (Requested by jamesr
1983         on #webkit).
1984
1985         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1986         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
1987         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
1988
1989 2011-08-23  Beth Dakin  <bdakin@apple.com>
1990
1991         https://bugs.webkit.org/show_bug.cgi?id=66244
1992         Cached pages don't fully update when going back after changing the display scale 
1993         factor
1994         -and corresponding-
1995         <rdar://problem/9955656>
1996
1997         Reviewed by Darin Adler.
1998
1999         This patch adds a generalized concept of needing a full style recalc to the 
2000         BackForwardController. So when the display scale factor is changed, the 
2001         BackForwardController can be informed that all pages will need a full style recalc 
2002         when they come out of the cache. This same mechanism is also used to fix a long-
2003         standing bug with full-page/text zoom.
2004
2005         Iterate through the HistoryItems and mark all CachedPages as needing a full style 
2006         recalc.
2007         * history/BackForwardController.cpp:
2008         (WebCore::BackForwardController::markPagesForFullStyleRecalc):
2009         * history/BackForwardController.h:
2010
2011         ChachedPage has a new bool -- m_needsFullStyleRecalc -- to track whether a full 
2012         style recalc is needed when the CachedPage is restored.
2013         * history/CachedPage.cpp:
2014         (WebCore::CachedPage::CachedPage):
2015         (WebCore::CachedPage::restore):
2016         (WebCore::CachedPage::clear):
2017         * history/CachedPage.h:
2018         (WebCore::CachedPage::markForFullStyleRecalc):
2019
2020         HistoryItem actually takes care of calling into CachedPage.
2021         * history/HistoryItem.cpp:
2022         (WebCore::HistoryItem::markForFullStyleRecalc):
2023         * history/HistoryItem.h:
2024
2025         Fix style recalc issues for full-page/text zoom by calling our new function on 
2026         PageCache.
2027         * page/Frame.cpp:
2028         (WebCore::Frame::setPageAndTextZoomFactors):
2029
2030         Fix style recalc issues for display scale factor changes by calling our new 
2031         function on PageCache.
2032         * page/Page.cpp:
2033         (WebCore::Page::setDeviceScaleFactor):
2034
2035 2011-08-23  Anders Carlsson  <andersca@apple.com>
2036
2037         Fix build.
2038
2039         * inspector/InstrumentingAgents.cpp:
2040
2041 2011-08-23  Chang Shu  <cshu@webkit.org>
2042
2043         Added support for momentarily revealing last typed character in password input.
2044         Code change was partially based on Apple's iOS code and Samuel Nevala's work.
2045         https://bugs.webkit.org/show_bug.cgi?id=32509
2046
2047         Reviewed by Alexey Proskuryakov.
2048
2049         * editing/InsertIntoTextNodeCommand.cpp:
2050         (WebCore::InsertIntoTextNodeCommand::doApply):
2051         * rendering/RenderText.cpp:
2052         (WebCore::SecureTextTimer::SecureTextTimer):
2053         (WebCore::SecureTextTimer::restartWithNewText):
2054         (WebCore::SecureTextTimer::invalidate):
2055         (WebCore::SecureTextTimer::lastTypedCharacterOffset):
2056         (WebCore::SecureTextTimer::fired):
2057         (WebCore::RenderText::willBeDestroyed):
2058         (WebCore::RenderText::setTextInternal):
2059         (WebCore::RenderText::secureText):
2060         (WebCore::RenderText::momentarilyRevealLastTypedCharacter):
2061         * rendering/RenderText.h:
2062         (WebCore::RenderText::isSecure):
2063         * testing/Internals.cpp:
2064         (WebCore::Internals::setPasswordEchoEnabled): Fixed some silly coding in Internals.
2065         (WebCore::Internals::setPasswordEchoDurationInSeconds):
2066         (WebCore::Internals::reset):
2067
2068 2011-08-23  Dmitry Lomov  <Dmitry Lomov (dslomov@google.com)>
2069
2070         https://bugs.webkit.org/show_bug.cgi?id=66751 
2071         [Chromium]WebWorkerClientImpl should always invoke
2072         InspectorIntrumentation on main thread.
2073         The fix moves calls to InspectorInstrumentation from
2074         WebWorkerClientImpl to unedrlying WorkerMessagingProxy.
2075
2076         Reviewed by Pavel Feldman.
2077
2078         Covered by existing tests.
2079
2080         * inspector/InstrumentingAgents.cpp:
2081         (WebCore::instrumentationForPage):
2082         * workers/WorkerMessagingProxy.cpp:
2083         (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
2084         (WebCore::WorkerMessagingProxy::terminateWorkerContext):
2085
2086 2011-08-23  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
2087
2088         [Qt] Button text is invisible when mobile theme is in use and application palette set to use light text color.
2089         https://bugs.webkit.org/show_bug.cgi?id=66635
2090
2091         When mobile theme is in use and application palette is using light 
2092         color to display text button text becomes invisible. The reason for 
2093         that is that in RenderThemeQt::systemFont() we are using application 
2094         pallete while when are painting buttons lightGrayPalette is used.
2095         Calling setPaletteFromPageClientIfExists() takes care of the issue.
2096         
2097         Reviewed by Andreas Kling.
2098
2099         Covered by existing tests.
2100
2101         * platform/qt/RenderThemeQt.cpp:
2102         (WebCore::RenderThemeQt::systemColor):
2103
2104 2011-08-23  Tony Chang  <tony@chromium.org>
2105
2106         Add handling of mix-width and max-width for flexitems
2107         https://bugs.webkit.org/show_bug.cgi?id=66723
2108
2109         Reviewed by David Hyatt.
2110
2111         If we flex past a min/max width value, we need to mark the flexitem as
2112         a fixed width and re-start the flexing algorithm.  We use a HashMap to
2113         keep track of fixed width items.
2114
2115         This patch also split out the size computation from the actual layout
2116         to avoid unnecessary layouts caused by restarting the flexing algorithm.
2117
2118         Test: css3/flexbox/003.html
2119
2120         * rendering/RenderFlexibleBox.cpp:
2121         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
2122         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
2123         * rendering/RenderFlexibleBox.h:
2124
2125 2011-08-23  Pratik Solanki  <psolanki@apple.com>
2126
2127         ResourceRequest::setStorageSession should update NSURLRequest as well
2128         https://bugs.webkit.org/show_bug.cgi?id=66811
2129
2130         Reviewed by Darin Adler.
2131
2132         * platform/network/cf/ResourceRequestCFNet.cpp:
2133         (WebCore::ResourceRequest::setStorageSession): Update the m_nsRequest field as well since we
2134         have a new CFURLRequestRef.
2135
2136 2011-08-23  James Robinson  <jamesr@chromium.org>
2137
2138         [chromium] Remove obsolete child context list from LayerRendererChromium
2139         https://bugs.webkit.org/show_bug.cgi?id=66743
2140
2141         Reviewed by Kenneth Russell.
2142
2143         Before we had proper semantics for flush() in the command buffer, we
2144         used a scheme of latches across contexts to ensure consistent frames
2145         were presented for WebGL and canvas. We no longer have latches and
2146         flush is a proper synchronization primative, so the child context list
2147         no longer does anything. Canvas2DLayerChromium and
2148         WebGLLayerChromium's implementations of updateCompositorResources() do
2149         flushes on the appropriate context already - canvas layers via
2150         DrawingBuffer::publishToPlatformLayer(), and WebGL layers via the call
2151         to prepareTexture().
2152
2153         No new tests since the code being removed doesn't do anything.
2154
2155         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2156         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
2157         (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
2158         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2159         * platform/graphics/chromium/LayerRendererChromium.cpp:
2160         (WebCore::LayerRendererChromium::drawLayers):
2161         * platform/graphics/chromium/LayerRendererChromium.h:
2162         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2163         (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
2164         (WebCore::WebGLLayerChromium::setContext):
2165         * platform/graphics/chromium/WebGLLayerChromium.h:
2166
2167 2011-08-23  Alexei Svitkine  <asvitkine@chromium.org>
2168
2169         Chromium Mac: Use a custom pattern image for rubber banding overhang area
2170         https://bugs.webkit.org/show_bug.cgi?id=66707
2171
2172         Reviewed by Dimitri Glazkov.
2173
2174         No new tests since its just changing the Chromium-specific overhang pattern.
2175
2176         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2177         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2178         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
2179
2180 2011-08-23  Tatiana Meshkova  <tatiana.meshkova@nokia.com>
2181
2182         Prepare to paint slider thumb separately.
2183         Provide proper size values for vertical SliderThumb.
2184         https://bugs.webkit.org/show_bug.cgi?id=66732
2185
2186         Reviewed by Kenneth Rohde Christiansen.
2187
2188         * platform/qt/RenderThemeQt.cpp:
2189         (WebCore::RenderThemeQt::adjustSliderThumbSize):
2190         Swap length and thickness for sliderthumb-vertical.
2191
2192 2011-08-23  Adrienne Walker  <enne@google.com>
2193
2194         [chromium] Fix potential nullptr deref in TiledLayerChromium::pushPropertiesTo
2195         https://bugs.webkit.org/show_bug.cgi?id=66808
2196
2197         Reviewed by James Robinson.
2198
2199         * platform/graphics/chromium/TiledLayerChromium.cpp:
2200         (WebCore::TiledLayerChromium::pushPropertiesTo):
2201         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2202         (WebCore::CCTiledLayerImpl::draw):
2203
2204 2011-08-23  Peter Kasting  <pkasting@google.com>
2205
2206         Unreviewed, rolling out r93452.
2207         http://trac.webkit.org/changeset/93452
2208         https://bugs.webkit.org/show_bug.cgi?id=66423
2209
2210         Broke Leopard, Snowleopard, and Chromium bots
2211
2212         * xml/parser/XMLDocumentParserLibxml2.cpp:
2213         (WebCore::XMLDocumentParser::XMLDocumentParser):
2214
2215 2011-08-23  Ahmad Sharif  <asharif@chromium.org>
2216
2217         Fixed warnings produced by gcc-4.6.0.
2218         https://bugs.webkit.org/show_bug.cgi?id=62168
2219
2220         Reviewed by Adam Barth.
2221
2222         * dom/Element.cpp:
2223         (WebCore::Element::recalcStyle):
2224         * platform/ScrollAnimatorNone.cpp:
2225         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
2226         (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
2227         * thirdparty: Copied from Source/WebCore/thirdparty.
2228
2229 2011-08-23  Alexandru Chiculita  <achicu@adobe.com>
2230
2231         Text overlaps with the floats
2232         https://bugs.webkit.org/show_bug.cgi?id=66671
2233
2234         The problem was that LineWidth::fitBelowFloats is not updating the m_left and m_right fields. 
2235         Next time LineWidth::shrinkAvailableWidthForNewFloatIfNeeded was called the width was recalculated 
2236         using the old values, making the line bigger.
2237
2238         Reviewed by David Hyatt.
2239
2240         Test: fast/block/float/fit_line_below_floats.html
2241
2242         * rendering/RenderBlockLineLayout.cpp:
2243         (WebCore::LineWidth::fitBelowFloats):
2244
2245 2011-08-23  Alexandru Chiculita  <achicu@adobe.com>
2246
2247         [CSSRegions] RenderFlowThread layout should use the attached region sizes
2248         https://bugs.webkit.org/show_bug.cgi?id=66143
2249
2250         When RenderFlowThread is doing the layout it also sets the current RenderFlowThread on
2251         the RenderView. RenderFlowThread cannot be nested inside a single RenderView, so there's no 
2252         need to put that on the LayoutState.
2253
2254         The right offset used to layout the inlines inside a RenderFlowThread
2255         is now adjusted to fit inside the current region.
2256
2257         Reviewed by David Hyatt.
2258
2259         Tests: fast/regions/webkit-flow-floats-inside-regions-bounds.html
2260                fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html
2261                fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical.html
2262                fast/regions/webkit-flow-inlines-inside-regions-bounds.html
2263
2264         * rendering/LayoutState.cpp:
2265         (WebCore::LayoutState::LayoutState):
2266         * rendering/RenderBlock.cpp:
2267         (WebCore::RenderBlock::layoutBlock):
2268         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
2269         (WebCore::RenderBlock::logicalRightOffsetForLine):
2270         * rendering/RenderBlock.h:
2271         * rendering/RenderFlowThread.cpp:
2272         (WebCore::RenderFlowThread::RenderFlowThread):
2273         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
2274         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
2275         (WebCore::RenderFlowThread::layout):
2276         (WebCore::RenderFlowThread::renderRegionForLine):
2277         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
2278         * rendering/RenderFlowThread.h:
2279         (WebCore::RegionFittingDisabler::RegionFittingDisabler):
2280         (WebCore::RegionFittingDisabler::~RegionFittingDisabler):
2281         * rendering/RenderRegion.cpp:
2282         (WebCore::RenderRegion::layout):
2283         * rendering/RenderRegion.h:
2284         * rendering/RenderView.cpp:
2285         (WebCore::RenderView::RenderView):
2286         * rendering/RenderView.h:
2287         (WebCore::RenderView::hasRenderFlowThread):
2288         (WebCore::RenderView::currentRenderFlowThread):
2289         (WebCore::RenderView::setCurrentRenderFlowThread):
2290         (WebCore::RenderView::pushLayoutState):
2291
2292 2011-08-23  Alexandru Chiculita  <achicu@adobe.com>
2293
2294         Text-indent and floats push the text out of the container box
2295         https://bugs.webkit.org/show_bug.cgi?id=66662
2296
2297         Text indent was not propagated when a new float was pushed on the line.
2298         It was only calculated when the logicalLeft/RightOffsetForLine was called.
2299         Because of that RenderBlock::LineBreaker::nextLineBreak used a bigger width
2300         than actually available and made the line render on top of the borders.
2301
2302         Reviewed by David Hyatt.
2303
2304         Tests: fast/block/float/floats-and-text-indent-rl.html
2305                fast/block/float/floats-and-text-indent.html
2306
2307         * rendering/RenderBlock.cpp:
2308         (WebCore::RenderBlock::textIndentOffset):
2309         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2310         (WebCore::RenderBlock::logicalRightOffsetForLine):
2311         * rendering/RenderBlock.h:
2312         * rendering/RenderBlockLineLayout.cpp:
2313         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2314
2315 2011-08-23  Al Patrick  <apatrick@chromium.org>
2316
2317         Add shareResources flag to 3D graphics context attributes
2318         https://bugs.webkit.org/show_bug.cgi?id=66516
2319
2320         Reviewed by James Robinson.
2321
2322         * html/canvas/WebGLRenderingContext.cpp:
2323         (WebCore::WebGLRenderingContext::create):
2324         * platform/graphics/GraphicsContext3D.h:
2325         (WebCore::GraphicsContext3D::Attributes::Attributes):
2326         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2327         (WebCore::SharedGraphicsContext3D::create):
2328
2329 2011-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2330
2331         Unreviewed, rolling out r93616.
2332         http://trac.webkit.org/changeset/93616
2333         https://bugs.webkit.org/show_bug.cgi?id=66796
2334
2335         "causes fast/css/absolute-child-with-percent-height-inside-
2336         relative-parent.html to fail" (Requested by mwenge2 on
2337         #webkit).
2338
2339         * rendering/RenderBlock.cpp:
2340         (WebCore::RenderBlock::adjustPositionedBlock):
2341         * rendering/RenderBlock.h:
2342         * rendering/RenderBlockLineLayout.cpp:
2343         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2344         (WebCore::setStaticPositions):
2345         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
2346
2347 2011-07-25  Robert Hogan  <robert@webkit.org>
2348
2349         div align="center" rendering problem
2350         https://bugs.webkit.org/show_bug.cgi?id=4860
2351
2352         Reviewed by David Hyatt.
2353
2354         Tests: fast/inline/absolute-positioned-block-in-centred-block.html
2355                fast/inline/absolute-positioned-inline-in-centred-block.html
2356
2357         When an element with absolute position was the sole or first child of a render block with
2358         centred alignment, it wasn't obeying its parent's alignment. However it would obey the
2359         alignment if it was preceded by some text. The problem was that the element's render object
2360         was getting skipped as leading white space, so it was not included in a normal line block in
2361         a bidi run. Instead, its position was getting set by RenderBlockLineLayout::setStaticPositions()
2362         which does not pay attention to alignment. Preceding the element with some text allowed the object
2363         to get included in a Bidi run and so get a linebox which would get properly aligned.
2364
2365         The fix is to get RenderBlockLineLayout::setStaticPositions() to obey the alignment specified by
2366         the object's container. This allows WebKit to get the same result on the test as Firefox and IE.
2367         Opera has the same bug as unpatched WebKit.
2368
2369         * rendering/RenderBlock.cpp:
2370         (WebCore::RenderBlock::adjustPositionedBlock): use startAlignedOffsetForBlock
2371         * rendering/RenderBlock.h:
2372         * rendering/RenderBlockLineLayout.cpp:
2373         (WebCore::RenderBlock::updateLogicalWidthForAlignment):
2374         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
2375         (WebCore::setStaticPositions): use startAlignedOffsetForLine and use startAlignedOffsetForBlock
2376         (WebCore::RenderBlock::LineBreaker::nextLineBreak): use startAlignedOffsetForLine
2377         (WebCore::RenderBlock::startAlignedOffsetForBlock): New function, find the aligned offset using updateLogicalWidthForAlignment
2378         (WebCore::RenderBlock::startAlignedOffsetForLine): ditto
2379
2380         * rendering/RenderBlock.h:
2381         * rendering/RenderBlockLineLayout.cpp:
2382         (WebCore::RenderBlock::updateLogicalWidthForAlignment):
2383         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
2384         (WebCore::setStaticPositions): use startAlignedOffsetForLine.
2385         (WebCore::RenderBlock::startAlignedOffsetForLine): New function, find the aligned offset using updateLogicalWidthForAlignment
2386
2387 2011-08-23  Adrienne Walker  <enne@google.com>
2388
2389         [chromium] Remove LayerRendererChromium references from TiledLayerChromium
2390         https://bugs.webkit.org/show_bug.cgi?id=66433
2391
2392         Reviewed by James Robinson.
2393
2394         Covered by existing tests.
2395
2396         Updated TiledLayerChromium and the texture updater classes to not
2397         access LayerRendererChromium or cache GraphicsContext3D. Some settings
2398         like max texture size were moved from LayerRendererChromium to
2399         CCLayerTreeHost in order to facilitate this refactoring.
2400
2401         LayerTextureUpdaterSkPicture has been #ifdef'd to only work when the
2402         compositor is not threaded. It will need to be refactored more in
2403         order to not own graphics resources from the main thread.
2404
2405         * platform/graphics/chromium/ContentLayerChromium.cpp:
2406         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2407         (WebCore::ContentLayerChromium::createTextureUpdater):
2408         * platform/graphics/chromium/ContentLayerChromium.h:
2409         * platform/graphics/chromium/ImageLayerChromium.cpp:
2410         (WebCore::ImageLayerTextureUpdater::create):
2411         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
2412         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
2413         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2414         (WebCore::ImageLayerChromium::createTextureUpdater):
2415         * platform/graphics/chromium/ImageLayerChromium.h:
2416         * platform/graphics/chromium/LayerChromium.cpp:
2417         (WebCore::LayerChromium::setLayerRenderer):
2418         (WebCore::LayerChromium::setLayerTreeHost):
2419         * platform/graphics/chromium/LayerChromium.h:
2420         * platform/graphics/chromium/LayerRendererChromium.cpp:
2421         * platform/graphics/chromium/LayerRendererChromium.h:
2422         * platform/graphics/chromium/LayerTextureUpdater.h:
2423         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
2424         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
2425         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
2426         (WebCore::LayerTextureUpdaterBitmap::create):
2427         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
2428         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
2429         (WebCore::LayerTextureUpdaterSkPicture::create):
2430         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
2431         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
2432         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2433         (WebCore::LayerTextureUpdaterSkPicture::context):
2434         * platform/graphics/chromium/TiledLayerChromium.cpp:
2435         (WebCore::TiledLayerChromium::setLayerTreeHost):
2436         (WebCore::TiledLayerChromium::updateCompositorResources):
2437         (WebCore::TiledLayerChromium::invalidateRect):
2438         (WebCore::TiledLayerChromium::prepareToUpdate):
2439         * platform/graphics/chromium/TiledLayerChromium.h:
2440         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2441         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2442         (WebCore::CCLayerTreeHost::initialize):
2443         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2444         (WebCore::CCLayerTreeHost::layerRenderer):
2445         (WebCore::CCLayerTreeHost::contextSupportsMapSub):
2446         (WebCore::CCLayerTreeHost::maxTextureSize):
2447         (WebCore::CCLayerTreeHost::bestTextureFormat):
2448
2449 2011-08-23  Julien Chaffraix  <jchaffraix@webkit.org>
2450
2451         Reduce the amount of RenderLayer rectangles' update when scrolling
2452         https://bugs.webkit.org/show_bug.cgi?id=66618
2453
2454         Reviewed by David Hyatt.
2455
2456         This patch avoids recomputing the RenderLayers rectangles if not needed.
2457
2458         The current code path for scrolling would update RenderLayers' repaint rectangles
2459         twice. However we do need to update only children of a fixed element as they are
2460         the only type of layers that move during a scroll.
2461
2462         We just change a call to updateLayerPositions for a call to updateLayerPositionsAfterScroll.
2463         updateLayerPositions being pessimist about the layer's state - because it is called after layout -
2464         it is missing some optimization that can be done during scrolling.
2465
2466         Tests: fast/repaint/scroll-absolute-layer-with-reflection.html
2467                fast/repaint/scroll-fixed-layer-with-reflection.html
2468                fast/repaint/scroll-fixed-layer-with-transformed-parent-layer.html
2469                fast/repaint/scroll-fixed-reflected-layer.html
2470                fast/repaint/scroll-in-clipped-layer.html
2471                fast/repaint/scroll-in-fixed-layer.html
2472                fast/repaint/scroll-in-transformed-layer.html
2473                fast/repaint/scroll-with-transformed-parent-layer.html
2474
2475         * rendering/RenderLayer.h:
2476         * page/FrameView.cpp:
2477         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
2478         Updated those 2 call sites after updateRepaintRectsAfterScroll renaming.
2479
2480         * rendering/RenderLayer.cpp:
2481         (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Beefed up the method
2482         to take care of also updating the layer's position (that sounded like a bug in
2483         the previous code that is covered by the tests above). Note that we don't care
2484         if one of our ancestor has a fixed position as we are scrolling *inside* this
2485         ancestor.
2486
2487         (WebCore::RenderLayer::scrollTo): Call updateLayerPositionsAfterScroll instead of
2488         updateLayerPositions.
2489
2490 2011-08-23  Jeffrey Pfau  <jpfau@apple.com>
2491
2492         New XML parser: pretty XML tree viewer
2493         https://bugs.webkit.org/show_bug.cgi?id=66489
2494
2495         Reviewed by Adam Barth.
2496
2497         * xml/parser/NewXMLDocumentParser.cpp:
2498         (WebCore::NewXMLDocumentParser::finish):
2499
2500 2011-08-23  Jessie Berlin  <jberlin@apple.com>
2501
2502         Build fix.
2503
2504         * inspector/InspectorDOMAgent.h:
2505         HighlightData is a struct, not a class.
2506
2507 2011-08-23  Andrey Kosyakov  <caseq@chromium.org>
2508
2509         Web Inspector: [Extensions API] provide access to page resources
2510         https://bugs.webkit.org/show_bug.cgi?id=66767
2511
2512         Reviewed by Pavel Feldman.
2513
2514         Test: inspector/extensions/extensions-resources.html
2515
2516         * inspector/front-end/ExtensionAPI.js:
2517         (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype.addListener):
2518         (WebInspector.injectedExtensionAPI):
2519         (WebInspector.injectedExtensionAPI.RequestImpl.prototype.getContent):
2520         (WebInspector.injectedExtensionAPI.InspectedWindow.resourceDispatch):
2521         (WebInspector.injectedExtensionAPI.InspectedWindow.resourceContentDispatch):
2522         (WebInspector.injectedExtensionAPI.InspectedWindow):
2523         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.eval):
2524         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.getResources):
2525         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.getResources.callbackWrapper):
2526         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.get url):
2527         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.get type):
2528         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.getContent):
2529         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.setContent):
2530         * inspector/front-end/ExtensionServer.js:
2531         (WebInspector.ExtensionServer):
2532         (WebInspector.ExtensionServer.prototype._notifyResourceAdded):
2533         (WebInspector.ExtensionServer.prototype.notifyResourceContentCommitted):
2534         (WebInspector.ExtensionServer.prototype._makeResource):
2535         (WebInspector.ExtensionServer.prototype._onGetPageResources):
2536         (WebInspector.ExtensionServer.prototype._getResourceContent):
2537         (WebInspector.ExtensionServer.prototype._onGetRequestContent):
2538         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
2539         (WebInspector.ExtensionServer.prototype._onSetResourceContent):
2540         (WebInspector.ExtensionServer.prototype.initExtensions):
2541         * inspector/front-end/Resource.js:
2542         (WebInspector.Resource.prototype.addRevision):
2543
2544 2011-08-23  Pavel Feldman  <pfeldman@google.com>
2545
2546         Not reviewed: fixing build. One line drive-by typo fix in the inspector shortcut (Esc -> Backspace).
2547
2548         * inspector/InspectorDOMAgent.cpp:
2549         (WebCore::InspectorDOMAgent::highlightFrame):
2550         * inspector/front-end/treeoutline.js:
2551         (TreeOutline.prototype._treeKeyDown):
2552
2553 2011-08-23  Alexander Pavlov  <apavlov@chromium.org>
2554
2555         Web Inspector: differentiate element highlight colors for margin and padding
2556         https://bugs.webkit.org/show_bug.cgi?id=37768
2557
2558         The highlighting WIP API is slightly changed: clients will specify colors for certain elements of the highlighted objects,
2559         rather than a generic "highlighting mode". This allows to:
2560         - use entirely custom colors for highlighting (and vary them over time);
2561         - display any combination of fill/outline for the highlighted area;
2562         - highlight any combinations of element parts.
2563
2564         Reviewed by Pavel Feldman.
2565
2566         * inspector/DOMNodeHighlighter.cpp:
2567         (WebCore::DOMNodeHighlighter::drawHighlight):
2568         * inspector/DOMNodeHighlighter.h:
2569         * inspector/Inspector.json:
2570         * inspector/InspectorDOMAgent.cpp:
2571         (WebCore::parseColor):
2572         (WebCore::parseConfigColor):
2573         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
2574         (WebCore::InspectorDOMAgent::clearFrontend):
2575         (WebCore::InspectorDOMAgent::highlightedNode):
2576         (WebCore::InspectorDOMAgent::handleMousePress):
2577         (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
2578         (WebCore::InspectorDOMAgent::setSearchingForNode):
2579         (WebCore::InspectorDOMAgent::setInspectModeEnabled):
2580         (WebCore::InspectorDOMAgent::setHighlightDataFromConfig):
2581         (WebCore::InspectorDOMAgent::highlight):
2582         (WebCore::InspectorDOMAgent::highlightRect):
2583         (WebCore::InspectorDOMAgent::highlightNode):
2584         (WebCore::InspectorDOMAgent::highlightFrame):
2585         (WebCore::InspectorDOMAgent::hideHighlight):
2586         (WebCore::InspectorDOMAgent::drawHighlight):
2587         * inspector/InspectorDOMAgent.h:
2588         * inspector/front-end/Color.js:
2589         (WebInspector.Color.fromRGBA):
2590         (WebInspector.Color.prototype.toProtocolRGBA):
2591         * inspector/front-end/ElementsPanel.js:
2592         (WebInspector.ElementsPanel.prototype.setSearchingForNode):
2593         * inspector/front-end/MetricsSidebarPane.js:
2594         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.handleMouseOver):
2595         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.handleMouseOut):
2596         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
2597         * inspector/front-end/ResourcesPanel.js:
2598         (WebInspector.FrameTreeElement.prototype.set hovered):
2599         * inspector/front-end/TimelinePanel.js:
2600         (WebInspector.TimelinePanel.prototype._highlightRect):
2601         * inspector/front-end/inspector.css:
2602         * inspector/front-end/inspector.js:
2603         (WebInspector.buildHighlightConfig):
2604         (WebInspector.highlightDOMNode):
2605
2606 2011-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2607
2608         Unreviewed, rolling out r93579.
2609         http://trac.webkit.org/changeset/93579
2610         https://bugs.webkit.org/show_bug.cgi?id=66774
2611
2612         "ASSERTION FAILED: m_purgePreventCount" (Requested by tonyg-cr
2613         on #webkit).
2614
2615         * platform/graphics/chromium/FontCacheLinux.cpp:
2616         (WebCore::FontCache::getFontDataForCharacters):
2617
2618 2011-08-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2619
2620         [Qt] Fix build on Lion
2621
2622         https://bugs.webkit.org/show_bug.cgi?id=66770
2623
2624         Reviewed by Andreas Kling.
2625
2626         We were mistakenly picking up mac/WebCoreSystemInterface.h instead of
2627         the Qt one, and building on Lion revealed this when a typedef for
2628         IOSurfaceRef was wrapped in PLATFORM(MAC).
2629
2630         For now we fix this by including WebCoreSystemInterface using
2631         brackets, so that we'll pick up the right file based on the
2632         include paths. This also means exposing a few missing enums
2633         in our own version of the file, so those were added.
2634
2635         Lasty, we need to link against the right system interface library
2636         on Lion.
2637
2638         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
2639         * platform/qt/WebCoreSystemInterface.h:
2640
2641 2011-08-23  Steve Block  <steveblock@google.com>
2642
2643         Remove last occurrences of PLATFORM(ANDROID)
2644         https://bugs.webkit.org/show_bug.cgi?id=66763
2645
2646         Reviewed by Tony Gentilcore.
2647
2648         No new tests, removing dead code only.
2649
2650         * bindings/v8/V8GCController.cpp:
2651         (WebCore::V8GCController::checkMemoryUsage):
2652
2653 2011-08-23  Steve Block  <steveblock@google.com>
2654
2655         Remove Android-specific modifications to non-client-based Geolocation
2656         https://bugs.webkit.org/show_bug.cgi?id=66759
2657
2658         Reviewed by Tony Gentilcore.
2659
2660         No new tests, removing dead code only.
2661
2662         * page/Geolocation.cpp:
2663         * page/Geolocation.h:
2664         * platform/GeolocationService.h:
2665         * platform/efl/GeolocationServiceEfl.cpp:
2666         * platform/efl/GeolocationServiceEfl.h:
2667         * platform/gtk/GeolocationServiceGtk.cpp:
2668         * platform/gtk/GeolocationServiceGtk.h:
2669
2670 2011-08-19  Pavel Podivilov  <podivilov@chromium.org>
2671
2672         Web Inspector: switch to using BreakpointManager.
2673         https://bugs.webkit.org/show_bug.cgi?id=66225
2674
2675         Reviewed by Pavel Feldman.
2676
2677         * inspector/front-end/DebuggerPresentationModel.js:
2678         (WebInspector.DebuggerPresentationModel):
2679         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
2680         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2681         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
2682         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
2683         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
2684         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
2685         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
2686         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
2687         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
2688         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2689         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
2690         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2691         (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
2692         * inspector/front-end/SourceFile.js:
2693         (WebInspector.RawSourceCode):
2694
2695 2011-08-23  Steve Block  <steveblock@google.com>
2696
2697         Remove all mention of removed Android files from build scripts
2698         https://bugs.webkit.org/show_bug.cgi?id=66755
2699
2700         Reviewed by Tony Gentilcore.
2701
2702         No new tests, removing dead code only.
2703
2704         * WebCore.gyp/WebCore.gyp:
2705         * WebCore.gypi:
2706         * gyp/WebCore.gyp:
2707
2708 2011-08-23  Mikhail Naganov  <mnaganov@chromium.org>
2709
2710         Web Inspector: [Chromium] Fix handling of aggregate names in profiler.
2711         https://bugs.webkit.org/show_bug.cgi?id=66753
2712
2713         Reviewed by Pavel Feldman.
2714
2715         * inspector/front-end/HeapSnapshot.js:
2716         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2717
2718 2011-08-23  Adam Barth  <abarth@webkit.org>
2719
2720         Remove WebCore/editing/android and other Android-specific directories
2721         https://bugs.webkit.org/show_bug.cgi?id=66739
2722
2723         Reviewed by Steve Block.
2724
2725         Now that Android shares more code with Chromium, we don't need these
2726         Android-specific files.
2727
2728         * editing/android: Removed.
2729         * editing/android/EditorAndroid.cpp: Removed.
2730         * history/android: Removed.
2731         * history/android/AndroidWebHistoryBridge.h: Removed.
2732         * history/android/HistoryItemAndroid.cpp: Removed.
2733         * page/android: Removed.
2734         * page/android/DragControllerAndroid.cpp: Removed.
2735         * page/android/EventHandlerAndroid.cpp: Removed.
2736         * platform/network/android: Removed.
2737         * platform/network/android/AuthenticationChallenge.h: Removed.
2738         * platform/network/android/CookieJarAndroid.cpp: Removed.
2739         * platform/network/android/ProxyServerAndroid.cpp: Removed.
2740         * platform/network/android/ResourceError.h: Removed.
2741         * platform/network/android/ResourceHandleAndroid.cpp: Removed.
2742         * platform/network/android/ResourceLoaderAndroid.h: Removed.
2743         * platform/network/android/ResourceRequest.h: Removed.
2744         * platform/network/android/ResourceRequestAndroid.cpp: Removed.
2745         * platform/network/android/ResourceResponse.h: Removed.
2746         * platform/text/android: Removed.
2747         * platform/text/android/HyphenationAndroid.cpp: Removed.
2748         * platform/text/android/TextBreakIteratorInternalICU.cpp: Removed.
2749
2750 2011-08-23  Adam Barth  <abarth@webkit.org>
2751
2752         Remove WebCore/platform/android
2753         https://bugs.webkit.org/show_bug.cgi?id=66734
2754
2755         Reviewed by Steve Block.
2756
2757         This directory is not needed now that Android shares more code with
2758         Chromium.
2759
2760         * platform/android: Removed.
2761         * platform/android/ClipboardAndroid.cpp: Removed.
2762         * platform/android/ClipboardAndroid.h: Removed.
2763         * platform/android/CursorAndroid.cpp: Removed.
2764         * platform/android/DragDataAndroid.cpp: Removed.
2765         * platform/android/EventLoopAndroid.cpp: Removed.
2766         * platform/android/FileSystemAndroid.cpp: Removed.
2767         * platform/android/GeolocationServiceAndroid.cpp: Removed.
2768         * platform/android/GeolocationServiceAndroid.h: Removed.
2769         * platform/android/GeolocationServiceBridge.cpp: Removed.
2770         * platform/android/GeolocationServiceBridge.h: Removed.
2771         * platform/android/KeyEventAndroid.cpp: Removed.
2772         * platform/android/LanguageAndroid.cpp: Removed.
2773         * platform/android/LocalizedStringsAndroid.cpp: Removed.
2774         * platform/android/PlatformBridge.h: Removed.
2775         * platform/android/PlatformTouchEventAndroid.cpp: Removed.
2776         * platform/android/PlatformTouchPointAndroid.cpp: Removed.
2777         * platform/android/PopupMenuAndroid.cpp: Removed.
2778         * platform/android/RenderThemeAndroid.cpp: Removed.
2779         * platform/android/RenderThemeAndroid.h: Removed.
2780         * platform/android/SSLKeyGeneratorAndroid.cpp: Removed.
2781         * platform/android/ScreenAndroid.cpp: Removed.
2782         * platform/android/ScrollViewAndroid.cpp: Removed.
2783         * platform/android/SearchPopupMenuAndroid.cpp: Removed.
2784         * platform/android/SharedTimerAndroid.cpp: Removed.
2785         * platform/android/SoundAndroid.cpp: Removed.
2786         * platform/android/SystemTimeAndroid.cpp: Removed.
2787         * platform/android/TemporaryLinkStubs.cpp: Removed.
2788         * platform/android/WidgetAndroid.cpp: Removed.
2789
2790 2011-08-23  Pavel Feldman  <pfeldman@google.com>
2791
2792         Not reviewed. Adding a file that slipped from r93586.
2793
2794         * inspector/generate-protocol-externs: Added.
2795
2796 2011-08-22  Pavel Feldman  <pfeldman@google.com>
2797
2798         Web Inspector: generate protocol externs API for the front-end compilation.
2799         https://bugs.webkit.org/show_bug.cgi?id=66677
2800
2801         Reviewed by Tony Gentilcore.
2802
2803         * inspector/Inspector.json:
2804         * inspector/InspectorDOMAgent.cpp:
2805         (WebCore::InspectorDOMAgent::setAttributesText):
2806         * inspector/InspectorDOMAgent.h:
2807         * inspector/InspectorDebuggerAgent.cpp:
2808         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2809         * inspector/InspectorDebuggerAgent.h:
2810         * inspector/compile-front-end.sh: Added.
2811         * inspector/front-end/DOMAgent.js:
2812         (WebInspector.DOMNode.prototype.setAttribute):
2813         * inspector/front-end/DebuggerModel.js:
2814         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2815         * inspector/front-end/externs.js: Added.
2816         (console.warn):
2817
2818 2011-08-22  Pavel Feldman  <pfeldman@google.com>
2819
2820         Web Inspector: Prepare utilities.js for compilation.
2821         https://bugs.webkit.org/show_bug.cgi?id=66656
2822
2823         Removes "this" usage in functions, does not define getters for offsets.
2824
2825         Reviewed by Tony Gentilcore.
2826
2827         * inspector/front-end/ConsoleView.js:
2828         (WebInspector.ConsoleMessage.prototype._format):
2829         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.valueFormatter):
2830         * inspector/front-end/DOMAgent.js:
2831         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
2832         (WebInspector.DOMNode.prototype.isAncestor):
2833         (WebInspector.DOMNode.prototype.isDescendant):
2834         (WebInspector.DOMNode.prototype.isWhitespace):
2835         * inspector/front-end/DataGrid.js:
2836         (WebInspector.DataGrid.prototype._resizerDragging):
2837         (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle):
2838         * inspector/front-end/Drawer.js:
2839         (WebInspector.Drawer.prototype.get savedHeight):
2840         (WebInspector.Drawer.prototype.onResize):
2841         (WebInspector.Drawer.prototype._startStatusBarDragging):
2842         (WebInspector.Drawer.prototype._statusBarDragging):
2843         * inspector/front-end/ElementsPanel.js:
2844         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
2845         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2846         (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.crumbsAreSmallerThanContainer):
2847         * inspector/front-end/ElementsTreeOutline.js:
2848         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
2849         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
2850         ():
2851         * inspector/front-end/RemoteObject.js:
2852         (WebInspector.RemoteObject):
2853         * inspector/front-end/ResourceTimingView.js:
2854         (WebInspector.ResourceTimingView.createTimingTable):
2855         * inspector/front-end/ResourcesPanel.js:
2856         (WebInspector.BaseStorageTreeElement.prototype.isEventWithinDisclosureTriangle):
2857         * inspector/front-end/ScriptsPanel.js:
2858         (WebInspector.ScriptsPanel.prototype._startSidebarResizeDrag):
2859         * inspector/front-end/SoftContextMenu.js:
2860         (.WebInspector.SoftContextMenu.prototype.show):
2861         * inspector/front-end/Toolbar.js:
2862         (WebInspector.ToolbarDropdown.prototype.show):
2863         * inspector/front-end/WatchExpressionsSidebarPane.js:
2864         (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
2865         * inspector/front-end/inspector.js:
2866         (Number.secondsToString):
2867         (Number.bytesToString):
2868         * inspector/front-end/treeoutline.js:
2869         (TreeElement.prototype.isEventWithinDisclosureTriangle):
2870         * inspector/front-end/utilities.js:
2871         (setupPrototypeUtilities.Element.prototype.totalOffsetLeft):
2872         (setupPrototypeUtilities.Element.prototype.totalOffsetTop):
2873         (setupPrototypeUtilities.Element.prototype.offsetRelativeToWindow):
2874         (setupPrototypeUtilities):
2875         (setupPrototypeUtilities.):
2876         ():
2877
2878 2011-08-22  John Bates  <jbates@google.com>
2879
2880         Implemented skia support for caching resizes of cropped images.
2881         https://bugs.webkit.org/show_bug.cgi?id=65587
2882
2883         Reviewed by Darin Fisher.
2884
2885         Previously, resizes of cropped images would not be cached. This causes various websites to have janky CSS animations in software compositing mode.
2886
2887         * platform/graphics/skia/ImageSkia.cpp:
2888         (WebCore::drawResampledBitmap): Changed to use new APIs for subset caching.
2889         (WebCore::Image::drawPattern): Added allowCaching parameter.
2890         * platform/graphics/skia/NativeImageSkia.cpp:
2891         (WebCore::NativeImageSkia::NativeImageSkia):
2892         (WebCore::NativeImageSkia::CachedImageInfo::CachedImageInfo):
2893         (WebCore::NativeImageSkia::CachedImageInfo::isEqual):
2894         (WebCore::NativeImageSkia::CachedImageInfo::set):
2895         (WebCore::NativeImageSkia::hasResizedBitmap): Changed this method so that it does not modify caching data. Added a second version used for cropped image resizes.
2896         (WebCore::NativeImageSkia::resizedBitmap): Added parameter to let caller specify whether caching is allowed.
2897         (WebCore::NativeImageSkia::shouldCacheResampling): Added a second version used for cropped image resizes.
2898         (WebCore::NativeImageSkia::shouldCacheResamplingInternal): Both shouldCacheResampling methods call down to this for the shared logic.
2899         * platform/graphics/skia/NativeImageSkia.h: Added CachedImageInfo to uniquely identify the cached or requested image resize operation.
2900
2901 2011-08-22  Tony Gentilcore  <tonyg@chromium.org>
2902
2903         [chromium] Fonts returned by FontCache::getFontDataForCharacters() are never released
2904         https://bugs.webkit.org/show_bug.cgi?id=66673
2905
2906         Reviewed by James Robinson.
2907
2908         This was fixed for other ports in http://trac.webkit.org/changeset/88260.
2909         However, it was missed in FontCacheLinux likely due to similar param in the nested call to getCachedFontPlatformData().
2910
2911         No new tests because no directly observable change in behavior.
2912
2913         * platform/graphics/chromium/FontCacheLinux.cpp:
2914         (WebCore::FontCache::getFontDataForCharacters):
2915
2916 2011-08-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2917
2918         Unreviewed, rolling out r93565.
2919         http://trac.webkit.org/changeset/93565
2920         https://bugs.webkit.org/show_bug.cgi?id=66745
2921
2922         Breaks layout tests (Requested by koz2 on #webkit).
2923
2924         * accessibility/AccessibilityRenderObject.cpp:
2925         (WebCore::AccessibilityRenderObject::ariaLabeledByElements):
2926         (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
2927         (WebCore::AccessibilityRenderObject::title):
2928         (WebCore::AccessibilityRenderObject::hasTextAlternative):
2929         * accessibility/AccessibilityRenderObject.h:
2930
2931 2011-08-22  Alice Boxhall  <aboxhall@chromium.org>
2932
2933         Range::setEnd(const Position&, ExceptionCode) calls setStart() instead of setEnd()
2934         https://bugs.webkit.org/show_bug.cgi?id=66638
2935
2936         Reviewed by Ryosuke Niwa.
2937
2938         Relevant layout test coming in a future patch (see https://bugs.webkit.org/show_bug.cgi?id=65900)
2939
2940         * dom/Range.cpp:
2941         (WebCore::Range::setEnd):
2942
2943 2011-08-22  Adam Barth  <abarth@webkit.org>
2944
2945         Remove PLATFORM(ANDROID)
2946         https://bugs.webkit.org/show_bug.cgi?id=66741
2947
2948         Reviewed by Darin Adler.
2949
2950         PLATFORM(CHROMIUM) && OS(ANDROID) is the new hotness.  These special
2951         cases can be removed now that Android shares more code with Chromium.
2952
2953         * bindings/js/JSDOMWindowBase.cpp:
2954         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
2955         * bindings/v8/ScriptCachedFrameData.cpp:
2956         * bindings/v8/ScriptCachedFrameData.h:
2957         * bindings/v8/V8GCController.cpp:
2958         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2959         (JavaInstance::invokeMethod):
2960         * history/HistoryItem.cpp:
2961         (WebCore::HistoryItem::~HistoryItem):
2962         (WebCore::HistoryItem::setDocumentState):
2963         (WebCore::HistoryItem::clearDocumentState):
2964         (WebCore::HistoryItem::setIsTargetItem):
2965         (WebCore::HistoryItem::addChildItem):
2966         (WebCore::HistoryItem::setFormInfoFromRequest):
2967         * history/HistoryItem.h:
2968         * loader/cache/CachedFont.cpp:
2969         * platform/DragImage.h:
2970         * platform/PlatformTouchEvent.h:
2971         * platform/PlatformTouchPoint.h:
2972         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
2973         * platform/Widget.h:
2974         * platform/network/NetworkStateNotifier.cpp:
2975         * platform/network/NetworkStateNotifier.h:
2976         * platform/network/NetworkingContext.h:
2977         * platform/network/ResourceHandle.h:
2978         * platform/network/ResourceHandleInternal.h:
2979         * platform/network/ResourceRequestBase.cpp:
2980
2981 2011-08-22  Adrienne Walker  <enne@google.com>
2982
2983         [chromium] Remove compositing assertions about creating layers when painting
2984         https://bugs.webkit.org/show_bug.cgi?id=66731
2985
2986         Reviewed by James Robinson.
2987
2988         The trigger for this assertion would cause a real rendering issue, but
2989         it is both intermittent and in the wrong place in the codebase to
2990         catch the source of the problem.
2991
2992         * platform/graphics/chromium/LayerChromium.cpp:
2993         (WebCore::LayerChromium::LayerChromium):
2994         (WebCore::LayerChromium::~LayerChromium):
2995         * platform/graphics/chromium/LayerRendererChromium.cpp:
2996         (WebCore::LayerRendererChromium::updateLayers):
2997         * platform/graphics/chromium/LayerRendererChromium.h:
2998
2999 2011-08-22  Alexey Proskuryakov  <ap@apple.com>
3000
3001         showModalDialog does not correctly return the defined returnValue in case domain relaxing is used
3002         https://bugs.webkit.org/show_bug.cgi?id=53191
3003         <rdar://problem/8629478>
3004
3005         Reviewed by Geoff Garen.
3006
3007         Cannot test domain relaxing, we only have 127.0.0.1 and localhost.
3008
3009         * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getOwnPropertySlot):
3010         Added a FIXME about a difference with Firefox.
3011
3012         (WebCore::DialogHandler::DialogHandler):
3013         (WebCore::DialogHandler::dialogCreated):
3014         (WebCore::DialogHandler::returnValue):
3015         Changed to fetch returnValue from the global object that's in the frame when the dialog is
3016         dismissed. A dialog can navigate itself, and it also creates a new JSDOMWindow on first load
3017         if the origin doesn't match opener origin (which the case with domain relaxing).
3018         Re-added a security check for returnValue that got lost in r73829, so that we don't send the
3019         result across origins. This matches Firefox.
3020
3021         * bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::setWindow): Added an assertion
3022         against a very confusing case that should no longer occur.
3023
3024         * page/Frame.cpp: (WebCore::Frame::pageDestroyed): Don't clear the window shell, it doesn't
3025         seem necessary, but prevents DialogHandler from fetching the return value. Added a keepAlive
3026         call to avoid changing life support timer behavior in this patch.
3027
3028 2011-08-22  Alice Boxhall  <aboxhall@chromium.org>
3029
3030         Reviewed by Chris Fleizach.
3031
3032         aria-labelledby should be used in preference to aria-labeledby
3033         https://bugs.webkit.org/show_bug.cgi?id=62351
3034
3035         Test: accessibility/aria-labelledby-overrides-aria-labeledby.html
3036
3037         * accessibility/AccessibilityRenderObject.cpp:
3038         (WebCore::AccessibilityRenderObject::ariaLabelledByElements): Renamed from ariaLabeledByElements.
3039         (WebCore::AccessibilityRenderObject::ariaLabelledByAttribute): Renamed from ariaLabeledByAttribute,
3040         and re-ordered to prefer the standard spelling.
3041         (WebCore::AccessibilityRenderObject::title):
3042         (WebCore::AccessibilityRenderObject::hasTextAlternative):
3043         * accessibility/AccessibilityRenderObject.h:
3044
3045 2011-08-22  Nat Duca  <nduca@chromium.org>
3046
3047         Make GraphicsContext3D::isResourceSafe a function and, on Chromium, determine its value lazily
3048         https://bugs.webkit.org/show_bug.cgi?id=66708
3049
3050         Reviewed by Kenneth Russell.
3051
3052         * platform/graphics/GraphicsContext3D.cpp:
3053         (WebCore::GraphicsContext3D::texImage2DResourceSafe):
3054         * platform/graphics/GraphicsContext3D.h:
3055         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
3056         (WebCore::GraphicsContext3D::GraphicsContext3D):
3057         * platform/graphics/mac/GraphicsContext3DMac.mm:
3058         (WebCore::GraphicsContext3D::GraphicsContext3D):
3059         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3060         (WebCore::GraphicsContext3D::isResourceSafe):
3061         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3062         (WebCore::GraphicsContext3D::GraphicsContext3D):
3063
3064 2011-08-22  Adam Barth  <abarth@webkit.org>
3065
3066         HTMLSourceTracker crashes when network packets break poorly
3067         https://bugs.webkit.org/show_bug.cgi?id=66728
3068
3069         Reviewed by Darin Adler.
3070
3071         If there is a network packet boundary in the middle of an attribute
3072         that begins with the letters "on", then the HTMLSourceTracker will get
3073         confused and try to extract too many characters from future input.  If
3074         the future input is small enough, that will walk off the end of the
3075         input and crash.
3076
3077         Test: http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html
3078
3079         * html/parser/HTMLSourceTracker.cpp:
3080         (WebCore::HTMLSourceTracker::sourceForToken):
3081
3082 2011-08-22  Eric Seidel  <eric@webkit.org>
3083
3084         Attempt to clean up bidiNext usage
3085         https://bugs.webkit.org/show_bug.cgi?id=66721
3086
3087         Reviewed by Ryosuke Niwa.
3088
3089         bidiNext and bidiFirst are horribly confusing.
3090         Even worse is that bidiNext takes a bunch of mutually exclusive options.
3091         It appears that there is a "return me every inline, even if its empty"
3092         mode which is only used for simplified inline layout in RenderBlock.cpp.
3093         To support that mode, there is a endOfInline pointer which keeps track
3094         of if we just returned at the end of an inline to so we don't get stuck in
3095         and empty inline (unable to distinguish the start from the finish).
3096
3097         The actual bidi/line-layout code uses bidiNext/bidiFirst in a "skip empty inlines"
3098         mode.  (Since empty inlines do not participate in the Unicode Bidi Algorithm.)
3099
3100         This change renames bidiNext to bidiNextShared (still a horrible name) and moves
3101         all callers to explicitly calling bidiNextSkippingEmptyInlines or bidiNextIncludingEmptyInlines.
3102         It becomes obvious which code uses which.
3103
3104         In reviewing this code be aware that the previous bidiNext default was to "skip empty inlines" (skipInlines = true).
3105         Thus any caller who didn't pass true/false should now be calling bidiNextSkippingEmptyInlines instead.
3106
3107         No functional change, thus no tests.
3108
3109         * rendering/InlineIterator.h:
3110         (WebCore::bidiNextShared):
3111         (WebCore::bidiNextSkippingEmptyInlines):
3112         (WebCore::bidiNextIncludingEmptyInlines):
3113         (WebCore::bidiFirstSkippingEmptyInlines):
3114         (WebCore::bidiFirstIncludingEmptyInlines):
3115         (WebCore::InlineWalker::InlineWalker):
3116         (WebCore::InlineWalker::advance):
3117         (WebCore::InlineIterator::increment):
3118         (WebCore::InlineBidiResolver::appendRun):
3119         * rendering/RenderBlockLineLayout.cpp:
3120         (WebCore::RenderBlock::determineStartPosition):
3121         (WebCore::shouldSkipWhitespaceAfterStartObject):
3122         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
3123
3124 2011-08-22  David Levin  <levin@chromium.org>
3125
3126         Fix usage of PassRefPtr in postMessage and structured clone code.
3127         https://bugs.webkit.org/show_bug.cgi?id=66725
3128
3129         Reviewed by Darin Adler.
3130
3131         No new functionality exposed so no new tests.
3132
3133         * bindings/js/JSDOMWindowCustom.cpp:
3134         (WebCore::JSDOMWindow::postMessage): Changed PassRefPtr to RefPtr and added release when handed off.
3135         * bindings/js/JSMessageEventCustom.cpp:
3136         (WebCore::JSMessageEvent::initMessageEvent): Ditto.
3137         * bindings/js/JSMessagePortCustom.h:
3138         (WebCore::handlePostMessage): Ditto.
3139         * bindings/js/SerializedScriptValue.cpp:
3140         (WebCore::SerializedScriptValue::create): Ditto.
3141         * workers/SharedWorkerContext.cpp:
3142         (WebCore::createConnectEvent): Added release() when a RefPtr is returned.
3143
3144 2011-08-22  Luke Macpherson   <macpherson@chromium.org>
3145
3146         Implement cast between CSSPrimitiveValue and EBackfaceVisibility, use in CSSStyleSelector::applyProperty.
3147         https://bugs.webkit.org/show_bug.cgi?id=66648
3148
3149         Reviewed by Dan Bernstein.
3150
3151         No new tests / no functionality changed.
3152
3153         * css/CSSPrimitiveValueMappings.h:
3154         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3155         Support cast from EBackfaceVisibility.
3156         (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
3157         Support cast from EBackfaceVisibility.
3158         * css/CSSStyleSelector.cpp:
3159         (WebCore::CSSStyleSelector::applyProperty):
3160         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro.
3161
3162 2011-08-22  Peter Kasting  <pkasting@google.com>
3163
3164         Unreviewed, rolling out r93538.
3165         http://trac.webkit.org/changeset/93538
3166         https://bugs.webkit.org/show_bug.cgi?id=66143
3167
3168         Broke Leopard, SnowLeopard, and Chromium Mac bots
3169
3170         * rendering/LayoutState.cpp:
3171         (WebCore::LayoutState::LayoutState):
3172         * rendering/RenderBlock.cpp:
3173         (WebCore::RenderBlock::layoutBlock):
3174         (WebCore::RenderBlock::logicalRightOffsetForLine):
3175         * rendering/RenderBlock.h:
3176         * rendering/RenderFlowThread.cpp:
3177         (WebCore::RenderFlowThread::RenderFlowThread):
3178         (WebCore::RenderFlowThread::layout):
3179         (WebCore::RenderFlowThread::repaintRectangleInRegions):
3180         * rendering/RenderFlowThread.h:
3181         * rendering/RenderRegion.cpp:
3182         * rendering/RenderRegion.h:
3183         * rendering/RenderView.cpp:
3184         (WebCore::RenderView::RenderView):
3185         * rendering/RenderView.h:
3186         (WebCore::RenderView::pushLayoutState):
3187
3188 2011-08-22  Tony Chang  <tony@chromium.org>
3189
3190         Add CSS parsing of -webkit-flex-pack
3191         https://bugs.webkit.org/show_bug.cgi?id=66701
3192
3193         Reviewed by Eric Seidel.
3194
3195         * css/CSSComputedStyleDeclaration.cpp:
3196         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3197         * css/CSSParser.cpp:
3198         (WebCore::CSSParser::parseValue):
3199         * css/CSSPrimitiveValueMappings.h:
3200         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3201         (WebCore::CSSPrimitiveValue::operator EFlexPack):
3202         * css/CSSPropertyNames.in:
3203         * css/CSSStyleApplyProperty.cpp:
3204         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3205         * css/CSSStyleSelector.cpp:
3206         (WebCore::CSSStyleSelector::applyProperty):
3207         * rendering/style/RenderStyle.h:
3208         (WebCore::InheritedFlags::flexPack):
3209         (WebCore::InheritedFlags::setFlexPack):
3210         (WebCore::InheritedFlags::initialFlexPack):
3211         * rendering/style/RenderStyleConstants.h:
3212         * rendering/style/StyleFlexibleBoxData.cpp:
3213         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
3214         (WebCore::StyleFlexibleBoxData::operator==):
3215         * rendering/style/StyleFlexibleBoxData.h:
3216
3217 2011-08-22  Tony Chang  <tony@chromium.org>
3218
3219         handle child margin values when flexing
3220         https://bugs.webkit.org/show_bug.cgi?id=65887
3221
3222         Reviewed by David Hyatt.
3223
3224         Test: css3/flexbox/002.html
3225
3226         * rendering/RenderBox.cpp:
3227         (WebCore::RenderBox::computeLogicalWidth):
3228         * rendering/RenderFlexibleBox.cpp:
3229         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
3230         (WebCore::RenderFlexibleBox::computePreferredSize): If the margin is
3231             auto, treat it as flex(1 0 0).
3232         * rendering/RenderObject.cpp:
3233         (WebCore::RenderObject::isFlexibleBoxIncludingDeprecated): Added.
3234
3235 2011-08-22  Nat Duca  <nduca@chromium.org>
3236
3237         [chromium] Make compositor context current before querying for extensions
3238         https://bugs.webkit.org/show_bug.cgi?id=66696
3239
3240         Reviewed by James Robinson.
3241
3242         * platform/graphics/chromium/LayerRendererChromium.cpp:
3243         (WebCore::LayerRendererChromium::initialize):
3244
3245 2011-08-22  Cary Clark  <caryclark@google.com>
3246
3247         Webkit Mac10.6 Builder-Tester (Skia)(deps)(dbg) has compile failures
3248         https://bugs.webkit.org/show_bug.cgi?id=66703
3249
3250         This error was detected by the debug build of the Chromium WebKit
3251         Canary.
3252
3253         Reviewed by James Robinson.
3254
3255         No new tests. This change suppresses a compile-time warning
3256         but does not affect the generated code. 
3257
3258         * platform/graphics/mac/FontCustomPlatformData.h:
3259         Replaced struct with class in a forward reference.
3260
3261 2011-08-22  Alexandru Chiculita  <achicu@adobe.com>
3262
3263         [CSSRegions] RenderFlowThread layout should use the attached region sizes
3264         https://bugs.webkit.org/show_bug.cgi?id=66143
3265
3266         When RenderFlowThread is doing the layout it also sets the current RenderFlowThread on
3267         the RenderView. RenderFlowThread cannot be nested inside a single RenderView, so there's no 
3268         need to put that on the LayoutState.
3269
3270         The right offset used to layout the inlines inside a RenderFlowThread
3271         is now adjusted to fit inside the current region.
3272
3273         Reviewed by David Hyatt.
3274
3275         Tests: fast/regions/webkit-flow-floats-inside-regions-bounds.html
3276                fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-lr.html
3277                fast/regions/webkit-flow-inlines-inside-regions-bounds.html
3278
3279         * rendering/LayoutState.cpp:
3280         (WebCore::LayoutState::LayoutState):
3281         * rendering/RenderBlock.cpp:
3282         (WebCore::RenderBlock::layoutBlock):
3283         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
3284         (WebCore::RenderBlock::logicalRightOffsetForLine):
3285         * rendering/RenderBlock.h:
3286         * rendering/RenderFlowThread.cpp:
3287         (WebCore::RenderFlowThread::RenderFlowThread):
3288         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
3289         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
3290         (WebCore::RenderFlowThread::layout):
3291         (WebCore::RenderFlowThread::renderRegionForLine):
3292         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
3293         * rendering/RenderFlowThread.h:
3294         (WebCore::RegionFittingDisabler::RegionFittingDisabler):
3295         (WebCore::RegionFittingDisabler::~RegionFittingDisabler):
3296         * rendering/RenderRegion.cpp:
3297         (WebCore::RenderRegion::layout):
3298         * rendering/RenderRegion.h:
3299         * rendering/RenderView.cpp:
3300         (WebCore::RenderView::RenderView):
3301         * rendering/RenderView.h:
3302         (WebCore::RenderView::hasRenderFlowThread):
3303         (WebCore::RenderView::currentRenderFlowThread):
3304         (WebCore::RenderView::setCurrentRenderFlowThread):
3305         (WebCore::RenderView::pushLayoutState):
3306
3307 2011-08-22  Peter Kasting  <pkasting@google.com>
3308
3309         Unreviewed, rolling out r93517.
3310         http://trac.webkit.org/changeset/93517
3311         https://bugs.webkit.org/show_bug.cgi?id=63553
3312
3313         Breaks GTK Linux and Chromium Win
3314
3315         * svg/animation/SVGSMILElement.cpp:
3316         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
3317
3318 2011-08-22  Wyatt Carss  <wcarss@chromium.org>
3319
3320         FrameSelection::setNonDirectionalSelectionIfNeeded should not have a FrameSelection passed to it
3321         https://bugs.webkit.org/show_bug.cgi?id=66636
3322
3323         Reviewed by Darin Adler.
3324
3325         setNonDirectionalSelection was moved into FrameSelection in r93134 for 
3326         bug 60529, and still took a FrameSelection as an argument, which has been removed.
3327
3328         * editing/FrameSelection.cpp:
3329         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
3330
3331 2011-08-22  Tony Chang  <tony@chromium.org>
3332
3333         Add CSS parsing of -webkit-flex-order
3334         https://bugs.webkit.org/show_bug.cgi?id=65384
3335
3336         The property is an int described here:
3337         http://dev.w3.org/csswg/css3-flexbox/#flex-order
3338
3339         Doesn't do anything yet, just hooking it up.
3340
3341         Reviewed by Ojan Vafai.
3342
3343         * css/CSSComputedStyleDeclaration.cpp:
3344         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3345         * css/CSSParser.cpp:
3346         (WebCore::CSSParser::parseValue):
3347         * css/CSSPropertyNames.in:
3348         * css/CSSStyleApplyProperty.cpp:
3349         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3350         * css/CSSStyleSelector.cpp:
3351         (WebCore::CSSStyleSelector::applyProperty):
3352         * rendering/style/RenderStyle.h:
3353         (WebCore::InheritedFlags::flexOrder):
3354         (WebCore::InheritedFlags::setFlexOrder):
3355         (WebCore::InheritedFlags::initialFlexOrder):
3356         * rendering/style/StyleFlexibleBoxData.cpp:
3357         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
3358         (WebCore::StyleFlexibleBoxData::operator==):
3359         * rendering/style/StyleFlexibleBoxData.h:
3360
3361 2011-08-22  Adrienne Walker  <enne@google.com>
3362
3363         [chromium] Fix nullptr deref when switching composited tabs
3364         https://bugs.webkit.org/show_bug.cgi?id=66691
3365
3366         Reviewed by James Robinson.
3367
3368         * platform/graphics/chromium/TiledLayerChromium.cpp:
3369         (WebCore::TiledLayerChromium::protectTileTextures):
3370
3371 2011-08-22  James Robinson  <jamesr@chromium.org>
3372
3373         [chromium] Content and render surface textures not freed when compositor context destroyed
3374         https://bugs.webkit.org/show_bug.cgi?id=66589
3375
3376         Reviewed by Kenneth Russell.
3377
3378         Explicitly delete all managed textures when destroying the compositor
3379         context.  This regressed due to a combination of using share groups
3380         (so destroying a context no longer implicitly releases all resources
3381         in that context) and switching the TextureManager over to support
3382         deferred texture destruction.
3383
3384         We sadly don't have a way to construct automated tests for resource
3385         leaks currently.
3386
3387         * platform/graphics/chromium/LayerRendererChromium.cpp:
3388         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3389
3390 2011-08-22  Nate Chapin  <japhet@chromium.org>
3391
3392         Unload events can crash us when they blank out
3393         a parent frame.
3394         https://bugs.webkit.org/show_bug.cgi?id=64741
3395
3396         Reviewed by Adam Barth.
3397
3398         Test: fast/loader/document-destruction-within-unload.html
3399
3400         * loader/FrameLoader.cpp:
3401         (WebCore::FrameLoader::stopLoading): Prevent unload events
3402             from going into infinite recursion.
3403         (WebCore::FrameLoader::setDocumentLoader): Ensure we don't
3404             let set m_documentLoader to a DocumentLoader with a null Frame*.
3405         (WebCore::FrameLoader::detachChildren): Save off a vector of
3406             children to detach, rather than doing it inline.
3407
3408 2011-08-22  Young Han Lee  <joybro@company100.net>
3409
3410         Reviewed by Dirk Schulze.
3411
3412         SVG animation fill="freeze" doesn't set baseVal to current animVal if animation stops before reaching the end
3413         https://bugs.webkit.org/show_bug.cgi?id=63553
3414
3415         calculateAnimationPercentAndRepeat() is returning 1, which means 100%, whenever
3416         elapsed >= m_intervalEnd, but this is wrong because m_intervalEnd can be in the middle
3417         of the animation duration. (e.g. begin="0s" end="2s" dur="3s")
3418
3419         This change makes the function return the animations's true progress instead of 100%
3420         when the animation ends.
3421
3422         Test: svg/animations/animate-end-attribute.html
3423
3424         * svg/animation/SVGSMILElement.cpp:
3425         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
3426
3427 2011-08-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3428
3429         Fix build error when inspector is disabled.
3430         https://bugs.webkit.org/show_bug.cgi?id=66644
3431
3432         Reviewed by Darin Adler.
3433
3434         * inspector/InspectorDatabaseResource.h: Add ENABLE(INSPECTOR) macro.
3435
3436 2011-08-22  Abhishek Arya  <inferno@chromium.org>
3437
3438         Crash in FocusController::advanceFocusInDocumentOrder
3439         https://bugs.webkit.org/show_bug.cgi?id=66678
3440
3441         RefPtr the focusable node to prevent getting deleted by mutation
3442         event.
3443
3444         Reviewed by Dave Hyatt.
3445
3446         Test: fast/frames/focus-controller-crash-change-event.html
3447
3448         * page/FocusController.cpp:
3449         (WebCore::FocusController::advanceFocusInDocumentOrder):
3450
3451 2011-08-22  Justin Novosad  <junov@chromium.org>
3452
3453         [Chromium] Crash when allocation of very large canvas fails
3454         https://bugs.webkit.org/show_bug.cgi?id=66563
3455         Replacing the crash with a more graceful failure: canvas
3456         will not render.
3457
3458         Reviewed by Stephen White.
3459
3460         * platform/graphics/skia/ImageBufferSkia.cpp:
3461         (WebCore::ImageBuffer::ImageBuffer):
3462         Invoking TryCreateBitmapCanvas instead of CreateBitmapCanvas
3463         This is the non-crashing version of the factory function.
3464         It returns NULL if allocation fails.  Code for handling
3465         NULL pointer was already in place.
3466
3467 2011-08-22  Ilya Tikhonovsky  <loislo@chromium.org>
3468
3469         Web Inspector: bind registerDomainDispatcher to domain names.
3470         https://bugs.webkit.org/show_bug.cgi?id=66670