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