[chromium] Implement CCThread in terms of WebThread
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-08-23  Nat Duca  <nduca@chromium.org>
2
3         [chromium] Implement CCThread in terms of WebThread
4         https://bugs.webkit.org/show_bug.cgi?id=66610
5
6         Reviewed by Darin Fisher.
7
8         * WebCore.gypi:
9         * platform/graphics/chromium/cc/CCCompletionEvent.h:
10         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
11         (WebCore::CCLayerTreeHost::client):
12         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
13         (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
14         * platform/graphics/chromium/cc/CCThread.h:
15         (WebCore::CCThread::~CCThread):
16
17 2011-08-23  Iain Merrick  <husky@google.com>
18
19         [chromium] Renderer crashes when about:gpucrash is loaded
20         https://bugs.webkit.org/show_bug.cgi?id=66814
21
22         WebViewImpl::didRecreateGraphicsContext() was calling
23         setRootLayer() on the CC layer tree, but the root layer 
24         doesn't actually change and the code wasn't defensive        
25         against this. This CL adds some asserts to catch tree
26         corruption and removes the unnecessary calls.
27
28         Reviewed by James Robinson.
29
30         * platform/graphics/GraphicsLayer.cpp:
31         (WebCore::GraphicsLayer::setParent):
32         * platform/graphics/GraphicsLayer.h:
33         * platform/graphics/chromium/LayerChromium.cpp:
34         (WebCore::LayerChromium::setParent):
35         (WebCore::LayerChromium::hasAncestor):
36         * platform/graphics/chromium/LayerChromium.h:
37
38 2011-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
39
40         Unreviewed, rolling out r93645.
41         http://trac.webkit.org/changeset/93645
42         https://bugs.webkit.org/show_bug.cgi?id=66828
43
44         Broke webkit_unit_tests on chromium mac (Requested by jamesr
45         on #webkit).
46
47         * platform/chromium/ScrollbarThemeChromiumMac.mm:
48         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
49         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
50
51 2011-08-23  Beth Dakin  <bdakin@apple.com>
52
53         https://bugs.webkit.org/show_bug.cgi?id=66244
54         Cached pages don't fully update when going back after changing the display scale 
55         factor
56         -and corresponding-
57         <rdar://problem/9955656>
58
59         Reviewed by Darin Adler.
60
61         This patch adds a generalized concept of needing a full style recalc to the 
62         BackForwardController. So when the display scale factor is changed, the 
63         BackForwardController can be informed that all pages will need a full style recalc 
64         when they come out of the cache. This same mechanism is also used to fix a long-
65         standing bug with full-page/text zoom.
66
67         Iterate through the HistoryItems and mark all CachedPages as needing a full style 
68         recalc.
69         * history/BackForwardController.cpp:
70         (WebCore::BackForwardController::markPagesForFullStyleRecalc):
71         * history/BackForwardController.h:
72
73         ChachedPage has a new bool -- m_needsFullStyleRecalc -- to track whether a full 
74         style recalc is needed when the CachedPage is restored.
75         * history/CachedPage.cpp:
76         (WebCore::CachedPage::CachedPage):
77         (WebCore::CachedPage::restore):
78         (WebCore::CachedPage::clear):
79         * history/CachedPage.h:
80         (WebCore::CachedPage::markForFullStyleRecalc):
81
82         HistoryItem actually takes care of calling into CachedPage.
83         * history/HistoryItem.cpp:
84         (WebCore::HistoryItem::markForFullStyleRecalc):
85         * history/HistoryItem.h:
86
87         Fix style recalc issues for full-page/text zoom by calling our new function on 
88         PageCache.
89         * page/Frame.cpp:
90         (WebCore::Frame::setPageAndTextZoomFactors):
91
92         Fix style recalc issues for display scale factor changes by calling our new 
93         function on PageCache.
94         * page/Page.cpp:
95         (WebCore::Page::setDeviceScaleFactor):
96
97 2011-08-23  Anders Carlsson  <andersca@apple.com>
98
99         Fix build.
100
101         * inspector/InstrumentingAgents.cpp:
102
103 2011-08-23  Chang Shu  <cshu@webkit.org>
104
105         Added support for momentarily revealing last typed character in password input.
106         Code change was partially based on Apple's iOS code and Samuel Nevala's work.
107         https://bugs.webkit.org/show_bug.cgi?id=32509
108
109         Reviewed by Alexey Proskuryakov.
110
111         * editing/InsertIntoTextNodeCommand.cpp:
112         (WebCore::InsertIntoTextNodeCommand::doApply):
113         * rendering/RenderText.cpp:
114         (WebCore::SecureTextTimer::SecureTextTimer):
115         (WebCore::SecureTextTimer::restartWithNewText):
116         (WebCore::SecureTextTimer::invalidate):
117         (WebCore::SecureTextTimer::lastTypedCharacterOffset):
118         (WebCore::SecureTextTimer::fired):
119         (WebCore::RenderText::willBeDestroyed):
120         (WebCore::RenderText::setTextInternal):
121         (WebCore::RenderText::secureText):
122         (WebCore::RenderText::momentarilyRevealLastTypedCharacter):
123         * rendering/RenderText.h:
124         (WebCore::RenderText::isSecure):
125         * testing/Internals.cpp:
126         (WebCore::Internals::setPasswordEchoEnabled): Fixed some silly coding in Internals.
127         (WebCore::Internals::setPasswordEchoDurationInSeconds):
128         (WebCore::Internals::reset):
129
130 2011-08-23  Dmitry Lomov  <Dmitry Lomov (dslomov@google.com)>
131
132         https://bugs.webkit.org/show_bug.cgi?id=66751 
133         [Chromium]WebWorkerClientImpl should always invoke
134         InspectorIntrumentation on main thread.
135         The fix moves calls to InspectorInstrumentation from
136         WebWorkerClientImpl to unedrlying WorkerMessagingProxy.
137
138         Reviewed by Pavel Feldman.
139
140         Covered by existing tests.
141
142         * inspector/InstrumentingAgents.cpp:
143         (WebCore::instrumentationForPage):
144         * workers/WorkerMessagingProxy.cpp:
145         (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
146         (WebCore::WorkerMessagingProxy::terminateWorkerContext):
147
148 2011-08-23  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
149
150         [Qt] Button text is invisible when mobile theme is in use and application palette set to use light text color.
151         https://bugs.webkit.org/show_bug.cgi?id=66635
152
153         When mobile theme is in use and application palette is using light 
154         color to display text button text becomes invisible. The reason for 
155         that is that in RenderThemeQt::systemFont() we are using application 
156         pallete while when are painting buttons lightGrayPalette is used.
157         Calling setPaletteFromPageClientIfExists() takes care of the issue.
158         
159         Reviewed by Andreas Kling.
160
161         Covered by existing tests.
162
163         * platform/qt/RenderThemeQt.cpp:
164         (WebCore::RenderThemeQt::systemColor):
165
166 2011-08-23  Tony Chang  <tony@chromium.org>
167
168         Add handling of mix-width and max-width for flexitems
169         https://bugs.webkit.org/show_bug.cgi?id=66723
170
171         Reviewed by David Hyatt.
172
173         If we flex past a min/max width value, we need to mark the flexitem as
174         a fixed width and re-start the flexing algorithm.  We use a HashMap to
175         keep track of fixed width items.
176
177         This patch also split out the size computation from the actual layout
178         to avoid unnecessary layouts caused by restarting the flexing algorithm.
179
180         Test: css3/flexbox/003.html
181
182         * rendering/RenderFlexibleBox.cpp:
183         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
184         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
185         * rendering/RenderFlexibleBox.h:
186
187 2011-08-23  Pratik Solanki  <psolanki@apple.com>
188
189         ResourceRequest::setStorageSession should update NSURLRequest as well
190         https://bugs.webkit.org/show_bug.cgi?id=66811
191
192         Reviewed by Darin Adler.
193
194         * platform/network/cf/ResourceRequestCFNet.cpp:
195         (WebCore::ResourceRequest::setStorageSession): Update the m_nsRequest field as well since we
196         have a new CFURLRequestRef.
197
198 2011-08-23  James Robinson  <jamesr@chromium.org>
199
200         [chromium] Remove obsolete child context list from LayerRendererChromium
201         https://bugs.webkit.org/show_bug.cgi?id=66743
202
203         Reviewed by Kenneth Russell.
204
205         Before we had proper semantics for flush() in the command buffer, we
206         used a scheme of latches across contexts to ensure consistent frames
207         were presented for WebGL and canvas. We no longer have latches and
208         flush is a proper synchronization primative, so the child context list
209         no longer does anything. Canvas2DLayerChromium and
210         WebGLLayerChromium's implementations of updateCompositorResources() do
211         flushes on the appropriate context already - canvas layers via
212         DrawingBuffer::publishToPlatformLayer(), and WebGL layers via the call
213         to prepareTexture().
214
215         No new tests since the code being removed doesn't do anything.
216
217         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
218         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
219         (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
220         * platform/graphics/chromium/Canvas2DLayerChromium.h:
221         * platform/graphics/chromium/LayerRendererChromium.cpp:
222         (WebCore::LayerRendererChromium::drawLayers):
223         * platform/graphics/chromium/LayerRendererChromium.h:
224         * platform/graphics/chromium/WebGLLayerChromium.cpp:
225         (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
226         (WebCore::WebGLLayerChromium::setContext):
227         * platform/graphics/chromium/WebGLLayerChromium.h:
228
229 2011-08-23  Alexei Svitkine  <asvitkine@chromium.org>
230
231         Chromium Mac: Use a custom pattern image for rubber banding overhang area
232         https://bugs.webkit.org/show_bug.cgi?id=66707
233
234         Reviewed by Dimitri Glazkov.
235
236         No new tests since its just changing the Chromium-specific overhang pattern.
237
238         * platform/chromium/ScrollbarThemeChromiumMac.mm:
239         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
240         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
241
242 2011-08-23  Tatiana Meshkova  <tatiana.meshkova@nokia.com>
243
244         Prepare to paint slider thumb separately.
245         Provide proper size values for vertical SliderThumb.
246         https://bugs.webkit.org/show_bug.cgi?id=66732
247
248         Reviewed by Kenneth Rohde Christiansen.
249
250         * platform/qt/RenderThemeQt.cpp:
251         (WebCore::RenderThemeQt::adjustSliderThumbSize):
252         Swap length and thickness for sliderthumb-vertical.
253
254 2011-08-23  Adrienne Walker  <enne@google.com>
255
256         [chromium] Fix potential nullptr deref in TiledLayerChromium::pushPropertiesTo
257         https://bugs.webkit.org/show_bug.cgi?id=66808
258
259         Reviewed by James Robinson.
260
261         * platform/graphics/chromium/TiledLayerChromium.cpp:
262         (WebCore::TiledLayerChromium::pushPropertiesTo):
263         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
264         (WebCore::CCTiledLayerImpl::draw):
265
266 2011-08-23  Peter Kasting  <pkasting@google.com>
267
268         Unreviewed, rolling out r93452.
269         http://trac.webkit.org/changeset/93452
270         https://bugs.webkit.org/show_bug.cgi?id=66423
271
272         Broke Leopard, Snowleopard, and Chromium bots
273
274         * xml/parser/XMLDocumentParserLibxml2.cpp:
275         (WebCore::XMLDocumentParser::XMLDocumentParser):
276
277 2011-08-23  Ahmad Sharif  <asharif@chromium.org>
278
279         Fixed warnings produced by gcc-4.6.0.
280         https://bugs.webkit.org/show_bug.cgi?id=62168
281
282         Reviewed by Adam Barth.
283
284         * dom/Element.cpp:
285         (WebCore::Element::recalcStyle):
286         * platform/ScrollAnimatorNone.cpp:
287         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
288         (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
289         * thirdparty: Copied from Source/WebCore/thirdparty.
290
291 2011-08-23  Alexandru Chiculita  <achicu@adobe.com>
292
293         Text overlaps with the floats
294         https://bugs.webkit.org/show_bug.cgi?id=66671
295
296         The problem was that LineWidth::fitBelowFloats is not updating the m_left and m_right fields. 
297         Next time LineWidth::shrinkAvailableWidthForNewFloatIfNeeded was called the width was recalculated 
298         using the old values, making the line bigger.
299
300         Reviewed by David Hyatt.
301
302         Test: fast/block/float/fit_line_below_floats.html
303
304         * rendering/RenderBlockLineLayout.cpp:
305         (WebCore::LineWidth::fitBelowFloats):
306
307 2011-08-23  Alexandru Chiculita  <achicu@adobe.com>
308
309         [CSSRegions] RenderFlowThread layout should use the attached region sizes
310         https://bugs.webkit.org/show_bug.cgi?id=66143
311
312         When RenderFlowThread is doing the layout it also sets the current RenderFlowThread on
313         the RenderView. RenderFlowThread cannot be nested inside a single RenderView, so there's no 
314         need to put that on the LayoutState.
315
316         The right offset used to layout the inlines inside a RenderFlowThread
317         is now adjusted to fit inside the current region.
318
319         Reviewed by David Hyatt.
320
321         Tests: fast/regions/webkit-flow-floats-inside-regions-bounds.html
322                fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html
323                fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical.html
324                fast/regions/webkit-flow-inlines-inside-regions-bounds.html
325
326         * rendering/LayoutState.cpp:
327         (WebCore::LayoutState::LayoutState):
328         * rendering/RenderBlock.cpp:
329         (WebCore::RenderBlock::layoutBlock):
330         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
331         (WebCore::RenderBlock::logicalRightOffsetForLine):
332         * rendering/RenderBlock.h:
333         * rendering/RenderFlowThread.cpp:
334         (WebCore::RenderFlowThread::RenderFlowThread):
335         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
336         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
337         (WebCore::RenderFlowThread::layout):
338         (WebCore::RenderFlowThread::renderRegionForLine):
339         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
340         * rendering/RenderFlowThread.h:
341         (WebCore::RegionFittingDisabler::RegionFittingDisabler):
342         (WebCore::RegionFittingDisabler::~RegionFittingDisabler):
343         * rendering/RenderRegion.cpp:
344         (WebCore::RenderRegion::layout):
345         * rendering/RenderRegion.h:
346         * rendering/RenderView.cpp:
347         (WebCore::RenderView::RenderView):
348         * rendering/RenderView.h:
349         (WebCore::RenderView::hasRenderFlowThread):
350         (WebCore::RenderView::currentRenderFlowThread):
351         (WebCore::RenderView::setCurrentRenderFlowThread):
352         (WebCore::RenderView::pushLayoutState):
353
354 2011-08-23  Alexandru Chiculita  <achicu@adobe.com>
355
356         Text-indent and floats push the text out of the container box
357         https://bugs.webkit.org/show_bug.cgi?id=66662
358
359         Text indent was not propagated when a new float was pushed on the line.
360         It was only calculated when the logicalLeft/RightOffsetForLine was called.
361         Because of that RenderBlock::LineBreaker::nextLineBreak used a bigger width
362         than actually available and made the line render on top of the borders.
363
364         Reviewed by David Hyatt.
365
366         Tests: fast/block/float/floats-and-text-indent-rl.html
367                fast/block/float/floats-and-text-indent.html
368
369         * rendering/RenderBlock.cpp:
370         (WebCore::RenderBlock::textIndentOffset):
371         (WebCore::RenderBlock::logicalLeftOffsetForLine):
372         (WebCore::RenderBlock::logicalRightOffsetForLine):
373         * rendering/RenderBlock.h:
374         * rendering/RenderBlockLineLayout.cpp:
375         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
376
377 2011-08-23  Al Patrick  <apatrick@chromium.org>
378
379         Add shareResources flag to 3D graphics context attributes
380         https://bugs.webkit.org/show_bug.cgi?id=66516
381
382         Reviewed by James Robinson.
383
384         * html/canvas/WebGLRenderingContext.cpp:
385         (WebCore::WebGLRenderingContext::create):
386         * platform/graphics/GraphicsContext3D.h:
387         (WebCore::GraphicsContext3D::Attributes::Attributes):
388         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
389         (WebCore::SharedGraphicsContext3D::create):
390
391 2011-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
392
393         Unreviewed, rolling out r93616.
394         http://trac.webkit.org/changeset/93616
395         https://bugs.webkit.org/show_bug.cgi?id=66796
396
397         "causes fast/css/absolute-child-with-percent-height-inside-
398         relative-parent.html to fail" (Requested by mwenge2 on
399         #webkit).
400
401         * rendering/RenderBlock.cpp:
402         (WebCore::RenderBlock::adjustPositionedBlock):
403         * rendering/RenderBlock.h:
404         * rendering/RenderBlockLineLayout.cpp:
405         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
406         (WebCore::setStaticPositions):
407         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
408
409 2011-07-25  Robert Hogan  <robert@webkit.org>
410
411         div align="center" rendering problem
412         https://bugs.webkit.org/show_bug.cgi?id=4860
413
414         Reviewed by David Hyatt.
415
416         Tests: fast/inline/absolute-positioned-block-in-centred-block.html
417                fast/inline/absolute-positioned-inline-in-centred-block.html
418
419         When an element with absolute position was the sole or first child of a render block with
420         centred alignment, it wasn't obeying its parent's alignment. However it would obey the
421         alignment if it was preceded by some text. The problem was that the element's render object
422         was getting skipped as leading white space, so it was not included in a normal line block in
423         a bidi run. Instead, its position was getting set by RenderBlockLineLayout::setStaticPositions()
424         which does not pay attention to alignment. Preceding the element with some text allowed the object
425         to get included in a Bidi run and so get a linebox which would get properly aligned.
426
427         The fix is to get RenderBlockLineLayout::setStaticPositions() to obey the alignment specified by
428         the object's container. This allows WebKit to get the same result on the test as Firefox and IE.
429         Opera has the same bug as unpatched WebKit.
430
431         * rendering/RenderBlock.cpp:
432         (WebCore::RenderBlock::adjustPositionedBlock): use startAlignedOffsetForBlock
433         * rendering/RenderBlock.h:
434         * rendering/RenderBlockLineLayout.cpp:
435         (WebCore::RenderBlock::updateLogicalWidthForAlignment):
436         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
437         (WebCore::setStaticPositions): use startAlignedOffsetForLine and use startAlignedOffsetForBlock
438         (WebCore::RenderBlock::LineBreaker::nextLineBreak): use startAlignedOffsetForLine
439         (WebCore::RenderBlock::startAlignedOffsetForBlock): New function, find the aligned offset using updateLogicalWidthForAlignment
440         (WebCore::RenderBlock::startAlignedOffsetForLine): ditto
441
442         * rendering/RenderBlock.h:
443         * rendering/RenderBlockLineLayout.cpp:
444         (WebCore::RenderBlock::updateLogicalWidthForAlignment):
445         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
446         (WebCore::setStaticPositions): use startAlignedOffsetForLine.
447         (WebCore::RenderBlock::startAlignedOffsetForLine): New function, find the aligned offset using updateLogicalWidthForAlignment
448
449 2011-08-23  Adrienne Walker  <enne@google.com>
450
451         [chromium] Remove LayerRendererChromium references from TiledLayerChromium
452         https://bugs.webkit.org/show_bug.cgi?id=66433
453
454         Reviewed by James Robinson.
455
456         Covered by existing tests.
457
458         Updated TiledLayerChromium and the texture updater classes to not
459         access LayerRendererChromium or cache GraphicsContext3D. Some settings
460         like max texture size were moved from LayerRendererChromium to
461         CCLayerTreeHost in order to facilitate this refactoring.
462
463         LayerTextureUpdaterSkPicture has been #ifdef'd to only work when the
464         compositor is not threaded. It will need to be refactored more in
465         order to not own graphics resources from the main thread.
466
467         * platform/graphics/chromium/ContentLayerChromium.cpp:
468         (WebCore::ContentLayerChromium::paintContentsIfDirty):
469         (WebCore::ContentLayerChromium::createTextureUpdater):
470         * platform/graphics/chromium/ContentLayerChromium.h:
471         * platform/graphics/chromium/ImageLayerChromium.cpp:
472         (WebCore::ImageLayerTextureUpdater::create):
473         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
474         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
475         (WebCore::ImageLayerChromium::paintContentsIfDirty):
476         (WebCore::ImageLayerChromium::createTextureUpdater):
477         * platform/graphics/chromium/ImageLayerChromium.h:
478         * platform/graphics/chromium/LayerChromium.cpp:
479         (WebCore::LayerChromium::setLayerRenderer):
480         (WebCore::LayerChromium::setLayerTreeHost):
481         * platform/graphics/chromium/LayerChromium.h:
482         * platform/graphics/chromium/LayerRendererChromium.cpp:
483         * platform/graphics/chromium/LayerRendererChromium.h:
484         * platform/graphics/chromium/LayerTextureUpdater.h:
485         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
486         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
487         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
488         (WebCore::LayerTextureUpdaterBitmap::create):
489         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
490         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
491         (WebCore::LayerTextureUpdaterSkPicture::create):
492         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
493         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
494         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
495         (WebCore::LayerTextureUpdaterSkPicture::context):
496         * platform/graphics/chromium/TiledLayerChromium.cpp:
497         (WebCore::TiledLayerChromium::setLayerTreeHost):
498         (WebCore::TiledLayerChromium::updateCompositorResources):
499         (WebCore::TiledLayerChromium::invalidateRect):
500         (WebCore::TiledLayerChromium::prepareToUpdate):
501         * platform/graphics/chromium/TiledLayerChromium.h:
502         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
503         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
504         (WebCore::CCLayerTreeHost::initialize):
505         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
506         (WebCore::CCLayerTreeHost::layerRenderer):
507         (WebCore::CCLayerTreeHost::contextSupportsMapSub):
508         (WebCore::CCLayerTreeHost::maxTextureSize):
509         (WebCore::CCLayerTreeHost::bestTextureFormat):
510
511 2011-08-23  Julien Chaffraix  <jchaffraix@webkit.org>
512
513         Reduce the amount of RenderLayer rectangles' update when scrolling
514         https://bugs.webkit.org/show_bug.cgi?id=66618
515
516         Reviewed by David Hyatt.
517
518         This patch avoids recomputing the RenderLayers rectangles if not needed.
519
520         The current code path for scrolling would update RenderLayers' repaint rectangles
521         twice. However we do need to update only children of a fixed element as they are
522         the only type of layers that move during a scroll.
523
524         We just change a call to updateLayerPositions for a call to updateLayerPositionsAfterScroll.
525         updateLayerPositions being pessimist about the layer's state - because it is called after layout -
526         it is missing some optimization that can be done during scrolling.
527
528         Tests: fast/repaint/scroll-absolute-layer-with-reflection.html
529                fast/repaint/scroll-fixed-layer-with-reflection.html
530                fast/repaint/scroll-fixed-layer-with-transformed-parent-layer.html
531                fast/repaint/scroll-fixed-reflected-layer.html
532                fast/repaint/scroll-in-clipped-layer.html
533                fast/repaint/scroll-in-fixed-layer.html
534                fast/repaint/scroll-in-transformed-layer.html
535                fast/repaint/scroll-with-transformed-parent-layer.html
536
537         * rendering/RenderLayer.h:
538         * page/FrameView.cpp:
539         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
540         Updated those 2 call sites after updateRepaintRectsAfterScroll renaming.
541
542         * rendering/RenderLayer.cpp:
543         (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Beefed up the method
544         to take care of also updating the layer's position (that sounded like a bug in
545         the previous code that is covered by the tests above). Note that we don't care
546         if one of our ancestor has a fixed position as we are scrolling *inside* this
547         ancestor.
548
549         (WebCore::RenderLayer::scrollTo): Call updateLayerPositionsAfterScroll instead of
550         updateLayerPositions.
551
552 2011-08-23  Jeffrey Pfau  <jpfau@apple.com>
553
554         New XML parser: pretty XML tree viewer
555         https://bugs.webkit.org/show_bug.cgi?id=66489
556
557         Reviewed by Adam Barth.
558
559         * xml/parser/NewXMLDocumentParser.cpp:
560         (WebCore::NewXMLDocumentParser::finish):
561
562 2011-08-23  Jessie Berlin  <jberlin@apple.com>
563
564         Build fix.
565
566         * inspector/InspectorDOMAgent.h:
567         HighlightData is a struct, not a class.
568
569 2011-08-23  Andrey Kosyakov  <caseq@chromium.org>
570
571         Web Inspector: [Extensions API] provide access to page resources
572         https://bugs.webkit.org/show_bug.cgi?id=66767
573
574         Reviewed by Pavel Feldman.
575
576         Test: inspector/extensions/extensions-resources.html
577
578         * inspector/front-end/ExtensionAPI.js:
579         (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype.addListener):
580         (WebInspector.injectedExtensionAPI):
581         (WebInspector.injectedExtensionAPI.RequestImpl.prototype.getContent):
582         (WebInspector.injectedExtensionAPI.InspectedWindow.resourceDispatch):
583         (WebInspector.injectedExtensionAPI.InspectedWindow.resourceContentDispatch):
584         (WebInspector.injectedExtensionAPI.InspectedWindow):
585         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.eval):
586         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.getResources):
587         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.getResources.callbackWrapper):
588         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.get url):
589         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.get type):
590         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.getContent):
591         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.setContent):
592         * inspector/front-end/ExtensionServer.js:
593         (WebInspector.ExtensionServer):
594         (WebInspector.ExtensionServer.prototype._notifyResourceAdded):
595         (WebInspector.ExtensionServer.prototype.notifyResourceContentCommitted):
596         (WebInspector.ExtensionServer.prototype._makeResource):
597         (WebInspector.ExtensionServer.prototype._onGetPageResources):
598         (WebInspector.ExtensionServer.prototype._getResourceContent):
599         (WebInspector.ExtensionServer.prototype._onGetRequestContent):
600         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
601         (WebInspector.ExtensionServer.prototype._onSetResourceContent):
602         (WebInspector.ExtensionServer.prototype.initExtensions):
603         * inspector/front-end/Resource.js:
604         (WebInspector.Resource.prototype.addRevision):
605
606 2011-08-23  Pavel Feldman  <pfeldman@google.com>
607
608         Not reviewed: fixing build. One line drive-by typo fix in the inspector shortcut (Esc -> Backspace).
609
610         * inspector/InspectorDOMAgent.cpp:
611         (WebCore::InspectorDOMAgent::highlightFrame):
612         * inspector/front-end/treeoutline.js:
613         (TreeOutline.prototype._treeKeyDown):
614
615 2011-08-23  Alexander Pavlov  <apavlov@chromium.org>
616
617         Web Inspector: differentiate element highlight colors for margin and padding
618         https://bugs.webkit.org/show_bug.cgi?id=37768
619
620         The highlighting WIP API is slightly changed: clients will specify colors for certain elements of the highlighted objects,
621         rather than a generic "highlighting mode". This allows to:
622         - use entirely custom colors for highlighting (and vary them over time);
623         - display any combination of fill/outline for the highlighted area;
624         - highlight any combinations of element parts.
625
626         Reviewed by Pavel Feldman.
627
628         * inspector/DOMNodeHighlighter.cpp:
629         (WebCore::DOMNodeHighlighter::drawHighlight):
630         * inspector/DOMNodeHighlighter.h:
631         * inspector/Inspector.json:
632         * inspector/InspectorDOMAgent.cpp:
633         (WebCore::parseColor):
634         (WebCore::parseConfigColor):
635         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
636         (WebCore::InspectorDOMAgent::clearFrontend):
637         (WebCore::InspectorDOMAgent::highlightedNode):
638         (WebCore::InspectorDOMAgent::handleMousePress):
639         (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
640         (WebCore::InspectorDOMAgent::setSearchingForNode):
641         (WebCore::InspectorDOMAgent::setInspectModeEnabled):
642         (WebCore::InspectorDOMAgent::setHighlightDataFromConfig):
643         (WebCore::InspectorDOMAgent::highlight):
644         (WebCore::InspectorDOMAgent::highlightRect):
645         (WebCore::InspectorDOMAgent::highlightNode):
646         (WebCore::InspectorDOMAgent::highlightFrame):
647         (WebCore::InspectorDOMAgent::hideHighlight):
648         (WebCore::InspectorDOMAgent::drawHighlight):
649         * inspector/InspectorDOMAgent.h:
650         * inspector/front-end/Color.js:
651         (WebInspector.Color.fromRGBA):
652         (WebInspector.Color.prototype.toProtocolRGBA):
653         * inspector/front-end/ElementsPanel.js:
654         (WebInspector.ElementsPanel.prototype.setSearchingForNode):
655         * inspector/front-end/MetricsSidebarPane.js:
656         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.handleMouseOver):
657         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.handleMouseOut):
658         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
659         * inspector/front-end/ResourcesPanel.js:
660         (WebInspector.FrameTreeElement.prototype.set hovered):
661         * inspector/front-end/TimelinePanel.js:
662         (WebInspector.TimelinePanel.prototype._highlightRect):
663         * inspector/front-end/inspector.css:
664         * inspector/front-end/inspector.js:
665         (WebInspector.buildHighlightConfig):
666         (WebInspector.highlightDOMNode):
667
668 2011-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
669
670         Unreviewed, rolling out r93579.
671         http://trac.webkit.org/changeset/93579
672         https://bugs.webkit.org/show_bug.cgi?id=66774
673
674         "ASSERTION FAILED: m_purgePreventCount" (Requested by tonyg-cr
675         on #webkit).
676
677         * platform/graphics/chromium/FontCacheLinux.cpp:
678         (WebCore::FontCache::getFontDataForCharacters):
679
680 2011-08-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
681
682         [Qt] Fix build on Lion
683
684         https://bugs.webkit.org/show_bug.cgi?id=66770
685
686         Reviewed by Andreas Kling.
687
688         We were mistakenly picking up mac/WebCoreSystemInterface.h instead of
689         the Qt one, and building on Lion revealed this when a typedef for
690         IOSurfaceRef was wrapped in PLATFORM(MAC).
691
692         For now we fix this by including WebCoreSystemInterface using
693         brackets, so that we'll pick up the right file based on the
694         include paths. This also means exposing a few missing enums
695         in our own version of the file, so those were added.
696
697         Lasty, we need to link against the right system interface library
698         on Lion.
699
700         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
701         * platform/qt/WebCoreSystemInterface.h:
702
703 2011-08-23  Steve Block  <steveblock@google.com>
704
705         Remove last occurrences of PLATFORM(ANDROID)
706         https://bugs.webkit.org/show_bug.cgi?id=66763
707
708         Reviewed by Tony Gentilcore.
709
710         No new tests, removing dead code only.
711
712         * bindings/v8/V8GCController.cpp:
713         (WebCore::V8GCController::checkMemoryUsage):
714
715 2011-08-23  Steve Block  <steveblock@google.com>
716
717         Remove Android-specific modifications to non-client-based Geolocation
718         https://bugs.webkit.org/show_bug.cgi?id=66759
719
720         Reviewed by Tony Gentilcore.
721
722         No new tests, removing dead code only.
723
724         * page/Geolocation.cpp:
725         * page/Geolocation.h:
726         * platform/GeolocationService.h:
727         * platform/efl/GeolocationServiceEfl.cpp:
728         * platform/efl/GeolocationServiceEfl.h:
729         * platform/gtk/GeolocationServiceGtk.cpp:
730         * platform/gtk/GeolocationServiceGtk.h:
731
732 2011-08-19  Pavel Podivilov  <podivilov@chromium.org>
733
734         Web Inspector: switch to using BreakpointManager.
735         https://bugs.webkit.org/show_bug.cgi?id=66225
736
737         Reviewed by Pavel Feldman.
738
739         * inspector/front-end/DebuggerPresentationModel.js:
740         (WebInspector.DebuggerPresentationModel):
741         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
742         (WebInspector.DebuggerPresentationModel.prototype._addScript):
743         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
744         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
745         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
746         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
747         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
748         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
749         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
750         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
751         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
752         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
753         (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
754         * inspector/front-end/SourceFile.js:
755         (WebInspector.RawSourceCode):
756
757 2011-08-23  Steve Block  <steveblock@google.com>
758
759         Remove all mention of removed Android files from build scripts
760         https://bugs.webkit.org/show_bug.cgi?id=66755
761
762         Reviewed by Tony Gentilcore.
763
764         No new tests, removing dead code only.
765
766         * WebCore.gyp/WebCore.gyp:
767         * WebCore.gypi:
768         * gyp/WebCore.gyp:
769
770 2011-08-23  Mikhail Naganov  <mnaganov@chromium.org>
771
772         Web Inspector: [Chromium] Fix handling of aggregate names in profiler.
773         https://bugs.webkit.org/show_bug.cgi?id=66753
774
775         Reviewed by Pavel Feldman.
776
777         * inspector/front-end/HeapSnapshot.js:
778         (WebInspector.HeapSnapshot.prototype._buildAggregates):
779
780 2011-08-23  Adam Barth  <abarth@webkit.org>
781
782         Remove WebCore/editing/android and other Android-specific directories
783         https://bugs.webkit.org/show_bug.cgi?id=66739
784
785         Reviewed by Steve Block.
786
787         Now that Android shares more code with Chromium, we don't need these
788         Android-specific files.
789
790         * editing/android: Removed.
791         * editing/android/EditorAndroid.cpp: Removed.
792         * history/android: Removed.
793         * history/android/AndroidWebHistoryBridge.h: Removed.
794         * history/android/HistoryItemAndroid.cpp: Removed.
795         * page/android: Removed.
796         * page/android/DragControllerAndroid.cpp: Removed.
797         * page/android/EventHandlerAndroid.cpp: Removed.
798         * platform/network/android: Removed.
799         * platform/network/android/AuthenticationChallenge.h: Removed.
800         * platform/network/android/CookieJarAndroid.cpp: Removed.
801         * platform/network/android/ProxyServerAndroid.cpp: Removed.
802         * platform/network/android/ResourceError.h: Removed.
803         * platform/network/android/ResourceHandleAndroid.cpp: Removed.
804         * platform/network/android/ResourceLoaderAndroid.h: Removed.
805         * platform/network/android/ResourceRequest.h: Removed.
806         * platform/network/android/ResourceRequestAndroid.cpp: Removed.
807         * platform/network/android/ResourceResponse.h: Removed.
808         * platform/text/android: Removed.
809         * platform/text/android/HyphenationAndroid.cpp: Removed.
810         * platform/text/android/TextBreakIteratorInternalICU.cpp: Removed.
811
812 2011-08-23  Adam Barth  <abarth@webkit.org>
813
814         Remove WebCore/platform/android
815         https://bugs.webkit.org/show_bug.cgi?id=66734
816
817         Reviewed by Steve Block.
818
819         This directory is not needed now that Android shares more code with
820         Chromium.
821
822         * platform/android: Removed.
823         * platform/android/ClipboardAndroid.cpp: Removed.
824         * platform/android/ClipboardAndroid.h: Removed.
825         * platform/android/CursorAndroid.cpp: Removed.
826         * platform/android/DragDataAndroid.cpp: Removed.
827         * platform/android/EventLoopAndroid.cpp: Removed.
828         * platform/android/FileSystemAndroid.cpp: Removed.
829         * platform/android/GeolocationServiceAndroid.cpp: Removed.
830         * platform/android/GeolocationServiceAndroid.h: Removed.
831         * platform/android/GeolocationServiceBridge.cpp: Removed.
832         * platform/android/GeolocationServiceBridge.h: Removed.
833         * platform/android/KeyEventAndroid.cpp: Removed.
834         * platform/android/LanguageAndroid.cpp: Removed.
835         * platform/android/LocalizedStringsAndroid.cpp: Removed.
836         * platform/android/PlatformBridge.h: Removed.
837         * platform/android/PlatformTouchEventAndroid.cpp: Removed.
838         * platform/android/PlatformTouchPointAndroid.cpp: Removed.
839         * platform/android/PopupMenuAndroid.cpp: Removed.
840         * platform/android/RenderThemeAndroid.cpp: Removed.
841         * platform/android/RenderThemeAndroid.h: Removed.
842         * platform/android/SSLKeyGeneratorAndroid.cpp: Removed.
843         * platform/android/ScreenAndroid.cpp: Removed.
844         * platform/android/ScrollViewAndroid.cpp: Removed.
845         * platform/android/SearchPopupMenuAndroid.cpp: Removed.
846         * platform/android/SharedTimerAndroid.cpp: Removed.
847         * platform/android/SoundAndroid.cpp: Removed.
848         * platform/android/SystemTimeAndroid.cpp: Removed.
849         * platform/android/TemporaryLinkStubs.cpp: Removed.
850         * platform/android/WidgetAndroid.cpp: Removed.
851
852 2011-08-23  Pavel Feldman  <pfeldman@google.com>
853
854         Not reviewed. Adding a file that slipped from r93586.
855
856         * inspector/generate-protocol-externs: Added.
857
858 2011-08-22  Pavel Feldman  <pfeldman@google.com>
859
860         Web Inspector: generate protocol externs API for the front-end compilation.
861         https://bugs.webkit.org/show_bug.cgi?id=66677
862
863         Reviewed by Tony Gentilcore.
864
865         * inspector/Inspector.json:
866         * inspector/InspectorDOMAgent.cpp:
867         (WebCore::InspectorDOMAgent::setAttributesText):
868         * inspector/InspectorDOMAgent.h:
869         * inspector/InspectorDebuggerAgent.cpp:
870         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
871         * inspector/InspectorDebuggerAgent.h:
872         * inspector/compile-front-end.sh: Added.
873         * inspector/front-end/DOMAgent.js:
874         (WebInspector.DOMNode.prototype.setAttribute):
875         * inspector/front-end/DebuggerModel.js:
876         (WebInspector.DebuggerModel.prototype.setBreakpoint):
877         * inspector/front-end/externs.js: Added.
878         (console.warn):
879
880 2011-08-22  Pavel Feldman  <pfeldman@google.com>
881
882         Web Inspector: Prepare utilities.js for compilation.
883         https://bugs.webkit.org/show_bug.cgi?id=66656
884
885         Removes "this" usage in functions, does not define getters for offsets.
886
887         Reviewed by Tony Gentilcore.
888
889         * inspector/front-end/ConsoleView.js:
890         (WebInspector.ConsoleMessage.prototype._format):
891         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.valueFormatter):
892         * inspector/front-end/DOMAgent.js:
893         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
894         (WebInspector.DOMNode.prototype.isAncestor):
895         (WebInspector.DOMNode.prototype.isDescendant):
896         (WebInspector.DOMNode.prototype.isWhitespace):
897         * inspector/front-end/DataGrid.js:
898         (WebInspector.DataGrid.prototype._resizerDragging):
899         (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle):
900         * inspector/front-end/Drawer.js:
901         (WebInspector.Drawer.prototype.get savedHeight):
902         (WebInspector.Drawer.prototype.onResize):
903         (WebInspector.Drawer.prototype._startStatusBarDragging):
904         (WebInspector.Drawer.prototype._statusBarDragging):
905         * inspector/front-end/ElementsPanel.js:
906         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
907         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
908         (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.crumbsAreSmallerThanContainer):
909         * inspector/front-end/ElementsTreeOutline.js:
910         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
911         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
912         ():
913         * inspector/front-end/RemoteObject.js:
914         (WebInspector.RemoteObject):
915         * inspector/front-end/ResourceTimingView.js:
916         (WebInspector.ResourceTimingView.createTimingTable):
917         * inspector/front-end/ResourcesPanel.js:
918         (WebInspector.BaseStorageTreeElement.prototype.isEventWithinDisclosureTriangle):
919         * inspector/front-end/ScriptsPanel.js:
920         (WebInspector.ScriptsPanel.prototype._startSidebarResizeDrag):
921         * inspector/front-end/SoftContextMenu.js:
922         (.WebInspector.SoftContextMenu.prototype.show):
923         * inspector/front-end/Toolbar.js:
924         (WebInspector.ToolbarDropdown.prototype.show):
925         * inspector/front-end/WatchExpressionsSidebarPane.js:
926         (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
927         * inspector/front-end/inspector.js:
928         (Number.secondsToString):
929         (Number.bytesToString):
930         * inspector/front-end/treeoutline.js:
931         (TreeElement.prototype.isEventWithinDisclosureTriangle):
932         * inspector/front-end/utilities.js:
933         (setupPrototypeUtilities.Element.prototype.totalOffsetLeft):
934         (setupPrototypeUtilities.Element.prototype.totalOffsetTop):
935         (setupPrototypeUtilities.Element.prototype.offsetRelativeToWindow):
936         (setupPrototypeUtilities):
937         (setupPrototypeUtilities.):
938         ():
939
940 2011-08-22  John Bates  <jbates@google.com>
941
942         Implemented skia support for caching resizes of cropped images.
943         https://bugs.webkit.org/show_bug.cgi?id=65587
944
945         Reviewed by Darin Fisher.
946
947         Previously, resizes of cropped images would not be cached. This causes various websites to have janky CSS animations in software compositing mode.
948
949         * platform/graphics/skia/ImageSkia.cpp:
950         (WebCore::drawResampledBitmap): Changed to use new APIs for subset caching.
951         (WebCore::Image::drawPattern): Added allowCaching parameter.
952         * platform/graphics/skia/NativeImageSkia.cpp:
953         (WebCore::NativeImageSkia::NativeImageSkia):
954         (WebCore::NativeImageSkia::CachedImageInfo::CachedImageInfo):
955         (WebCore::NativeImageSkia::CachedImageInfo::isEqual):
956         (WebCore::NativeImageSkia::CachedImageInfo::set):
957         (WebCore::NativeImageSkia::hasResizedBitmap): Changed this method so that it does not modify caching data. Added a second version used for cropped image resizes.
958         (WebCore::NativeImageSkia::resizedBitmap): Added parameter to let caller specify whether caching is allowed.
959         (WebCore::NativeImageSkia::shouldCacheResampling): Added a second version used for cropped image resizes.
960         (WebCore::NativeImageSkia::shouldCacheResamplingInternal): Both shouldCacheResampling methods call down to this for the shared logic.
961         * platform/graphics/skia/NativeImageSkia.h: Added CachedImageInfo to uniquely identify the cached or requested image resize operation.
962
963 2011-08-22  Tony Gentilcore  <tonyg@chromium.org>
964
965         [chromium] Fonts returned by FontCache::getFontDataForCharacters() are never released
966         https://bugs.webkit.org/show_bug.cgi?id=66673
967
968         Reviewed by James Robinson.
969
970         This was fixed for other ports in http://trac.webkit.org/changeset/88260.
971         However, it was missed in FontCacheLinux likely due to similar param in the nested call to getCachedFontPlatformData().
972
973         No new tests because no directly observable change in behavior.
974
975         * platform/graphics/chromium/FontCacheLinux.cpp:
976         (WebCore::FontCache::getFontDataForCharacters):
977
978 2011-08-22  Sheriff Bot  <webkit.review.bot@gmail.com>
979
980         Unreviewed, rolling out r93565.
981         http://trac.webkit.org/changeset/93565
982         https://bugs.webkit.org/show_bug.cgi?id=66745
983
984         Breaks layout tests (Requested by koz2 on #webkit).
985
986         * accessibility/AccessibilityRenderObject.cpp:
987         (WebCore::AccessibilityRenderObject::ariaLabeledByElements):
988         (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
989         (WebCore::AccessibilityRenderObject::title):
990         (WebCore::AccessibilityRenderObject::hasTextAlternative):
991         * accessibility/AccessibilityRenderObject.h:
992
993 2011-08-22  Alice Boxhall  <aboxhall@chromium.org>
994
995         Range::setEnd(const Position&, ExceptionCode) calls setStart() instead of setEnd()
996         https://bugs.webkit.org/show_bug.cgi?id=66638
997
998         Reviewed by Ryosuke Niwa.
999
1000         Relevant layout test coming in a future patch (see https://bugs.webkit.org/show_bug.cgi?id=65900)
1001
1002         * dom/Range.cpp:
1003         (WebCore::Range::setEnd):
1004
1005 2011-08-22  Adam Barth  <abarth@webkit.org>
1006
1007         Remove PLATFORM(ANDROID)
1008         https://bugs.webkit.org/show_bug.cgi?id=66741
1009
1010         Reviewed by Darin Adler.
1011
1012         PLATFORM(CHROMIUM) && OS(ANDROID) is the new hotness.  These special
1013         cases can be removed now that Android shares more code with Chromium.
1014
1015         * bindings/js/JSDOMWindowBase.cpp:
1016         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
1017         * bindings/v8/ScriptCachedFrameData.cpp:
1018         * bindings/v8/ScriptCachedFrameData.h:
1019         * bindings/v8/V8GCController.cpp:
1020         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1021         (JavaInstance::invokeMethod):
1022         * history/HistoryItem.cpp:
1023         (WebCore::HistoryItem::~HistoryItem):
1024         (WebCore::HistoryItem::setDocumentState):
1025         (WebCore::HistoryItem::clearDocumentState):
1026         (WebCore::HistoryItem::setIsTargetItem):
1027         (WebCore::HistoryItem::addChildItem):
1028         (WebCore::HistoryItem::setFormInfoFromRequest):
1029         * history/HistoryItem.h:
1030         * loader/cache/CachedFont.cpp:
1031         * platform/DragImage.h:
1032         * platform/PlatformTouchEvent.h:
1033         * platform/PlatformTouchPoint.h:
1034         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
1035         * platform/Widget.h:
1036         * platform/network/NetworkStateNotifier.cpp:
1037         * platform/network/NetworkStateNotifier.h:
1038         * platform/network/NetworkingContext.h:
1039         * platform/network/ResourceHandle.h:
1040         * platform/network/ResourceHandleInternal.h:
1041         * platform/network/ResourceRequestBase.cpp:
1042
1043 2011-08-22  Adrienne Walker  <enne@google.com>
1044
1045         [chromium] Remove compositing assertions about creating layers when painting
1046         https://bugs.webkit.org/show_bug.cgi?id=66731
1047
1048         Reviewed by James Robinson.
1049
1050         The trigger for this assertion would cause a real rendering issue, but
1051         it is both intermittent and in the wrong place in the codebase to
1052         catch the source of the problem.
1053
1054         * platform/graphics/chromium/LayerChromium.cpp:
1055         (WebCore::LayerChromium::LayerChromium):
1056         (WebCore::LayerChromium::~LayerChromium):
1057         * platform/graphics/chromium/LayerRendererChromium.cpp:
1058         (WebCore::LayerRendererChromium::updateLayers):
1059         * platform/graphics/chromium/LayerRendererChromium.h:
1060
1061 2011-08-22  Alexey Proskuryakov  <ap@apple.com>
1062
1063         showModalDialog does not correctly return the defined returnValue in case domain relaxing is used
1064         https://bugs.webkit.org/show_bug.cgi?id=53191
1065         <rdar://problem/8629478>
1066
1067         Reviewed by Geoff Garen.
1068
1069         Cannot test domain relaxing, we only have 127.0.0.1 and localhost.
1070
1071         * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getOwnPropertySlot):
1072         Added a FIXME about a difference with Firefox.
1073
1074         (WebCore::DialogHandler::DialogHandler):
1075         (WebCore::DialogHandler::dialogCreated):
1076         (WebCore::DialogHandler::returnValue):
1077         Changed to fetch returnValue from the global object that's in the frame when the dialog is
1078         dismissed. A dialog can navigate itself, and it also creates a new JSDOMWindow on first load
1079         if the origin doesn't match opener origin (which the case with domain relaxing).
1080         Re-added a security check for returnValue that got lost in r73829, so that we don't send the
1081         result across origins. This matches Firefox.
1082
1083         * bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::setWindow): Added an assertion
1084         against a very confusing case that should no longer occur.
1085
1086         * page/Frame.cpp: (WebCore::Frame::pageDestroyed): Don't clear the window shell, it doesn't
1087         seem necessary, but prevents DialogHandler from fetching the return value. Added a keepAlive
1088         call to avoid changing life support timer behavior in this patch.
1089
1090 2011-08-22  Alice Boxhall  <aboxhall@chromium.org>
1091
1092         Reviewed by Chris Fleizach.
1093
1094         aria-labelledby should be used in preference to aria-labeledby
1095         https://bugs.webkit.org/show_bug.cgi?id=62351
1096
1097         Test: accessibility/aria-labelledby-overrides-aria-labeledby.html
1098
1099         * accessibility/AccessibilityRenderObject.cpp:
1100         (WebCore::AccessibilityRenderObject::ariaLabelledByElements): Renamed from ariaLabeledByElements.
1101         (WebCore::AccessibilityRenderObject::ariaLabelledByAttribute): Renamed from ariaLabeledByAttribute,
1102         and re-ordered to prefer the standard spelling.
1103         (WebCore::AccessibilityRenderObject::title):
1104         (WebCore::AccessibilityRenderObject::hasTextAlternative):
1105         * accessibility/AccessibilityRenderObject.h:
1106
1107 2011-08-22  Nat Duca  <nduca@chromium.org>
1108
1109         Make GraphicsContext3D::isResourceSafe a function and, on Chromium, determine its value lazily
1110         https://bugs.webkit.org/show_bug.cgi?id=66708
1111
1112         Reviewed by Kenneth Russell.
1113
1114         * platform/graphics/GraphicsContext3D.cpp:
1115         (WebCore::GraphicsContext3D::texImage2DResourceSafe):
1116         * platform/graphics/GraphicsContext3D.h:
1117         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
1118         (WebCore::GraphicsContext3D::GraphicsContext3D):
1119         * platform/graphics/mac/GraphicsContext3DMac.mm:
1120         (WebCore::GraphicsContext3D::GraphicsContext3D):
1121         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1122         (WebCore::GraphicsContext3D::isResourceSafe):
1123         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1124         (WebCore::GraphicsContext3D::GraphicsContext3D):
1125
1126 2011-08-22  Adam Barth  <abarth@webkit.org>
1127
1128         HTMLSourceTracker crashes when network packets break poorly
1129         https://bugs.webkit.org/show_bug.cgi?id=66728
1130
1131         Reviewed by Darin Adler.
1132
1133         If there is a network packet boundary in the middle of an attribute
1134         that begins with the letters "on", then the HTMLSourceTracker will get
1135         confused and try to extract too many characters from future input.  If
1136         the future input is small enough, that will walk off the end of the
1137         input and crash.
1138
1139         Test: http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html
1140
1141         * html/parser/HTMLSourceTracker.cpp:
1142         (WebCore::HTMLSourceTracker::sourceForToken):
1143
1144 2011-08-22  Eric Seidel  <eric@webkit.org>
1145
1146         Attempt to clean up bidiNext usage
1147         https://bugs.webkit.org/show_bug.cgi?id=66721
1148
1149         Reviewed by Ryosuke Niwa.
1150
1151         bidiNext and bidiFirst are horribly confusing.
1152         Even worse is that bidiNext takes a bunch of mutually exclusive options.
1153         It appears that there is a "return me every inline, even if its empty"
1154         mode which is only used for simplified inline layout in RenderBlock.cpp.
1155         To support that mode, there is a endOfInline pointer which keeps track
1156         of if we just returned at the end of an inline to so we don't get stuck in
1157         and empty inline (unable to distinguish the start from the finish).
1158
1159         The actual bidi/line-layout code uses bidiNext/bidiFirst in a "skip empty inlines"
1160         mode.  (Since empty inlines do not participate in the Unicode Bidi Algorithm.)
1161
1162         This change renames bidiNext to bidiNextShared (still a horrible name) and moves
1163         all callers to explicitly calling bidiNextSkippingEmptyInlines or bidiNextIncludingEmptyInlines.
1164         It becomes obvious which code uses which.
1165
1166         In reviewing this code be aware that the previous bidiNext default was to "skip empty inlines" (skipInlines = true).
1167         Thus any caller who didn't pass true/false should now be calling bidiNextSkippingEmptyInlines instead.
1168
1169         No functional change, thus no tests.
1170
1171         * rendering/InlineIterator.h:
1172         (WebCore::bidiNextShared):
1173         (WebCore::bidiNextSkippingEmptyInlines):
1174         (WebCore::bidiNextIncludingEmptyInlines):
1175         (WebCore::bidiFirstSkippingEmptyInlines):
1176         (WebCore::bidiFirstIncludingEmptyInlines):
1177         (WebCore::InlineWalker::InlineWalker):
1178         (WebCore::InlineWalker::advance):
1179         (WebCore::InlineIterator::increment):
1180         (WebCore::InlineBidiResolver::appendRun):
1181         * rendering/RenderBlockLineLayout.cpp:
1182         (WebCore::RenderBlock::determineStartPosition):
1183         (WebCore::shouldSkipWhitespaceAfterStartObject):
1184         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
1185
1186 2011-08-22  David Levin  <levin@chromium.org>
1187
1188         Fix usage of PassRefPtr in postMessage and structured clone code.
1189         https://bugs.webkit.org/show_bug.cgi?id=66725
1190
1191         Reviewed by Darin Adler.
1192
1193         No new functionality exposed so no new tests.
1194
1195         * bindings/js/JSDOMWindowCustom.cpp:
1196         (WebCore::JSDOMWindow::postMessage): Changed PassRefPtr to RefPtr and added release when handed off.
1197         * bindings/js/JSMessageEventCustom.cpp:
1198         (WebCore::JSMessageEvent::initMessageEvent): Ditto.
1199         * bindings/js/JSMessagePortCustom.h:
1200         (WebCore::handlePostMessage): Ditto.
1201         * bindings/js/SerializedScriptValue.cpp:
1202         (WebCore::SerializedScriptValue::create): Ditto.
1203         * workers/SharedWorkerContext.cpp:
1204         (WebCore::createConnectEvent): Added release() when a RefPtr is returned.
1205
1206 2011-08-22  Luke Macpherson   <macpherson@chromium.org>
1207
1208         Implement cast between CSSPrimitiveValue and EBackfaceVisibility, use in CSSStyleSelector::applyProperty.
1209         https://bugs.webkit.org/show_bug.cgi?id=66648
1210
1211         Reviewed by Dan Bernstein.
1212
1213         No new tests / no functionality changed.
1214
1215         * css/CSSPrimitiveValueMappings.h:
1216         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1217         Support cast from EBackfaceVisibility.
1218         (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
1219         Support cast from EBackfaceVisibility.
1220         * css/CSSStyleSelector.cpp:
1221         (WebCore::CSSStyleSelector::applyProperty):
1222         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro.
1223
1224 2011-08-22  Peter Kasting  <pkasting@google.com>
1225
1226         Unreviewed, rolling out r93538.
1227         http://trac.webkit.org/changeset/93538
1228         https://bugs.webkit.org/show_bug.cgi?id=66143
1229
1230         Broke Leopard, SnowLeopard, and Chromium Mac bots
1231
1232         * rendering/LayoutState.cpp:
1233         (WebCore::LayoutState::LayoutState):
1234         * rendering/RenderBlock.cpp:
1235         (WebCore::RenderBlock::layoutBlock):
1236         (WebCore::RenderBlock::logicalRightOffsetForLine):
1237         * rendering/RenderBlock.h:
1238         * rendering/RenderFlowThread.cpp:
1239         (WebCore::RenderFlowThread::RenderFlowThread):
1240         (WebCore::RenderFlowThread::layout):
1241         (WebCore::RenderFlowThread::repaintRectangleInRegions):
1242         * rendering/RenderFlowThread.h:
1243         * rendering/RenderRegion.cpp:
1244         * rendering/RenderRegion.h:
1245         * rendering/RenderView.cpp:
1246         (WebCore::RenderView::RenderView):
1247         * rendering/RenderView.h:
1248         (WebCore::RenderView::pushLayoutState):
1249
1250 2011-08-22  Tony Chang  <tony@chromium.org>
1251
1252         Add CSS parsing of -webkit-flex-pack
1253         https://bugs.webkit.org/show_bug.cgi?id=66701
1254
1255         Reviewed by Eric Seidel.
1256
1257         * css/CSSComputedStyleDeclaration.cpp:
1258         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1259         * css/CSSParser.cpp:
1260         (WebCore::CSSParser::parseValue):
1261         * css/CSSPrimitiveValueMappings.h:
1262         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1263         (WebCore::CSSPrimitiveValue::operator EFlexPack):
1264         * css/CSSPropertyNames.in:
1265         * css/CSSStyleApplyProperty.cpp:
1266         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1267         * css/CSSStyleSelector.cpp:
1268         (WebCore::CSSStyleSelector::applyProperty):
1269         * rendering/style/RenderStyle.h:
1270         (WebCore::InheritedFlags::flexPack):
1271         (WebCore::InheritedFlags::setFlexPack):
1272         (WebCore::InheritedFlags::initialFlexPack):
1273         * rendering/style/RenderStyleConstants.h:
1274         * rendering/style/StyleFlexibleBoxData.cpp:
1275         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1276         (WebCore::StyleFlexibleBoxData::operator==):
1277         * rendering/style/StyleFlexibleBoxData.h:
1278
1279 2011-08-22  Tony Chang  <tony@chromium.org>
1280
1281         handle child margin values when flexing
1282         https://bugs.webkit.org/show_bug.cgi?id=65887
1283
1284         Reviewed by David Hyatt.
1285
1286         Test: css3/flexbox/002.html
1287
1288         * rendering/RenderBox.cpp:
1289         (WebCore::RenderBox::computeLogicalWidth):
1290         * rendering/RenderFlexibleBox.cpp:
1291         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
1292         (WebCore::RenderFlexibleBox::computePreferredSize): If the margin is
1293             auto, treat it as flex(1 0 0).
1294         * rendering/RenderObject.cpp:
1295         (WebCore::RenderObject::isFlexibleBoxIncludingDeprecated): Added.
1296
1297 2011-08-22  Nat Duca  <nduca@chromium.org>
1298
1299         [chromium] Make compositor context current before querying for extensions
1300         https://bugs.webkit.org/show_bug.cgi?id=66696
1301
1302         Reviewed by James Robinson.
1303
1304         * platform/graphics/chromium/LayerRendererChromium.cpp:
1305         (WebCore::LayerRendererChromium::initialize):
1306
1307 2011-08-22  Cary Clark  <caryclark@google.com>
1308
1309         Webkit Mac10.6 Builder-Tester (Skia)(deps)(dbg) has compile failures
1310         https://bugs.webkit.org/show_bug.cgi?id=66703
1311
1312         This error was detected by the debug build of the Chromium WebKit
1313         Canary.
1314
1315         Reviewed by James Robinson.
1316
1317         No new tests. This change suppresses a compile-time warning
1318         but does not affect the generated code. 
1319
1320         * platform/graphics/mac/FontCustomPlatformData.h:
1321         Replaced struct with class in a forward reference.
1322
1323 2011-08-22  Alexandru Chiculita  <achicu@adobe.com>
1324
1325         [CSSRegions] RenderFlowThread layout should use the attached region sizes
1326         https://bugs.webkit.org/show_bug.cgi?id=66143
1327
1328         When RenderFlowThread is doing the layout it also sets the current RenderFlowThread on
1329         the RenderView. RenderFlowThread cannot be nested inside a single RenderView, so there's no 
1330         need to put that on the LayoutState.
1331
1332         The right offset used to layout the inlines inside a RenderFlowThread
1333         is now adjusted to fit inside the current region.
1334
1335         Reviewed by David Hyatt.
1336
1337         Tests: fast/regions/webkit-flow-floats-inside-regions-bounds.html
1338                fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-lr.html
1339                fast/regions/webkit-flow-inlines-inside-regions-bounds.html
1340
1341         * rendering/LayoutState.cpp:
1342         (WebCore::LayoutState::LayoutState):
1343         * rendering/RenderBlock.cpp:
1344         (WebCore::RenderBlock::layoutBlock):
1345         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
1346         (WebCore::RenderBlock::logicalRightOffsetForLine):
1347         * rendering/RenderBlock.h:
1348         * rendering/RenderFlowThread.cpp:
1349         (WebCore::RenderFlowThread::RenderFlowThread):
1350         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
1351         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
1352         (WebCore::RenderFlowThread::layout):
1353         (WebCore::RenderFlowThread::renderRegionForLine):
1354         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
1355         * rendering/RenderFlowThread.h:
1356         (WebCore::RegionFittingDisabler::RegionFittingDisabler):
1357         (WebCore::RegionFittingDisabler::~RegionFittingDisabler):
1358         * rendering/RenderRegion.cpp:
1359         (WebCore::RenderRegion::layout):
1360         * rendering/RenderRegion.h:
1361         * rendering/RenderView.cpp:
1362         (WebCore::RenderView::RenderView):
1363         * rendering/RenderView.h:
1364         (WebCore::RenderView::hasRenderFlowThread):
1365         (WebCore::RenderView::currentRenderFlowThread):
1366         (WebCore::RenderView::setCurrentRenderFlowThread):
1367         (WebCore::RenderView::pushLayoutState):
1368
1369 2011-08-22  Peter Kasting  <pkasting@google.com>
1370
1371         Unreviewed, rolling out r93517.
1372         http://trac.webkit.org/changeset/93517
1373         https://bugs.webkit.org/show_bug.cgi?id=63553
1374
1375         Breaks GTK Linux and Chromium Win
1376
1377         * svg/animation/SVGSMILElement.cpp:
1378         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
1379
1380 2011-08-22  Wyatt Carss  <wcarss@chromium.org>
1381
1382         FrameSelection::setNonDirectionalSelectionIfNeeded should not have a FrameSelection passed to it
1383         https://bugs.webkit.org/show_bug.cgi?id=66636
1384
1385         Reviewed by Darin Adler.
1386
1387         setNonDirectionalSelection was moved into FrameSelection in r93134 for 
1388         bug 60529, and still took a FrameSelection as an argument, which has been removed.
1389
1390         * editing/FrameSelection.cpp:
1391         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
1392
1393 2011-08-22  Tony Chang  <tony@chromium.org>
1394
1395         Add CSS parsing of -webkit-flex-order
1396         https://bugs.webkit.org/show_bug.cgi?id=65384
1397
1398         The property is an int described here:
1399         http://dev.w3.org/csswg/css3-flexbox/#flex-order
1400
1401         Doesn't do anything yet, just hooking it up.
1402
1403         Reviewed by Ojan Vafai.
1404
1405         * css/CSSComputedStyleDeclaration.cpp:
1406         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1407         * css/CSSParser.cpp:
1408         (WebCore::CSSParser::parseValue):
1409         * css/CSSPropertyNames.in:
1410         * css/CSSStyleApplyProperty.cpp:
1411         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1412         * css/CSSStyleSelector.cpp:
1413         (WebCore::CSSStyleSelector::applyProperty):
1414         * rendering/style/RenderStyle.h:
1415         (WebCore::InheritedFlags::flexOrder):
1416         (WebCore::InheritedFlags::setFlexOrder):
1417         (WebCore::InheritedFlags::initialFlexOrder):
1418         * rendering/style/StyleFlexibleBoxData.cpp:
1419         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1420         (WebCore::StyleFlexibleBoxData::operator==):
1421         * rendering/style/StyleFlexibleBoxData.h:
1422
1423 2011-08-22  Adrienne Walker  <enne@google.com>
1424
1425         [chromium] Fix nullptr deref when switching composited tabs
1426         https://bugs.webkit.org/show_bug.cgi?id=66691
1427
1428         Reviewed by James Robinson.
1429
1430         * platform/graphics/chromium/TiledLayerChromium.cpp:
1431         (WebCore::TiledLayerChromium::protectTileTextures):
1432
1433 2011-08-22  James Robinson  <jamesr@chromium.org>
1434
1435         [chromium] Content and render surface textures not freed when compositor context destroyed
1436         https://bugs.webkit.org/show_bug.cgi?id=66589
1437
1438         Reviewed by Kenneth Russell.
1439
1440         Explicitly delete all managed textures when destroying the compositor
1441         context.  This regressed due to a combination of using share groups
1442         (so destroying a context no longer implicitly releases all resources
1443         in that context) and switching the TextureManager over to support
1444         deferred texture destruction.
1445
1446         We sadly don't have a way to construct automated tests for resource
1447         leaks currently.
1448
1449         * platform/graphics/chromium/LayerRendererChromium.cpp:
1450         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1451
1452 2011-08-22  Nate Chapin  <japhet@chromium.org>
1453
1454         Unload events can crash us when they blank out
1455         a parent frame.
1456         https://bugs.webkit.org/show_bug.cgi?id=64741
1457
1458         Reviewed by Adam Barth.
1459
1460         Test: fast/loader/document-destruction-within-unload.html
1461
1462         * loader/FrameLoader.cpp:
1463         (WebCore::FrameLoader::stopLoading): Prevent unload events
1464             from going into infinite recursion.
1465         (WebCore::FrameLoader::setDocumentLoader): Ensure we don't
1466             let set m_documentLoader to a DocumentLoader with a null Frame*.
1467         (WebCore::FrameLoader::detachChildren): Save off a vector of
1468             children to detach, rather than doing it inline.
1469
1470 2011-08-22  Young Han Lee  <joybro@company100.net>
1471
1472         Reviewed by Dirk Schulze.
1473
1474         SVG animation fill="freeze" doesn't set baseVal to current animVal if animation stops before reaching the end
1475         https://bugs.webkit.org/show_bug.cgi?id=63553
1476
1477         calculateAnimationPercentAndRepeat() is returning 1, which means 100%, whenever
1478         elapsed >= m_intervalEnd, but this is wrong because m_intervalEnd can be in the middle
1479         of the animation duration. (e.g. begin="0s" end="2s" dur="3s")
1480
1481         This change makes the function return the animations's true progress instead of 100%
1482         when the animation ends.
1483
1484         Test: svg/animations/animate-end-attribute.html
1485
1486         * svg/animation/SVGSMILElement.cpp:
1487         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
1488
1489 2011-08-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1490
1491         Fix build error when inspector is disabled.
1492         https://bugs.webkit.org/show_bug.cgi?id=66644
1493
1494         Reviewed by Darin Adler.
1495
1496         * inspector/InspectorDatabaseResource.h: Add ENABLE(INSPECTOR) macro.
1497
1498 2011-08-22  Abhishek Arya  <inferno@chromium.org>
1499
1500         Crash in FocusController::advanceFocusInDocumentOrder
1501         https://bugs.webkit.org/show_bug.cgi?id=66678
1502
1503         RefPtr the focusable node to prevent getting deleted by mutation
1504         event.
1505
1506         Reviewed by Dave Hyatt.
1507
1508         Test: fast/frames/focus-controller-crash-change-event.html
1509
1510         * page/FocusController.cpp:
1511         (WebCore::FocusController::advanceFocusInDocumentOrder):
1512
1513 2011-08-22  Justin Novosad  <junov@chromium.org>
1514
1515         [Chromium] Crash when allocation of very large canvas fails
1516         https://bugs.webkit.org/show_bug.cgi?id=66563
1517         Replacing the crash with a more graceful failure: canvas
1518         will not render.
1519
1520         Reviewed by Stephen White.
1521
1522         * platform/graphics/skia/ImageBufferSkia.cpp:
1523         (WebCore::ImageBuffer::ImageBuffer):
1524         Invoking TryCreateBitmapCanvas instead of CreateBitmapCanvas
1525         This is the non-crashing version of the factory function.
1526         It returns NULL if allocation fails.  Code for handling
1527         NULL pointer was already in place.
1528
1529 2011-08-22  Ilya Tikhonovsky  <loislo@chromium.org>
1530
1531         Web Inspector: bind registerDomainDispatcher to domain names.
1532         https://bugs.webkit.org/show_bug.cgi?id=66670
1533
1534         jscompiler can't be used for validating domain events dispatchers because registerDomainDispatcher is too generic.
1535         I'd like to introduce named versions per each domain.
1536
1537         Reviewed by Pavel Feldman.
1538
1539         * inspector/CodeGeneratorInspector.pm:
1540         (GenerateInterface):
1541         (generateBackendStubJS):
1542         * inspector/front-end/ApplicationCacheItemsView.js:
1543         * inspector/front-end/ConsoleView.js:
1544         * inspector/front-end/DOMAgent.js:
1545         (WebInspector.DOMAgent):
1546         * inspector/front-end/DOMStorage.js:
1547         * inspector/front-end/Database.js:
1548         * inspector/front-end/DebuggerModel.js:
1549         (WebInspector.DebuggerModel):
1550         * inspector/front-end/NetworkManager.js:
1551         (WebInspector.NetworkDispatcher):
1552         * inspector/front-end/ProfilesPanel.js:
1553         * inspector/front-end/ResourceTreeModel.js:
1554         (WebInspector.ResourceTreeModel):
1555         * inspector/front-end/TimelineManager.js:
1556         (WebInspector.TimelineDispatcher):
1557         * inspector/front-end/WorkerManager.js:
1558         (WebInspector.WorkerManager):
1559         * inspector/front-end/inspector.js:
1560
1561 2011-08-22  Benjamin Poulain  <benjamin@webkit.org>
1562
1563         Fix generate-inspector-idl for Python3 after r93396
1564         https://bugs.webkit.org/show_bug.cgi?id=66663
1565
1566         Reviewed by Andreas Kling.
1567
1568         In Python3, print is a function instead of a language keyword. Using parentheses
1569         around the argument ensures the code works for both Python 2 and 3.
1570
1571         * inspector/generate-inspector-idl:
1572
1573 2011-08-22  Keishi Hattori  <keishi@webkit.org>
1574
1575         Chrome::setSelectedColorInColorChooser shouldn't be called when color chooser sets a new color
1576         https://bugs.webkit.org/show_bug.cgi?id=66658
1577
1578         Reviewed by Kent Tamura.
1579
1580         * html/ColorInputType.cpp:
1581         (WebCore::ColorInputType::colorSelected): Call setValueFromRenderer instead of setValue.
1582         * html/ColorInputType.h:
1583
1584 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
1585
1586         Web Inspector: extract breakpoint management code to a separate class and add tests.
1587         https://bugs.webkit.org/show_bug.cgi?id=66224
1588
1589         Reviewed by Pavel Feldman.
1590
1591         Test: inspector/debugger/breakpoint-manager.html
1592
1593         * WebCore.gypi:
1594         * WebCore.vcproj/WebCore.vcproj:
1595         * inspector/front-end/BreakpointManager.js: Added.
1596         (WebInspector.BreakpointManager):
1597         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
1598         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
1599         (WebInspector.BreakpointManager.prototype.setBreakpoint):
1600         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
1601         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
1602         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
1603         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
1604         (WebInspector.BreakpointManager.prototype._deleteBreakpointFromUI):
1605         (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
1606         (WebInspector.BreakpointManager.prototype._breakpoints):
1607         (WebInspector.BreakpointManager.prototype._breakpoint):
1608         (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
1609         (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
1610         (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
1611         (WebInspector.BreakpointManager.prototype._breakpointResolved):
1612         (WebInspector.BreakpointManager.prototype.serializeBreakpoints):
1613         (WebInspector.BreakpointManager.prototype.reset):
1614         (WebInspector.BreakpointManager.prototype.debuggerReset):
1615         (WebInspector.Breakpoint):
1616         (WebInspector.Breakpoint.prototype.serialize):
1617         (WebInspector.Breakpoint.deserialize):
1618         * inspector/front-end/DebuggerModel.js:
1619         (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
1620         * inspector/front-end/SourceFile.js:
1621         (WebInspector.RawSourceCode.prototype.get rawSourceCode):
1622         * inspector/front-end/WebKit.qrc:
1623         * inspector/front-end/inspector.html:
1624
1625 2011-08-21  Martin Robinson  <mrobinson@igalia.com>
1626
1627         Fix 'make dist' for WebKitGTK+.
1628
1629         * GNUmakefile.am: Add a missing file to the EXTRA_DIST list.
1630         * GNUmakefile.list.am: Update the sources list to reflect reality.
1631
1632 2011-08-20  Nebojsa Ciric  <cira@chromium.org>
1633
1634         Point build system and #include headers to v8-i18n library instead of v8 library.
1635         We forked a new code.google.com/p/v8-i18n project from v8/extensions/experimental.
1636         https://bugs.webkit.org/show_bug.cgi?id=66573
1637
1638         Reviewed by Kent Tamura.
1639
1640         Covered by existing tests, and no code was changed.
1641
1642         * WebCore.gyp/WebCore.gyp:
1643         * bindings/v8/V8DOMWindowShell.cpp:
1644         (WebCore::V8DOMWindowShell::createNewContext):
1645
1646 2011-08-20  Tom Zakrajsek  <tomz@codeaurora.org>
1647
1648         instanceof HTMLSourceElement Fails
1649         https://bugs.webkit.org/show_bug.cgi?id=65013
1650
1651         Reviewed by Eric Carlson.
1652
1653         Add HTMLSourceElement to DOMWindow.idl for consistency.  Constructors for
1654         all elements should be available on DOMWindow.
1655
1656         * bindings/generic/RuntimeEnabledFeatures.cpp:
1657         (WebCore::RuntimeEnabledFeatures::htmlSourceElementEnabled):
1658         * bindings/generic/RuntimeEnabledFeatures.h:
1659         * page/DOMWindow.idl:
1660
1661 2011-08-20  Darin Adler  <darin@apple.com>
1662
1663         If Range::insertNode is passed an empty document fragment, it creates a broken DOM tree
1664         https://bugs.webkit.org/show_bug.cgi?id=65015
1665
1666         Reviewed by Alexey Proskuryakov.
1667
1668         Test: fast/dom/Range/insertNode-empty-fragment-crash.html
1669
1670         * dom/Range.cpp: (WebCore::Range::insertNode): Don't adjust the range after insertion
1671         if we didn't add anything. Otherwise the code will put a wrong "child before" value into
1672         the range end boundary point.
1673
1674 2011-08-20  Ken Buchanan  <kenrb@chromium.org>
1675
1676         OOB Read in WebCore::SVGAnimationElement
1677         https://bugs.webkit.org/show_bug.cgi?id=65858
1678
1679         Reviewed by Nikolas Zimmermann.
1680
1681         Potential crash resulting from incorrect keySpline array lengths. This fix validates the length in startedActiveInterval.
1682
1683         Test: svg/animations/animate-calcMode-spline-crash-bad-array-length.xhtml
1684
1685         * svg/SVGAnimationElement.cpp:
1686         (WebCore::SVGAnimationElement::parseMappedAttribute):
1687         (WebCore::SVGAnimationElement::calculateKeyTimesIndex):
1688
1689 2011-08-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1690
1691         Unreviewed, rolling out r93415.
1692         http://trac.webkit.org/changeset/93415
1693         https://bugs.webkit.org/show_bug.cgi?id=66623
1694
1695         Introduces failing test (Requested by pfeldman on #webkit).
1696
1697         * WebCore.gypi:
1698         * WebCore.vcproj/WebCore.vcproj:
1699         * inspector/front-end/BreakpointManager.js: Removed.
1700         * inspector/front-end/DebuggerModel.js:
1701         * inspector/front-end/SourceFile.js:
1702         * inspector/front-end/WebKit.qrc:
1703         * inspector/front-end/inspector.html:
1704
1705 2011-08-19  Chris Fleizach  <cfleizach@apple.com>
1706
1707         AX WK2 Regression: WebKit outputs incorrect AX position in frames/iframes
1708         https://bugs.webkit.org/show_bug.cgi?id=61289
1709
1710         Update the code to determine the position of accessibility elements on Mac for WK2,
1711         so that elements within iframes are positioned correctly.
1712
1713         Reviewed by Darin Adler..
1714
1715         * accessibility/AccessibilityObject.cpp:
1716         (WebCore::AccessibilityObject::page):
1717         * accessibility/AccessibilityObject.h:
1718         * accessibility/mac/AccessibilityObjectWrapper.mm:
1719         (-[AccessibilityObjectWrapper position]):
1720
1721 2011-08-19  Jeffrey Pfau  <jpfau@apple.com>
1722
1723         New XML parser: text nodes outside of root element not created for document fragments
1724         https://bugs.webkit.org/show_bug.cgi?id=66604
1725
1726         When intializing a fragment parser, declare that the first element has been seen. Also, flush the text nodes when finishing parsing a document.
1727
1728         Reviewed by Darin Adler.
1729
1730         * xml/parser/NewXMLDocumentParser.cpp:
1731         (WebCore::NewXMLDocumentParser::finish):
1732         * xml/parser/XMLTreeBuilder.cpp:
1733         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
1734         (WebCore::XMLTreeBuilder::processToken):
1735         (WebCore::XMLTreeBuilder::finish):
1736         * xml/parser/XMLTreeBuilder.h:
1737
1738 2011-08-19  Jeff Miller  <jeffm@apple.com>
1739
1740         MediaPlayerPrivateAVFoundationCF should use AVCFURLAssetCopyAudiovisualMIMETypes() to get list of supported MIME types
1741         https://bugs.webkit.org/show_bug.cgi?id=66612
1742
1743         Reviewed by Darin Adler.
1744
1745         No new tests, should be covered by existing media tests.
1746
1747         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Added AVCFURLAssetCopyAudiovisualMIMETypes().
1748         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1749         (WebCore::mimeTypeCache): Use AVCFURLAssetCopyAudiovisualMIMETypes() to build the cache of supported MIME types.
1750
1751 2011-08-19  Adrienne Walker  <enne@google.com>
1752
1753         [chromium] Regression: Fix clang errors from r93424
1754         https://bugs.webkit.org/show_bug.cgi?id=66609
1755
1756         Reviewed by James Robinson.
1757
1758         The invalidateRect function does not appear to be used anywhere
1759         because the setNeedsDisplay function is used instead. Fix the Clang
1760         error by just removing this unused vestigial base class function.
1761
1762         * platform/graphics/chromium/LayerChromium.h:
1763
1764 2011-08-19  Anders Carlsson  <andersca@apple.com>
1765
1766         Add new enums to npapi.h
1767         https://bugs.webkit.org/show_bug.cgi?id=66608
1768
1769         Reviewed by Sam Weinig.
1770
1771         * bridge/npapi.h:
1772
1773 2011-08-19  Jeffrey Pfau  <jpfau@apple.com>
1774
1775         libxml2 fragment parser loses prefix namespaces
1776         https://bugs.webkit.org/show_bug.cgi?id=66423
1777
1778         This makes the loop over the elements outside of the context actually update the element it's processing.
1779
1780         Reviewed by Darin Adler.
1781
1782         Test: fast/parser/innerhtml-with-prefixed-elements.xhtml
1783
1784         * xml/parser/XMLDocumentParserLibxml2.cpp:
1785         (WebCore::XMLDocumentParser::XMLDocumentParser):
1786
1787 2011-08-19  Beth Dakin  <bdakin@apple.com>
1788
1789         https://bugs.webkit.org/show_bug.cgi?id=66590
1790         Re-name scrollbar painter types
1791
1792         Reviewed by Sam Weinig.
1793
1794         Names changed to remove references to WebKitSystemInterface since the 
1795         implementation is now in WebCore. And the type names changed to be more Objective-
1796         Cish instead of C++ish
1797         WTF_USE_WK_SCROLLBAR_PAINTER -> WTF_USE_SCROLLBAR_PAINTER
1798         WKScrollbarPainterRef -> ScrollbarPainter
1799         WKScrollbarPainterControllerRef -> ScrollbarPainterController
1800
1801         * platform/mac/NSScrollerImpDetails.h:
1802         * platform/mac/ScrollAnimatorMac.h:
1803         * platform/mac/ScrollAnimatorMac.mm:
1804         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
1805         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
1806         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
1807         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
1808         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1809         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1810         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
1811         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
1812         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
1813         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
1814         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
1815         (WebCore::ScrollAnimatorMac::willStartLiveResize):
1816         (WebCore::ScrollAnimatorMac::contentsResized):
1817         (WebCore::ScrollAnimatorMac::willEndLiveResize):
1818         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
1819         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
1820         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
1821         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
1822         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1823         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
1824         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1825         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
1826         (WebCore::ScrollAnimatorMac::cancelAnimations):
1827         (WebCore::ScrollAnimatorMac::setIsActive):
1828         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
1829         * platform/mac/ScrollViewMac.mm:
1830         (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
1831         * platform/mac/ScrollbarThemeMac.h:
1832         * platform/mac/ScrollbarThemeMac.mm:
1833         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
1834         (WebCore::updateArrowPlacement):
1835         (WebCore::ScrollbarThemeMac::registerScrollbar):
1836         (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
1837         (WebCore::ScrollbarThemeMac::painterForScrollbar):
1838         (WebCore::ScrollbarThemeMac::scrollbarThickness):
1839         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
1840         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
1841         (WebCore::ScrollbarThemeMac::hasThumb):
1842         (WebCore::ScrollbarThemeMac::minimumThumbLength):
1843         (WebCore::ScrollbarThemeMac::updateEnabledState):
1844         (WebCore::scrollbarPainterPaint):
1845         (WebCore::ScrollbarThemeMac::paint):
1846
1847 2011-08-19  Van Lam  <vanlam@google.com>
1848
1849         Rename VisiblePosition::honorEditableBoundary* to VisiblePosition::honorEditingBoundary*
1850         https://bugs.webkit.org/show_bug.cgi?id=66499
1851
1852         Reviewed by Ryosuke Niwa.
1853
1854         Renamed VisiblePosition::honorEditableBoundary* to
1855         honorEditingBoundary.
1856
1857         * editing/VisiblePosition.cpp:
1858         (WebCore::VisiblePosition::next):
1859         (WebCore::VisiblePosition::previous):
1860         (WebCore::VisiblePosition::left):
1861         (WebCore::VisiblePosition::right):
1862         (WebCore::VisiblePosition::honorEditingBoundaryAtOrBefore):
1863         (WebCore::VisiblePosition::honorEditingBoundaryAtOrAfter):
1864         * editing/VisiblePosition.h:
1865         * editing/visible_units.cpp:
1866         (WebCore::previousWordPosition):
1867         (WebCore::nextWordPosition):
1868         (WebCore::startOfLine):
1869         (WebCore::endOfLine):
1870         (WebCore::previousSentencePosition):
1871         (WebCore::nextSentencePosition):
1872         (WebCore::logicalStartOfLine):
1873         (WebCore::logicalEndOfLine):
1874         (WebCore::leftWordPosition):
1875         (WebCore::rightWordPosition):
1876
1877 2011-08-19  James Robinson  <jamesr@chromium.org>
1878
1879         REGRESSION(r91628): 3 canvas tests crash on Chromium Linux and one test fail on Chromium Mac
1880         https://bugs.webkit.org/show_bug.cgi?id=65063
1881
1882         Reviewed by Darin Fisher.
1883
1884         Fixes crashes due to a bad cast from Image to BitmapImage on skia ports
1885         that use BitmapImageSingleFrameSkia. In the skia port
1886         Image::isBitmapImage() returning true does not necessarily mean that
1887         Image is of type BitmapImage.
1888
1889         Covered by fast/canvas/canvas-as-image.html and many other canvas
1890         tests.
1891
1892         Patch originally by Tom Hudson.
1893
1894         * platform/graphics/BitmapImage.h:
1895         (WebCore::BitmapImage::currentFrameHasAlpha):
1896         (WebCore::BitmapImage::notSolidColor):
1897         * platform/graphics/Image.cpp:
1898         (WebCore::Image::drawTiled):
1899         * platform/graphics/Image.h:
1900         (WebCore::Image::currentFrameHasAlpha):
1901         (WebCore::Image::notSolidColor):
1902         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
1903         (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
1904         (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
1905         * rendering/RenderImage.cpp:
1906         (WebCore::RenderImage::backgroundIsObscured):
1907
1908 2011-08-19  Emil A Eklund  <eae@chromium.org>
1909
1910         Switch clipping for svg to to new layout types
1911         https://bugs.webkit.org/show_bug.cgi?id=66586
1912
1913         Reviewed by Eric Seidel.
1914
1915         No new tests as no new functionality.
1916
1917         * rendering/svg/RenderSVGForeignObject.h:
1918         * rendering/svg/RenderSVGGradientStop.h:
1919         (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
1920         * rendering/svg/RenderSVGHiddenContainer.h:
1921         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
1922         * rendering/svg/RenderSVGInline.cpp:
1923         (WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
1924         (WebCore::RenderSVGInline::computeRectForRepaint):
1925         * rendering/svg/RenderSVGInline.h:
1926         * rendering/svg/RenderSVGModelObject.cpp:
1927         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
1928         (WebCore::RenderSVGModelObject::computeRectForRepaint):
1929         * rendering/svg/RenderSVGModelObject.h:
1930         * rendering/svg/RenderSVGText.cpp:
1931         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
1932         (WebCore::RenderSVGText::computeRectForRepaint):
1933         * rendering/svg/RenderSVGText.h:
1934         * svg/SVGSVGElement.cpp:
1935         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
1936         * svg/SVGSVGElement.h:
1937         (WebCore::SVGSVGElement::setContainerSize):
1938         (WebCore::SVGSVGElement::containerSize):
1939         * svg/graphics/SVGImage.cpp:
1940         (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
1941         (WebCore::SVGImage::setContainerSize):
1942         * svg/graphics/SVGImage.h:
1943
1944 2011-08-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1945
1946         Unreviewed, rolling out r93425.
1947         http://trac.webkit.org/changeset/93425
1948         https://bugs.webkit.org/show_bug.cgi?id=66591
1949
1950         "The newly-added ASSERT is being triggered on several bots"
1951         (Requested by jchaffraix on #webkit).
1952
1953         * html/HTMLLinkElement.cpp:
1954         (WebCore::HTMLLinkElement::HTMLLinkElement):
1955         (WebCore::HTMLLinkElement::setDisabled):
1956         (WebCore::HTMLLinkElement::sheetLoaded):
1957         (WebCore::HTMLLinkElement::disabled):
1958         * html/HTMLLinkElement.h:
1959         (WebCore::HTMLLinkElement::isEnabledViaScript):
1960
1961 2011-08-18  Adrienne Walker  <enne@google.com>
1962
1963         [chromium] Refactor updateCompositorResources to take an explicit GraphicsContext3D
1964         https://bugs.webkit.org/show_bug.cgi?id=66432
1965
1966         Reviewed by James Robinson.
1967
1968         Covered by existing tests.
1969
1970         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1971         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1972         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1973         * platform/graphics/chromium/LayerChromium.h:
1974         (WebCore::LayerChromium::updateCompositorResources):
1975         * platform/graphics/chromium/LayerRendererChromium.cpp:
1976         (WebCore::LayerRendererChromium::updateCompositorResources):
1977         * platform/graphics/chromium/TiledLayerChromium.cpp:
1978         (WebCore::TiledLayerChromium::updateCompositorResources):
1979         * platform/graphics/chromium/TiledLayerChromium.h:
1980         * platform/graphics/chromium/VideoLayerChromium.cpp:
1981         (WebCore::VideoLayerChromium::updateCompositorResources):
1982         * platform/graphics/chromium/VideoLayerChromium.h:
1983         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1984         (WebCore::WebGLLayerChromium::updateCompositorResources):
1985         * platform/graphics/chromium/WebGLLayerChromium.h:
1986
1987 2011-08-19  Victoria Kirst  <vrk@chromium.org>
1988
1989         Tell media player to prepareToPlay() at end of HTMLMediaElement::load()
1990         https://bugs.webkit.org/show_bug.cgi?id=66414
1991
1992         Reviewed by Eric Carlson.
1993
1994         Test: media/video-load-preload-none.html
1995
1996         * html/HTMLMediaElement.cpp:
1997         (WebCore::HTMLMediaElement::load):
1998
1999 2011-08-19  Emil A Eklund  <eae@chromium.org>
2000
2001         Switch RenderBlock to to new layout types
2002         https://bugs.webkit.org/show_bug.cgi?id=66502
2003
2004         Reviewed by Eric Seidel.
2005
2006         Convert RenderBlock to new layout abstraction. Leave m_lineHight as a 30
2007         bit int for now to avoid unnecessarily increasing the memory usage.
2008
2009         No new tests as no new functionality.
2010
2011         * rendering/RenderBlock.cpp:
2012         * rendering/RenderBlock.h:
2013
2014 2011-08-19  Emil A Eklund  <eae@chromium.org>
2015
2016         Switch RenderBoxModelObject to to new layout types
2017         https://bugs.webkit.org/show_bug.cgi?id=66534
2018
2019         Reviewed by Eric Seidel.
2020
2021         Convert RenderBoxModelObject to new layout abstraction.
2022
2023         No new tests as no new functionality.
2024
2025         * rendering/RenderBoxModelObject.cpp:
2026         (WebCore::ImageQualityController::set):
2027         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
2028         (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
2029         (WebCore::backgroundRectAdjustedForBleedAvoidance):
2030         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2031         (WebCore::RenderBoxModelObject::calculateFillTileSize):
2032         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
2033         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2034         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2035         (WebCore::borderWillArcInnerEdge):
2036         (WebCore::RenderBoxModelObject::paintOneBorderSide):
2037         (WebCore::RenderBoxModelObject::paintBorderSides):
2038         (WebCore::RenderBoxModelObject::paintBorder):
2039         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2040         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2041         (WebCore::areaCastingShadowInHole):
2042         (WebCore::RenderBoxModelObject::paintBoxShadow):
2043         (WebCore::RenderBoxModelObject::containingBlockLogicalWidthForContent):
2044         * rendering/RenderBoxModelObject.h:
2045
2046 2011-08-19  Mihnea Ovidenie  <mihnea@adobe.com>
2047
2048         [CSSRegions]Speed up RenderFlowThread repaint of regions
2049         https://bugs.webkit.org/show_bug.cgi?id=66566
2050
2051         Reviewed by David Hyatt.
2052
2053         When in printing or the repaint rectangle is empty, there is no need to iterate
2054         the render flow regions in order to repaint.
2055         Covered by existing tests.
2056
2057         * rendering/RenderFlowThread.cpp:
2058         (WebCore::RenderFlowThread::shouldRepaint):
2059         (WebCore::RenderFlowThread::repaintRectangleInRegions):
2060         * rendering/RenderFlowThread.h:
2061
2062 2011-08-19  Mihnea Ovidenie  <mihnea@adobe.com>
2063
2064         [CSSRegions]Parse -webkit-region-break(after, before, inside)
2065         https://bugs.webkit.org/show_bug.cgi?id=66559
2066
2067         Reviewed by David Hyatt.
2068
2069         * css/CSSComputedStyleDeclaration.cpp:
2070         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2071         * css/CSSMutableStyleDeclaration.cpp:
2072         * css/CSSParser.cpp:
2073         (WebCore::CSSParser::parseValue):
2074         * css/CSSPropertyNames.in:
2075         * css/CSSStyleSelector.cpp:
2076         (WebCore::CSSStyleSelector::applyProperty):
2077         * rendering/style/RenderStyle.h:
2078         (WebCore::InheritedFlags::regionBreakBefore):
2079         (WebCore::InheritedFlags::regionBreakInside):
2080         (WebCore::InheritedFlags::regionBreakAfter):
2081         (WebCore::InheritedFlags::setRegionBreakBefore):
2082         (WebCore::InheritedFlags::setRegionBreakInside):
2083         (WebCore::InheritedFlags::setRegionBreakAfter):
2084         * rendering/style/StyleRareNonInheritedData.cpp:
2085         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2086         (WebCore::StyleRareNonInheritedData::operator==):
2087         * rendering/style/StyleRareNonInheritedData.h:
2088
2089 2011-08-19  Emil A Eklund  <eae@chromium.org>
2090
2091         Switch RenderLayer to to new layout types
2092         https://bugs.webkit.org/show_bug.cgi?id=66507
2093
2094         Reviewed by Eric Seidel.
2095
2096         Convert RenderLayer to new layout abstraction.
2097
2098         No new tests as no new functionality.
2099
2100         * rendering/LayoutTypes.h:
2101         (WebCore::flooredLayoutSize):
2102         * rendering/RenderLayer.cpp:
2103         * rendering/RenderLayer.h:
2104         * rendering/RenderLayerBacking.cpp:
2105         * rendering/RenderLayerBacking.h:
2106         * rendering/RenderLayerCompositor.cpp:
2107         * rendering/RenderLayerCompositor.h:
2108
2109 2011-08-19  Mihnea Ovidenie  <mihnea@adobe.com>
2110
2111         [CSSRegions]Content displayed in regions should not be scrollable
2112         https://bugs.webkit.org/show_bug.cgi?id=66459
2113
2114         Reviewed by Darin Adler.
2115
2116         Initially, when creating the style for the RenderFlowThread, overflowX and overflowY were both set to hidden,
2117         so that RenderView did not display scrollbars when a RenderFlowThread exists. However, this allowed the possibility
2118         of scrolling the content displayed in region.
2119
2120         Now, the RenderFlowThread objects are ignored in RenderBlock::insertPositionedObject and the style of the RenderFlowThread
2121         can be set to visible, thus preventing scrolling of the content displayed in regions.
2122
2123         Test: fast/regions/content-flowed-into-regions-no-scroll.html
2124
2125         * rendering/RenderFlowThread.cpp:
2126         (WebCore::RenderFlowThread::createFlowThreadStyle):
2127
2128 2011-08-19  Julien Chaffraix  <jchaffraix@webkit.org>
2129
2130         REGRESSION (r84327-r84329): CSS stylesheets fail to load on www.flagstar.com login page
2131         https://bugs.webkit.org/show_bug.cgi?id=65140
2132         <rdar://problem/9835905>
2133
2134         Reviewed by Antti Koivisto.
2135
2136         Tests: fast/css/stylesheet-enable-first-alternate-on-load.html
2137                fast/css/stylesheet-enable-first-alternate.html
2138                fast/css/stylesheet-enable-second-alternate-on-load.html
2139                fast/css/stylesheet-enable-second-alternate.html
2140                http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html
2141                http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html
2142
2143         The gist of the issue is that we were ignoring calls to HTMLLinkElement::setDisabled that would enable a
2144         style sheet when we were loading a stylesheet (m_sheet was 0 and thus ignored the call per the spec).
2145
2146         FF goes against the CSS OM spec in this case and always keep an associated sheet as long as 'rel' hints
2147         at a stylesheet link and href is present. Instead of siding with FF, I continued to follow the
2148         specification and store the enabled via javascript state into m_scriptState (renamed from
2149         m_isEnabledViaScript). This information gets merged back into the style sheet disabled state when it is
2150         available.
2151
2152         While debugging the case at hand, I found some cases that were not properly handled and were fixed as
2153         part of this change.
2154
2155         * html/HTMLLinkElement.cpp:
2156         (WebCore::HTMLLinkElement::HTMLLinkElement): Updated after m_isEnabledViaScript rename.
2157         (WebCore::HTMLLinkElement::setDisabled): Always call setIsEnabledViaScript so that
2158         the information is properly stored (either for recalcStyleSelector or just to store
2159         the state during loading).
2160
2161         (WebCore::HTMLLinkElement::sheetLoaded): Merge back the state from m_scriptState to
2162         the sheet's disabled state.
2163
2164         (WebCore::HTMLLinkElement::disabled): Account for the temporary state and return the
2165         right value. It matches FF and what people would expect.
2166
2167         (WebCore::HTMLLinkElement::areDisabledAndScriptStatesConsistent): Debug only method
2168         that checks that disabled() and isEnabledViaScript() are consistent with each other
2169         (under some circumstances).
2170
2171         * html/HTMLLinkElement.h:
2172         (WebCore::HTMLLinkElement::isEnabledViaScript): Updated after m_isEnabledViaScript rename.
2173         (WebCore::HTMLLinkElement::setIsEnabledViaScript): Added setter.
2174
2175 2011-08-17  Adrienne Walker  <enne@google.com>
2176
2177         [chromium] Split tiler into main thread / compositor thread versions
2178         https://bugs.webkit.org/show_bug.cgi?id=66065
2179
2180         Reviewed by James Robinson.
2181
2182         Covered by existing tests.
2183
2184         LayerTilerChromium is renamed to be CCLayerTilingData. Invalidation
2185         and paint functionality is pushed into TiledLayerChromium and drawing
2186         with GL is pushed into CCTiledLayerImpl. During tree synchronization,
2187         the tiler properties and texture IDs are synchronized into
2188         CCTiledLayerImpl.
2189
2190         * WebCore.gypi:
2191         * platform/graphics/chromium/ContentLayerChromium.cpp:
2192         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2193         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
2194         * platform/graphics/chromium/ContentLayerChromium.h:
2195         * platform/graphics/chromium/ImageLayerChromium.cpp:
2196         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2197         * platform/graphics/chromium/LayerRendererChromium.cpp:
2198         (WebCore::LayerRendererChromium::bestTextureFormat):
2199         (WebCore::LayerRendererChromium::initializeSharedObjects):
2200         (WebCore::LayerRendererChromium::tilerProgram):
2201         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
2202         (WebCore::LayerRendererChromium::tilerProgramAA):
2203         (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
2204         * platform/graphics/chromium/LayerRendererChromium.h:
2205         * platform/graphics/chromium/LayerTextureUpdater.h:
2206         * platform/graphics/chromium/LayerTilerChromium.cpp: Removed.
2207         * platform/graphics/chromium/ManagedTexture.h:
2208         (WebCore::ManagedTexture::textureId):
2209         * platform/graphics/chromium/TiledLayerChromium.cpp:
2210         (WebCore::UpdatableTile::UpdatableTile):
2211         (WebCore::UpdatableTile::texture):
2212         (WebCore::UpdatableTile::dirty):
2213         (WebCore::UpdatableTile::clearDirty):
2214         (WebCore::TiledLayerChromium::TiledLayerChromium):
2215         (WebCore::TiledLayerChromium::cleanupResources):
2216         (WebCore::TiledLayerChromium::drawsContent):
2217         (WebCore::TiledLayerChromium::createTilerIfNeeded):
2218         (WebCore::TiledLayerChromium::updateCompositorResources):
2219         (WebCore::TiledLayerChromium::pushPropertiesTo):
2220         (WebCore::TiledLayerChromium::dumpLayerProperties):
2221         (WebCore::TiledLayerChromium::textureManager):
2222         (WebCore::TiledLayerChromium::tileAt):
2223         (WebCore::TiledLayerChromium::createTile):
2224         (WebCore::TiledLayerChromium::invalidateTiles):
2225         (WebCore::TiledLayerChromium::invalidateRect):
2226         (WebCore::TiledLayerChromium::protectVisibleTileTextures):
2227         (WebCore::TiledLayerChromium::protectTileTextures):
2228         (WebCore::TiledLayerChromium::prepareToUpdate):
2229         * platform/graphics/chromium/TiledLayerChromium.h:
2230         * platform/graphics/chromium/cc/CCLayerTilingData.cpp: Added.
2231         (WebCore::CCLayerTilingData::create):
2232         (WebCore::CCLayerTilingData::CCLayerTilingData):
2233         (WebCore::CCLayerTilingData::setTileSize):
2234         (WebCore::CCLayerTilingData::operator=):
2235         (WebCore::CCLayerTilingData::addTile):
2236         (WebCore::CCLayerTilingData::takeTile):
2237         (WebCore::CCLayerTilingData::tileAt):
2238         (WebCore::CCLayerTilingData::reset):
2239         (WebCore::CCLayerTilingData::contentRectToTileIndices):
2240         (WebCore::CCLayerTilingData::contentRectToLayerRect):
2241         (WebCore::CCLayerTilingData::layerRectToContentRect):
2242         (WebCore::CCLayerTilingData::tileContentRect):
2243         (WebCore::CCLayerTilingData::tileLayerRect):
2244         (WebCore::CCLayerTilingData::setLayerPosition):
2245         (WebCore::CCLayerTilingData::growLayerToContain):
2246         * platform/graphics/chromium/cc/CCLayerTilingData.h: Renamed from Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h.
2247         (WebCore::CCLayerTilingData::numTiles):
2248         (WebCore::CCLayerTilingData::numTilesX):
2249         (WebCore::CCLayerTilingData::numTilesY):
2250         (WebCore::CCLayerTilingData::tileBounds):
2251         (WebCore::CCLayerTilingData::textureOffset):
2252         (WebCore::CCLayerTilingData::tileSize):
2253         (WebCore::CCLayerTilingData::hasBorderTexels):
2254         (WebCore::CCLayerTilingData::isEmpty):
2255         (WebCore::CCLayerTilingData::Tile::Tile):
2256         (WebCore::CCLayerTilingData::Tile::i):
2257         (WebCore::CCLayerTilingData::Tile::j):
2258         (WebCore::CCLayerTilingData::Tile::moveTo):
2259         (WebCore::CCLayerTilingData::TileMapKeyTraits::emptyValue):
2260         (WebCore::CCLayerTilingData::TileMapKeyTraits::constructDeletedValue):
2261         (WebCore::CCLayerTilingData::TileMapKeyTraits::isDeletedValue):
2262         (WebCore::CCLayerTilingData::tiles):
2263         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2264         (WebCore::DrawableTile::DrawableTile):
2265         (WebCore::DrawableTile::textureId):
2266         (WebCore::DrawableTile::setTextureId):
2267         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
2268         (WebCore::CCTiledLayerImpl::bindContentsTexture):
2269         (WebCore::CCTiledLayerImpl::tileAt):
2270         (WebCore::CCTiledLayerImpl::createTile):
2271         (WebCore::CCTiledLayerImpl::draw):
2272         (WebCore::CCTiledLayerImpl::setTilingData):
2273         (WebCore::CCTiledLayerImpl::syncTextureId):
2274         (WebCore::isCCW):
2275         (WebCore::computeEdge):
2276         (WebCore::intersect):
2277         (WebCore::CCTiledLayerImpl::drawTiles):
2278         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2279         (WebCore::CCTiledLayerImpl::setSkipsDraw):
2280         (WebCore::CCTiledLayerImpl::setTextureOrientation):
2281         (WebCore::CCTiledLayerImpl::setSampledTexelFormat):
2282         * platform/graphics/gpu/TilingData.h:
2283
2284 2011-08-19  Dan Bernstein  <mitz@apple.com>
2285
2286         Better build fix after r93384.
2287
2288         * rendering/RenderBlockLineLayout.cpp:
2289         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use WTF::Unicode wrapper instead of ICU.
2290
2291 2011-08-19  Pavel Podivilov  <podivilov@chromium.org>
2292
2293         Web Inspector: update scope variables upon value changes via console.
2294         https://bugs.webkit.org/show_bug.cgi?id=54720
2295
2296         Reviewed by Pavel Feldman.
2297
2298         * inspector/front-end/ScriptsPanel.js:
2299         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2300
2301 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
2302
2303         Web Inspector: extract breakpoint management code to a separate class and add tests.
2304         https://bugs.webkit.org/show_bug.cgi?id=66224
2305
2306         Reviewed by Pavel Feldman.
2307
2308         Test: inspector/debugger/breakpoint-manager.html
2309
2310         * WebCore.gypi:
2311         * WebCore.vcproj/WebCore.vcproj:
2312         * inspector/front-end/BreakpointManager.js: Added.
2313         (WebInspector.BreakpointManager):
2314         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
2315         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
2316         (WebInspector.BreakpointManager.prototype.setBreakpoint):
2317         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
2318         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
2319         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
2320         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
2321         (WebInspector.BreakpointManager.prototype._deleteBreakpointFromUI):
2322         (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
2323         (WebInspector.BreakpointManager.prototype._breakpoints):
2324         (WebInspector.BreakpointManager.prototype._breakpoint):
2325         (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
2326         (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
2327         (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
2328         (WebInspector.BreakpointManager.prototype._breakpointResolved):
2329         (WebInspector.BreakpointManager.prototype.serializeBreakpoints):
2330         (WebInspector.BreakpointManager.prototype.reset):
2331         (WebInspector.BreakpointManager.prototype.debuggerReset):
2332         (WebInspector.Breakpoint):
2333         (WebInspector.Breakpoint.prototype.serialize):
2334         (WebInspector.Breakpoint.deserialize):
2335         * inspector/front-end/DebuggerModel.js:
2336         (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
2337         * inspector/front-end/SourceFile.js:
2338         (WebInspector.RawSourceCode.prototype.get rawSourceCode):
2339         * inspector/front-end/WebKit.qrc:
2340         * inspector/front-end/inspector.html:
2341
2342 2011-08-19  Adam Roben  <aroben@apple.com>
2343
2344         Fix typo
2345
2346         * dom/DOMAllInOne.cpp:
2347
2348 2011-08-19  Adam Roben  <aroben@apple.com>
2349
2350         Windows build fix after r93385
2351
2352         * dom/DOMAllInOne.cpp: Added EventDispatcMediator.cpp.
2353
2354 2011-08-19  Pavel Feldman  <pfeldman@google.com>
2355
2356         Web Inspector: getAttributes should work on a single node, not array.
2357         https://bugs.webkit.org/show_bug.cgi?id=66544
2358
2359         Reviewed by Adam Roben.
2360
2361         * inspector/Inspector.json:
2362         * inspector/InspectorDOMAgent.cpp:
2363         (WebCore::InspectorDOMAgent::getAttributes):
2364         * inspector/InspectorDOMAgent.h:
2365         * inspector/front-end/DOMAgent.js:
2366         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
2367
2368 2011-08-19  Anton Muhin  <antonm@chromium.org>
2369
2370         [v8] CSS wrapper objects retention
2371         https://bugs.webkit.org/show_bug.cgi?id=66377
2372
2373         Reviewed by Pavel Feldman.
2374
2375         Disable object grouping for CSS object wrappers.
2376         This logic leads to hard to debug use-after-free problems.
2377
2378         * bindings/v8/V8GCController.cpp:
2379         (WebCore::GrouperVisitor::visitDOMWrapper):
2380
2381 2011-08-19  Pavel Feldman  <pfeldman@google.com>
2382
2383         Web Inspector: introduce NodeId inherited from integer in the DOM domain description.
2384         https://bugs.webkit.org/show_bug.cgi?id=66491
2385
2386         Drive-by rename of couple of DOM domain protocol methods.
2387
2388         Reviewed by Adam Roben.
2389
2390         * inspector/Inspector.json:
2391         * inspector/InspectorDOMAgent.cpp:
2392         (WebCore::InspectorDOMAgent::requestChildNodes):
2393         (WebCore::InspectorDOMAgent::getAttributes):
2394         (WebCore::InspectorDOMAgent::requestNode):
2395         (WebCore::InspectorDOMAgent::buildObjectForNode):
2396         * inspector/InspectorDOMAgent.h:
2397         * inspector/front-end/DOMAgent.js:
2398         (WebInspector.DOMNode):
2399         (WebInspector.DOMNode.prototype.getChildNodes):
2400         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
2401         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
2402         (WebInspector.DOMAgent.prototype._setDocument):
2403         (WebInspector.DOMAgent.prototype._setDetachedRoot):
2404         * inspector/generate-inspector-idl:
2405
2406 2011-08-19  Jochen Eisinger  <jochen@chromium.org>
2407
2408         IDBSQLiteBackingStore::deleteObjectStore should maintain referential integrity.
2409         https://bugs.webkit.org/show_bug.cgi?id=66470
2410
2411         Reviewed by Tony Gentilcore.
2412
2413         * storage/IDBSQLiteBackingStore.cpp:
2414         (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
2415
2416 2011-08-19  Takashi Toyoshima  <toyoshim@chromium.org>
2417
2418         [WebSocket] CloseEvent's code and reason properties support.
2419         https://bugs.webkit.org/show_bug.cgi?id=66362
2420
2421         Reviewed by Kent Tamura.
2422
2423         Current WebSocket implementation miss code and reason properties
2424         in CloseEvent. This change expose incoming closing frame's code
2425         and reason to JavaScript API.
2426
2427         Tests: http/tests/websocket/tests/hybi/close-code-and-reason.html
2428                http/tests/websocket/tests/hybi/workers/close-code-and-reason.html
2429
2430         * websockets/CloseEvent.h:
2431         (WebCore::CloseEvent::initCloseEvent):
2432         (WebCore::CloseEvent::code):
2433         (WebCore::CloseEvent::reason):
2434         (WebCore::CloseEvent::CloseEvent):
2435         * websockets/CloseEvent.idl:
2436         Add code and reason properies.
2437         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2438         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
2439         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
2440         * websockets/ThreadableWebSocketChannelClientWrapper.h:
2441         * websockets/WebSocket.cpp:
2442         (WebCore::WebSocket::didConnect):
2443         (WebCore::WebSocket::didClose):
2444         * websockets/WebSocket.h:
2445         Add implement to handle code and reason.
2446         * websockets/WebSocketChannel.cpp:
2447         (WebCore::WebSocketChannel::WebSocketChannel):
2448         (WebCore::WebSocketChannel::didCloseSocketStream):
2449         (WebCore::WebSocketChannel::processFrame):
2450         * websockets/WebSocketChannel.h:
2451         Add closing frame payload parser.
2452         * websockets/WebSocketChannelClient.h:
2453         (WebCore::WebSocketChannelClient::didClose):
2454         * websockets/WorkerThreadableWebSocketChannel.cpp:
2455         (WebCore::workerContextDidClose):
2456         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
2457         * websockets/WorkerThreadableWebSocketChannel.h:
2458         Add implement to handle code and reason.
2459
2460 2011-08-19  MORITA Hajime  <morrita@google.com>
2461
2462         Spell-checking doesn't recognize word boundaries on contests inserted by execCommand('insertHTML')
2463         https://bugs.webkit.org/show_bug.cgi?id=65902
2464
2465         Reviewed by Ryosuke Niwa.
2466         
2467         markMisspellingsAndBadGrammar() was using markSpelling() and markBadGrammar().
2468         But these are low-level API and caller should take care of word boundary.
2469         This change replaced these call with overloaded version of markMisspellingsAndBadGrammar(),
2470         which handles word boundary correctly.
2471         
2472         Test: editing/spelling/spelling-insert-html.html
2473
2474         * WebCore.exp.in:
2475         * editing/Editor.cpp:
2476         (WebCore::Editor::markMisspellingsAndBadGrammar):
2477         * testing/Internals.cpp:
2478         (WebCore::Internals::markerCountOf): Added.
2479         (WebCore::Internals::markedRangeAt): Added.
2480         * testing/Internals.h:
2481         * testing/Internals.idl:
2482
2483 2011-08-19  Nayan Kumar K  <nayankk@motorola.com>
2484
2485         Run-time error fix in WebKit-GTK with video support disabled.
2486         https://bugs.webkit.org/show_bug.cgi?id=66541
2487
2488         Definition of the function extraFullScreenStyleSheet() in webkit-gtk
2489         lies outside ENABLE(VIDEO) guard, resulting in runtime error while
2490         trying to launch GtkLauncher with video support disabled.
2491
2492         Reviewed by Philippe Normand.
2493
2494         Run-time error fix. No test cases were added.
2495
2496         * platform/gtk/RenderThemeGtk.h:
2497
2498 2011-08-19  Shinya Kawanaka  <shinyak@google.com>
2499
2500         input[maxlength=0] should ignore text input.
2501         https://bugs.webkit.org/show_bug.cgi?id=65497
2502
2503         Reviewed by Kent Tamura.
2504
2505         Changed the valid range of maxlength.
2506
2507         * html/HTMLInputElement.cpp:
2508         (WebCore::HTMLInputElement::parseMaxLengthAttribute):
2509           Changed maxlength check condition.
2510
2511 2011-08-19  Ilya Tikhonovsky  <loislo@chromium.org>
2512
2513         Web Inspector: backend js api: an ability to skip optional arguments in the middle of the argument list is required.
2514         https://bugs.webkit.org/show_bug.cgi?id=66482
2515
2516         There are functions in the API with multiple optional arguments.
2517         When we call it we have to specify an optional argument as 'undefined' if we want to pass non default value for the next one.
2518         This can be solved with passing the arguments as an object.
2519
2520         Reviewed by Pavel Feldman.
2521
2522         * inspector/CodeGeneratorInspector.pm:
2523         * inspector/front-end/RemoteObject.js:
2524
2525 2011-08-19  Zoltan Horvath  <zoltan@webkit.org>
2526
2527         [Qt] Build fix after r93384.
2528
2529         * rendering/RenderBlockLineLayout.cpp:
2530         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
2531
2532 2011-08-18  Shawn Singh  <shawnsingh@chromium.org>
2533
2534         Computing screen-space transform for LayerChromium and CCLayerImpl
2535         https://bugs.webkit.org/show_bug.cgi?id=66114
2536
2537         Added a data member to LayerChromium and CCLayerImpl that holds
2538         the screen-space transform.   The transform is computed in
2539         calculateDrawTransformsAndVisibility(), which is used during
2540         updating (LayerChromium) and drawing (CCLayerImpl).
2541
2542         Also fixed a FIXME in LayerRendererChromium::drawLayer, which
2543         was not computing the entire hierarchy of transforms to determine
2544         back-face visibility.  Now it simply uses the world space transform.
2545
2546         Reviewed by James Robinson.
2547
2548         Test: compositing/backface-visibility-hierarchical-transform.html
2549
2550         * platform/graphics/chromium/LayerChromium.h:
2551         (WebCore::LayerChromium::screenSpaceTransform):
2552         (WebCore::LayerChromium::setScreenSpaceTransform):
2553         * platform/graphics/chromium/LayerRendererChromium.cpp:
2554         (WebCore::LayerRendererChromium::updateLayers):
2555         (WebCore::LayerRendererChromium::drawLayersInternal):
2556         (WebCore::LayerRendererChromium::drawLayer):
2557         * platform/graphics/chromium/cc/CCLayerImpl.h:
2558         (WebCore::CCLayerImpl::screenSpaceTransform):
2559         (WebCore::CCLayerImpl::setScreenSpaceTransform):
2560
2561 2011-08-18  Ben Wells  <benwells@chromium.org>
2562
2563         [skia] -webkit-transform breaks -webkit-mask
2564         https://bugs.webkit.org/show_bug.cgi?id=66442
2565
2566         The problem here is that in RenderBox::paintMaskImages, if we are in
2567         a transform with a rotation, scale or skew we set the composite mode to
2568         be DestinationIn and then create a transparency layer, then paint the
2569         mask with SourceOver and end the transparency layer. (The normal case
2570         is just to use DestinationIn to paint the mask.)
2571
2572         In skia when we create transparency layers we don't pass on the composite
2573         mode, so when we end the transparency layer it is composited back using
2574         SourceOver. The fix is to pass on the composite mode when creating
2575         transparency layers in skia.
2576
2577         Reviewed by Stephen White.
2578
2579         * platform/graphics/skia/GraphicsContextSkia.cpp:
2580         (WebCore::GraphicsContext::beginTransparencyLayer):
2581         * platform/graphics/skia/PlatformContextSkia.cpp:
2582         (WebCore::PlatformContextSkia::getXfermodeMode):
2583         * platform/graphics/skia/PlatformContextSkia.h:
2584
2585 2011-08-18  Hayato Ito  <hayato@chromium.org>
2586
2587         Isolate EventDispatchMediator into a separate file.
2588         https://bugs.webkit.org/show_bug.cgi?id=66458
2589
2590         Reviewed by Ryosuke Niwa.
2591
2592         Extracted EventDispatchMediator.h and EventDispatchMediator.cpp
2593         out of Event.h and Event.cpp Also moved FocusEventDispatchMediator
2594         and BlurEventDispatchMediator from Event.{h|cpp} to
2595         EventDispatchMediator.{h|cpp}.
2596
2597         No new tests since this is just refactoring.
2598
2599         * CMakeLists.txt:
2600         * GNUmakefile.list.am:
2601         * WebCore.gypi:
2602         * WebCore.pro:
2603         * WebCore.vcproj/WebCore.vcproj:
2604         * WebCore.xcodeproj/project.pbxproj:
2605         * dom/Event.cpp:
2606         * dom/Event.h:
2607         * dom/EventDispatchMediator.cpp: Added.
2608         (WebCore::EventDispatchMediator::create):
2609         (WebCore::EventDispatchMediator::EventDispatchMediator):
2610         (WebCore::EventDispatchMediator::dispatchEvent):
2611         (WebCore::FocusEventDispatchMediator::create):
2612         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
2613         (WebCore::FocusEventDispatchMediator::dispatchEvent):
2614         (WebCore::BlurEventDispatchMediator::create):
2615         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
2616         (WebCore::BlurEventDispatchMediator::dispatchEvent):
2617         * dom/EventDispatchMediator.h: Added.
2618         (WebCore::EventDispatchMediator::~EventDispatchMediator):
2619         (WebCore::EventDispatchMediator::event):
2620         (WebCore::EventDispatchMediator::EventDispatchMediator):
2621         (WebCore::EventDispatchMediator::setEvent):
2622         * dom/EventDispatcher.cpp:
2623         * dom/KeyboardEvent.h:
2624         * dom/MouseEvent.h:
2625         * dom/Node.cpp:
2626         * dom/ScopedEventQueue.cpp:
2627         * dom/UIEvent.h:
2628         * dom/WheelEvent.h:
2629
2630 2011-08-18  Dan Bernstein  <mitz@apple.com>
2631
2632         Mid-word break can occur between a character and a combining mark
2633         https://bugs.webkit.org/show_bug.cgi?id=66529
2634
2635         Reviewed by Simon Fraser.
2636
2637         No test added because I could not find a combining mark with a non-zero advance in
2638         any of the system fonts and tests fonts. 
2639
2640         * rendering/RenderBlockLineLayout.cpp:
2641         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Disallow a mid-word break before a
2642         combining mark.
2643
2644 2011-08-18  Kent Tamura  <tkent@chromium.org>
2645
2646         REGRESSION(r90971): Null pointer dereference with placeholder and webkit-scrollbar-corner
2647         https://bugs.webkit.org/show_bug.cgi?id=66453
2648
2649         Reviewed by Simon Fraser.
2650
2651         Test: fast/forms/placeholder-crash-with-scrollbar-corner.html
2652
2653         * rendering/RenderObjectChildList.cpp:
2654         (WebCore::RenderObjectChildList::removeChildNode): Add a NULL check for owner's layer.
2655
2656 2011-08-18  Jeffrey Pfau  <jpfau@apple.com>
2657
2658         New XML parser: scripting support
2659         https://bugs.webkit.org/show_bug.cgi?id=66406
2660
2661         Reviewed by Adam Barth.
2662
2663         * xml/parser/NewXMLDocumentParser.cpp:
2664         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
2665         (WebCore::NewXMLDocumentParser::resumeParsing):
2666         (WebCore::NewXMLDocumentParser::processScript):
2667         (WebCore::NewXMLDocumentParser::append): Add support for pausing the parsing
2668         (WebCore::NewXMLDocumentParser::finish): Add support for pausing the parsing
2669         (WebCore::NewXMLDocumentParser::notifyFinished):
2670         * xml/parser/NewXMLDocumentParser.h:
2671         (WebCore::NewXMLDocumentParser::pauseParsing):
2672         * xml/parser/XMLTreeBuilder.cpp: Add a shared function between self-closing and end tags
2673         (WebCore::XMLTreeBuilder::closeElement): Registers scripts and pops the stack
2674         (WebCore::XMLTreeBuilder::processStartTag):
2675         (WebCore::XMLTreeBuilder::processEndTag):
2676         * xml/parser/XMLTreeBuilder.h:
2677
2678 2011-08-18  Mark Hahnenberg  <mhahnenberg@apple.com>
2679
2680         Move allocation in constructors into separate constructorBody() methods
2681         https://bugs.webkit.org/show_bug.cgi?id=66265
2682
2683         Reviewed by Oliver Hunt.
2684
2685         No new tests.
2686
2687         Refactoring to put all allocations that need to be done after the object's 
2688         initialization list has executed but before the object is ready for use 
2689         into a separate constructorBody() method.  This method is still called by the constructor, 
2690         so the patch doesn't resolve any potential issues, it's just to set up the code for further refactoring.
2691
2692         * bridge/objc/ObjCRuntimeObject.h:
2693         (JSC::Bindings::ObjCRuntimeObject::create):
2694         * bridge/objc/ObjCRuntimeObject.mm:
2695         * bridge/objc/objc_instance.mm:
2696         (ObjCRuntimeMethod::create):
2697         (ObjCRuntimeMethod::ObjCRuntimeMethod):
2698         * bridge/runtime_array.cpp:
2699         * bridge/runtime_array.h:
2700         (JSC::RuntimeArray::create):
2701
2702 2011-08-18  Beth Dakin  <bdakin@apple.com>
2703
2704         https://bugs.webkit.org/show_bug.cgi?id=66495
2705         Lion-specific scroller SPIs can use forward declaration instead of 
2706         WebKitSystemInterface
2707
2708         Reviewed by Sam Weinig.
2709
2710         * WebCore.exp.in:
2711         * WebCore.xcodeproj/project.pbxproj:
2712         * platform/mac/NSScrollerImpDetails.h: Added.
2713         * platform/mac/ScrollAnimatorMac.h:
2714         * platform/mac/ScrollAnimatorMac.mm:
2715         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2716         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2717         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
2718         (-[ScrollbarPartAnimation setCurrentProgress:]):
2719         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
2720         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2721         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2722         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2723         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
2724         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
2725         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2726         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2727         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2728         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2729         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2730         (WebCore::ScrollAnimatorMac::contentsResized):
2731         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2732         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2733         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2734         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
2735         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
2736         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
2737         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
2738         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
2739         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
2740         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
2741         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
2742         * platform/mac/ScrollbarThemeMac.h:
2743         * platform/mac/ScrollbarThemeMac.mm:
2744         (WebCore::ScrollbarThemeMac::registerScrollbar):
2745         (WebCore::ScrollbarThemeMac::scrollbarThickness):
2746         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2747         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
2748         (WebCore::ScrollbarThemeMac::hasThumb):
2749         (WebCore::ScrollbarThemeMac::minimumThumbLength):
2750         (WebCore::ScrollbarThemeMac::updateEnabledState):
2751         (WebCore::scrollbarPainterPaint):
2752         (WebCore::ScrollbarThemeMac::paint):
2753         * platform/mac/WebCoreSystemInterface.h:
2754         * platform/mac/WebCoreSystemInterface.mm:
2755
2756 2011-08-18  Dan Bernstein  <mitz@apple.com>
2757
2758         <rdar://problem/9973194> Fonts that specify a positive descender value are treated as having descenders ending above the baseline
2759         https://bugs.webkit.org/show_bug.cgi?id=66515
2760
2761         Reviewed by Darin Adler.
2762
2763         No test because none of the system fonts and test fonts have an incorrectly-specified descender value.
2764
2765         * platform/graphics/mac/SimpleFontDataMac.mm:
2766         (WebCore::SimpleFontData::platformInit): If the font specifies a positive descender, assume that it meant
2767         the same amount, but negative. This is consistent with what Core Text does.
2768
2769 2011-08-18  Ryosuke Niwa  <rniwa@webkit.org>
2770
2771         positionForPoint returns wrong VisiblePosition at bidi boundaries
2772         https://bugs.webkit.org/show_bug.cgi?id=65356
2773
2774         Reviewed by David Hyatt.
2775
2776         The bug was caused by RenderText::positionForPoint's assuming that the position will always reside
2777         inside the inline box that contains the point, which is not true at the boundaries of bidi-runs.
2778
2779         For example, in aDC12BAb where AB12CD is a RTL text, the offset on the right of A is 7 even though
2780         the inline box for "BA" only contains offsets 1, 2, and 3. We must traverse the bidi-run "DC12BA"
2781         until the end to obtain the offset 7 from the inline box for "DC".
2782
2783         Fixed the bug by introducing createVisiblePositionAfterAdjustingOffsetForBiDi which traverses runs
2784         on the left or the right of the position to compute the appropriate offset following the NSTextView convention.
2785
2786         This patch also fixes a regression from r74971 that caret is placed incorrectly between inline boxes of
2787         LTR or RTL text in a RTL or LTR block respectively.
2788
2789         Test: editing/selection/caret-at-bidi-boundary.html
2790
2791         * rendering/InlineTextBox.cpp:
2792         (WebCore::InlineTextBox::offsetForPosition):
2793         * rendering/RenderText.cpp:
2794         (WebCore::lineDirectionPointFitsInBox): Takes ShouldAffinityBeDownstream instead of EAfinity.
2795         (WebCore::createVisiblePositionForBox):
2796         (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi):
2797         (WebCore::RenderText::positionForPoint):
2798
2799 2011-08-18  Xiaomei Ji  <xji@chromium.org>
2800
2801         --webkit-visual-word renaming right/leftWordPositionAcrossBoundary
2802         https://bugs.webkit.org/show_bug.cgi?id=66436
2803
2804         Reviewed by Ryosuke Niwa.
2805
2806         Rename them to right/leftWordPositionIgnoringEditingBoundary.
2807
2808         * editing/visible_units.cpp:
2809         (WebCore::leftWordPositionIgnoringEditingBoundary):
2810         (WebCore::rightWordPositionIgnoringEditingBoundary):
2811         (WebCore::leftWordPosition):
2812         (WebCore::rightWordPosition):
2813
2814 2011-08-18  Jeff Miller  <jeffm@apple.com>
2815
2816         Soft link against AVFoundationCF and CoreMedia
2817         https://bugs.webkit.org/show_bug.cgi?id=65725
2818         
2819         Add new macros to SoftLinking.h to support soft-linking to functions and variables decorated with __declspec(dllimport),
2820         and use them to soft-link to AVFoundationCF and CoreMedia. I verified that the WebProcess doesn't load these DLLs
2821         until a media element is used.
2822
2823         Reviewed by Eric Carlson.
2824
2825         No new tests as no change in functionality.
2826
2827         * WebCore.vcproj/WebCore.vcproj: Added AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
2828         * WebCore.vcproj/WebCoreMediaQT.vsprops: Removed DelayLoadDLLs linker option which is no longer needed.
2829         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Added.
2830         * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Added.
2831         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Stop linking against AVFoundationCF.lib and CoreMedia.lib and include AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
2832         * platform/win/SoftLinking.h: Added SOFT_LINK_DLL_IMPORT() and SOFT_LINK_VARIABLE_DLL_IMPORT() macros.
2833
2834 2011-08-18  Sailesh Agrawal  <sail@chromium.org>
2835
2836         Chromium Mac: Show scrollbar when doing search
2837         https://bugs.webkit.org/show_bug.cgi?id=66209
2838
2839         Reviewed by James Robinson.
2840
2841         Updated the Lion scrollbar drawing code to force the scrollbar to be visible when we have tickmarks for search results.
2842
2843         No tests because there are no Mac 10.7 chromium bots yet.
2844
2845         * platform/chromium/ScrollbarThemeChromiumMac.h:
2846         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2847         (WebCore::ScrollbarThemeChromiumMac::paint):
2848         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
2849
2850 2011-08-18  James Robinson  <jamesr@chromium.org>
2851
2852         [chromium] Draw the root/"non-composited content" in compositor side
2853         https://bugs.webkit.org/show_bug.cgi?id=58834
2854
2855         Reviewed by Kenneth Russell.
2856
2857         Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
2858         LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
2859         through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
2860         *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
2861             draw-time transform.
2862         *) The root layer masks the alpha channel and disable blending when drawing because of concerns about subpixel
2863             AA trashing the alpha channel.  The root layer is always opaque so this is fine.
2864         *) The root layer does not have border texels and does have subpixel AA for text.
2865
2866         Covered by compositing/
2867
2868         * WebCore.gypi:
2869         * platform/graphics/chromium/ContentLayerChromium.cpp:
2870         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2871         * platform/graphics/chromium/ImageLayerChromium.cpp:
2872         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2873         * platform/graphics/chromium/LayerChromium.cpp:
2874         (WebCore::LayerChromium::pushPropertiesTo):
2875         * platform/graphics/chromium/LayerChromium.h:
2876         (WebCore::LayerChromium::scrollPosition):
2877         (WebCore::LayerChromium::setScrollPosition):
2878         * platform/graphics/chromium/LayerRendererChromium.cpp:
2879         (WebCore::LayerRendererChromium::initialize):
2880         (WebCore::LayerRendererChromium::releaseTextures):
2881         (WebCore::LayerRendererChromium::viewportChanged):
2882         (WebCore::LayerRendererChromium::updateLayers):
2883         (WebCore::LayerRendererChromium::drawLayers):
2884         (WebCore::LayerRendererChromium::drawLayersInternal):
2885         (WebCore::LayerRendererChromium::getFramebufferPixels):
2886         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2887         (WebCore::LayerRendererChromium::layerTreeAsText):
2888         * platform/graphics/chromium/LayerRendererChromium.h:
2889         (WebCore::LayerRendererChromium::rootLayer):
2890         (WebCore::LayerRendererChromium::viewportSize):
2891         (WebCore::LayerRendererChromium::viewportWidth):
2892         (WebCore::LayerRendererChromium::viewportHeight):
2893         * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
2894         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
2895         (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
2896         (WebCore::NonCompositedContentHost::invalidateRect):
2897         (WebCore::NonCompositedContentHost::invalidateEntireLayer):
2898         (WebCore::NonCompositedContentHost::setScrollPosition):
2899         (WebCore::NonCompositedContentHost::notifyAnimationStarted):
2900         (WebCore::NonCompositedContentHost::notifySyncRequired):
2901         (WebCore::NonCompositedContentHost::paintContents):
2902         (WebCore::NonCompositedContentHost::showDebugBorders):
2903         (WebCore::NonCompositedContentHost::showRepaintCounter):
2904         * platform/graphics/chromium/NonCompositedContentHost.h: Added.
2905         (WebCore::NonCompositedContentHost::create):
2906         (WebCore::NonCompositedContentHost::graphicsLayer):
2907         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2908         (WebCore::CCHeadsUpDisplay::draw):
2909         * platform/graphics/chromium/cc/CCLayerImpl.h:
2910         (WebCore::CCLayerImpl::scrollPosition):
2911         (WebCore::CCLayerImpl::setScrollPosition):
2912         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2913         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2914         (WebCore::CCLayerTreeHost::initialize):
2915         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
2916         (WebCore::CCLayerTreeHost::setRootLayer):
2917         (WebCore::CCLayerTreeHost::setViewport):
2918         (WebCore::CCLayerTreeHost::reallocateRenderer):
2919         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2920         (WebCore::CCLayerTreeHost::rootLayer):
2921         (WebCore::CCLayerTreeHost::viewportSize):
2922
2923 2011-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2924
2925         Unreviewed, rolling out r93354.
2926         http://trac.webkit.org/changeset/93354
2927         https://bugs.webkit.org/show_bug.cgi?id=66503
2928
2929         "consensus was not reached" (Requested by senorblanco on
2930         #webkit).
2931
2932         * html/canvas/CanvasRenderingContext2D.cpp:
2933         (WebCore::CanvasRenderingContext2D::drawImage):
2934         * platform/graphics/cg/GraphicsContextCG.cpp:
2935         (WebCore::GraphicsContext::drawNativeImage):
2936
2937 2011-08-18  Sadrul Habib Chowdhury  <sadrul@chromium.org>
2938
2939         GestureRecognizer: Update how gesture-scroll works.
2940
2941         Instead of just sending a series of 'GestureUpdate' events, send a
2942         single 'GestureBegin' event, followed by a series of 'GestureUpdate' events,
2943         and end with a 'GestureEnd' event.
2944         https://bugs.webkit.org/show_bug.cgi?id=66267
2945
2946         Reviewed by Adam Barth.
2947
2948         * page/EventHandler.cpp:
2949         (WebCore::EventHandler::handleGestureEvent):
2950         * platform/chromium/GestureRecognizerChromium.cpp:
2951         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
2952         (WebCore::InnerGestureRecognizer::appendScrollGestureBegin):
2953         (WebCore::InnerGestureRecognizer::appendScrollGestureEnd):
2954         (WebCore::InnerGestureRecognizer::appendScrollGestureUpdate):
2955         (WebCore::scrollEnd):
2956         (WebCore::isClickOrScroll):
2957         (WebCore::inScroll):
2958         * platform/chromium/GestureRecognizerChromium.h:
2959         (WebCore::InnerGestureRecognizer::firstTouchPosition):
2960
2961 2011-08-18  Sailesh Agrawal  <sail@chromium.org>
2962
2963         Chromium: Update forked ScrollbarThemeChromiumMac.mm
2964         https://bugs.webkit.org/show_bug.cgi?id=65555
2965
2966         Reviewed by James Robinson.
2967
2968         Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
2969
2970         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
2971         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
2972         (wkScrollbarPainterSetEnabled):
2973         * platform/chromium/ScrollbarThemeChromiumMac.h:
2974         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
2975         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2976         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
2977         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
2978         (WebCore::toScrollbarPainterKnobStyle):
2979         (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
2980         (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
2981         (WebCore::ScrollbarThemeChromiumMac::paint):
2982
2983 2011-08-18  Justin Novosad  <junov@chromium.org>
2984
2985         Unwarranted DOM Exception when when canvas2D drawImage is called with src
2986         rect out of bounds
2987         https://bugs.webkit.org/show_bug.cgi?id=65709
2988
2989         Reviewed by Stephen White.
2990
2991         Test: fast/canvas/drawImage-clipped-source.html
2992
2993         * html/canvas/CanvasRenderingContext2D.cpp:
2994         (WebCore::CanvasRenderingContext2D::drawImage):
2995         Removed the unnecessary dom exceptions for out of bounds source rectangles
2996         The overloads that receive video and image elements as source images
2997         now use the normalized versions of the source rectangle, which
2998         GraphicsContext (and its various platform flavors) can handle correctly.
2999         The normalized rectangle is the equivalent rectangle with width and height
3000         greater than 0.  The canvas version of this method, which had better layout 
3001         test coverage, was already correctly using the normalized rectangle. The
3002         newly added layout test verifies correct behavior with negative
3003         source rectangle dimensions.
3004         * platform/graphics/cg/GraphicsContextCG.cpp:
3005         (WebCore::GraphicsContext::drawNativeImage):
3006         Fixed algorithm that adjusts the destination rectangle to match the clipping
3007         applied to the source rect. The case of scaled filtered images with source
3008         rectangles that overlap the edge of the image was not being handled
3009         correctly. This use case was previously unsupported and used to trigger
3010         a DOM exception.
3011
3012 2011-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3013
3014         Unreviewed, rolling out r93329.
3015         http://trac.webkit.org/changeset/93329
3016         https://bugs.webkit.org/show_bug.cgi?id=66497
3017
3018         Turned text on chromium win blue (Requested by jamesr_ on
3019         #webkit).
3020
3021         * WebCore.gypi:
3022         * platform/graphics/chromium/ContentLayerChromium.cpp:
3023         * platform/graphics/chromium/ContentLayerChromium.h:
3024         * platform/graphics/chromium/ImageLayerChromium.cpp:
3025         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
3026         * platform/graphics/chromium/LayerChromium.cpp:
3027         (WebCore::LayerChromium::LayerChromium):
3028         (WebCore::LayerChromium::pushPropertiesTo):
3029         (WebCore::LayerChromium::dumpLayerProperties):
3030         * platform/graphics/chromium/LayerChromium.h:
3031         * platform/graphics/chromium/LayerRendererChromium.cpp:
3032         (WebCore::LayerRendererChromium::initialize):
3033         (WebCore::LayerRendererChromium::releaseTextures):
3034         (WebCore::LayerRendererChromium::updateRootLayerContents):
3035         (WebCore::LayerRendererChromium::drawRootLayer):
3036         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
3037         (WebCore::LayerRendererChromium::rootLayerChanged):
3038         (WebCore::LayerRendererChromium::viewportChanged):
3039         (WebCore::LayerRendererChromium::updateLayers):
3040         (WebCore::LayerRendererChromium::drawLayers):
3041         (WebCore::LayerRendererChromium::paintLayerContents):
3042         (WebCore::LayerRendererChromium::drawLayersInternal):
3043         (WebCore::LayerRendererChromium::getFramebufferPixels):
3044         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3045         (WebCore::LayerRendererChromium::layerTreeAsText):
3046         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
3047         * platform/graphics/chromium/LayerRendererChromium.h:
3048         (WebCore::LayerRendererChromium::rootLayer):
3049         * platform/graphics/chromium/NonCompositedContentHost.cpp: Removed.
3050         * platform/graphics/chromium/NonCompositedContentHost.h: Removed.
3051         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3052         (WebCore::RenderSurfaceChromium::dumpSurface):
3053         * platform/graphics/chromium/TiledLayerChromium.cpp:
3054         (WebCore::TiledLayerChromium::createTilerIfNeeded):
3055         (WebCore::TiledLayerChromium::tilingTransform):
3056         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3057         (WebCore::CCHeadsUpDisplay::draw):
3058         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3059         (WebCore::CCLayerImpl::CCLayerImpl):
3060         * platform/graphics/chromium/cc/CCLayerImpl.h:
3061         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3062         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3063         (WebCore::CCLayerTreeHost::initialize):
3064         (WebCore::CCLayerTreeHost::createRootLayerPainter):
3065         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
3066         (WebCore::CCLayerTreeHost::setRootLayer):
3067         (WebCore::CCLayerTreeHost::setViewport):
3068         (WebCore::CCLayerTreeHost::reallocateRenderer):
3069         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3070         (WebCore::CCLayerTreeHost::rootLayer):
3071         (WebCore::CCLayerTreeHost::viewportContentRect):
3072         (WebCore::CCLayerTreeHost::viewportScrollPosition):
3073         (WebCore::CCLayerTreeHost::viewportVisibleRect):
3074         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3075         (WebCore::CCTiledLayerImpl::draw):
3076
3077 2011-08-18  Ryosuke Niwa  <rniwa@webkit.org>
3078
3079         SimplifiedBackwardsTextIterator returns incorrect offset with first-letter rule
3080         https://bugs.webkit.org/show_bug.cgi?id=66086
3081
3082         Reviewed by Darin Adler.
3083
3084         The bug was caused by SimplifiedBackwardsTextIterator's not taking care of first-letter at all.
3085         Fixing the bug by detecting RenderTextFragment in handleTextNode.
3086
3087         Also added m_shouldHandleFirstLetter to SimplifiedBackwardsTextIterator to keep track of whether or not
3088         the next call to handleTextNode needs to process the first-letter part of the text fragment.
3089
3090         Test: editing/text-iterator/backward-textiterator-first-letter-crash.html
3091
3092         * editing/TextIterator.cpp:
3093         (WebCore::firstRenderTextInFirstLetter): Extracted from handleTextNodeFirstLetter.
3094         (WebCore::TextIterator::handleTextNodeFirstLetter): Calls firstRenderTextInFirstLetter.
3095         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
3096         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
3097         (WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Added.
3098         * editing/TextIterator.h:
3099
3100 2011-08-18  Iain Merrick  <husky@google.com>
3101
3102         [chromium] Assert that main thread and compositor thread are used safely
3103         https://bugs.webkit.org/show_bug.cgi?id=66145
3104
3105         CCLayerTreeHostImplProxy now has public static methods isMainThread()
3106         and isImplThread(), and we ASSERT these in various places. If threaded
3107         compositing is disabled, we fake isImplThread() by setting a flag for
3108         the duration of compositing, so the assert is still valid.
3109
3110         Reviewed by James Robinson.
3111
3112         Covered by existing tests.
3113
3114         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
3115         (WebCore::CCCanvasLayerImpl::draw):
3116         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3117         (WebCore::CCLayerTreeHost::doComposite):
3118         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
3119         (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
3120         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
3121         (WebCore::CCLayerTreeHostImplProxy::isMainThread):
3122         (WebCore::CCLayerTreeHostImplProxy::isImplThread):
3123         (WebCore::CCLayerTreeHostImplProxy::setImplThread):
3124         (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
3125         (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
3126         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
3127         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
3128         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
3129         (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
3130         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h:
3131         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
3132         (WebCore::CCPluginLayerImpl::draw):
3133         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3134         (WebCore::CCTiledLayerImpl::draw):
3135         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3136         (WebCore::CCVideoLayerImpl::draw):
3137
3138 2011-08-18  Alexey Proskuryakov  <ap@apple.com>
3139
3140         Regional indicator symbols that are combined should behave as a single character when editing
3141         https://bugs.webkit.org/show_bug.cgi?id=65395
3142
3143         Reviewed by Dan Bernstein.
3144
3145         Part two: make cursor movement iterator work. This fixes the problem for strings that don't
3146         contain more than two flags in a row, as fixing it completely doesn't seem possible with ICU.
3147
3148         Test: editing/selection/regional-indicators.html
3149
3150         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added custom
3151         rules for regional indicator symbols.
3152
3153 2011-08-18  Cary Clark  <caryclark@google.com>
3154
3155         Fix rubber band gutter drawing for Skia on Chromium Mac
3156         https://bugs.webkit.org/show_bug.cgi?id=66478
3157
3158         Reviewed by James Robinson.
3159
3160         No new tests. The Skia on Chromium Mac platform has
3161         not been enabled.
3162
3163         This break was detected at compile time; there is no
3164         behavior change.
3165
3166         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3167         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
3168         Convert the CGImage into an SkBitmap if Skia is present.
3169
3170 2011-08-18  Julien Chaffraix  <jchaffraix@webkit.org>
3171
3172         Implement a faster path for painting tables with overflowing cells
3173         https://bugs.webkit.org/show_bug.cgi?id=65491
3174
3175         This change introduces a smarter way of painting if the table is big enough and we have a small amount
3176         of overflowing cells in the table. The new path does a binary search of the cells to repaint but adds
3177         the overflowing cells to the repainting cells.
3178
3179         This saves ~50% when doing programmatic scrolling throught JS on a 500x100 table with some overflowing
3180         cells. Also we cap the memory usage to a ratio of the total size of the table to avoid blowing up the
3181         memory.
3182
3183         Reviewed by David Hyatt.
3184
3185         No new tests as the behavior should be the same.
3186
3187         * rendering/RenderTableSection.cpp:
3188         (WebCore::RenderTableSection::RenderTableSection):
3189         (WebCore::RenderTableSection::layoutRows): Added some code to accumulate the overflowing cells
3190         in an internal HashSet (we don't need to keep them sorted and it makes it easier to use them during
3191         painting). If we hit the cap, flip the boolean value and clear the HashSet as the slow path does not
3192         care about the cell's information. Make sure that the "has overflowing cells" information is still
3193         properly encoded on our 2 values.
3194
3195         (WebCore::compareCellPositionsWithOverflowingCells): Added this method as we are doing a more
3196         complicated sort:
3197             * the old path would sort one (mostly sorted) array by rows only as the stable sort would
3198               take care of keeping the column ordering inside a row.
3199             * the new path basically has to sort an unsorted array (taken partly from the HashSet).
3200
3201         (WebCore::RenderTableSection::paintObject): Tweaked the logic to account for difference between
3202         m_forceSlowPaintPathWithOverflowingCell and has some overflowing cells. Also we make sure we don't
3203         repaint the same cell twice.
3204
3205         (WebCore::RenderTableSection::nodeAtPoint): Changed to hasOverflowingCell(). We don't apply our
3206         fast path optimization here.
3207
3208         * rendering/RenderTableSection.h: Transformed our original boolean into
3209         a HashSet and a boolean. The HashSet holds up the CellStruct that are overflowing
3210         until we reach the memory threshold. After this is hit, we just set the boolean
3211         to avoid using too much memory.
3212
3213         (WebCore::RenderTableSection::hasOverflowingCell): This is the new way to determine
3214         if we have any overflowing cell, used only for hit testing.
3215
3216 2011-08-18  Kentaro Hara  <haraken@google.com>
3217
3218         An EventSource constructor should throw TypeError, when the number of arguments is not enough.
3219         https://bugs.webkit.org/show_bug.cgi?id=66454
3220
3221         Reviewed by Adam Barth.
3222
3223         The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
3224
3225         Test: fast/eventsource/eventsource-constructor.html
3226
3227         * bindings/js/JSEventSourceCustom.cpp:
3228         (WebCore::JSEventSourceConstructor::constructJSEventSource): Changed SyntaxError to TypeError.
3229         * bindings/v8/custom/V8EventSourceConstructor.cpp:
3230         (WebCore::V8EventSource::constructorCallback): Changed SyntaxError to TypeError.
3231
3232 2011-08-18  Kentaro Hara  <haraken@google.com>
3233
3234         A SharedWorker constructor should throw TypeError, when the number of arguments is not enough.
3235         https://bugs.webkit.org/show_bug.cgi?id=66455
3236
3237         Reviewed by Adam Barth.
3238
3239         The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
3240
3241         Test: fast/workers/shared-worker-constructor.html
3242
3243         * bindings/js/JSSharedWorkerCustom.cpp:
3244         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Changed SyntaxError to TypeError.
3245         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
3246         (WebCore::V8SharedWorker::constructorCallback): Changed SyntaxError to TypeError.
3247
3248 2011-08-17  Alejandro G. Castro  <alex@igalia.com>
3249
3250         [GTK] Fix compilation problems with deprecations in gtk+
3251         https://bugs.webkit.org/show_bug.cgi?id=66073
3252
3253         Reviewed by Martin Robinson.
3254
3255         * platform/gtk/GtkAuthenticationDialog.cpp:
3256         (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Added
3257         gtk_box_new conditional compilation for gtk+-3.
3258         * platform/gtk/RenderThemeGtk3.cpp:
3259         (WebCore::RenderThemeGtk::adjustRepaintRect):
3260         (WebCore::RenderThemeGtk::paintSliderTrack):
3261         (WebCore::RenderThemeGtk::paintSliderThumb):
3262         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Now we have have
3263         GTK_TYPE_SCALE in gtk+3.
3264
3265 2011-08-18  Kentaro Hara  <haraken@google.com>
3266
3267         A Worker constructor should throw TypeError, when the number of arguments is not enough
3268         https://bugs.webkit.org/show_bug.cgi?id=66456
3269
3270         Reviewed by Adam Barth.
3271
3272         Spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
3273
3274         Test: fast/workers/worker-constructor.html
3275
3276         * bindings/js/JSWorkerCustom.cpp:
3277         (WebCore::JSWorkerConstructor::constructJSWorker): Changed SyntaxError to TypeError.
3278         * bindings/v8/custom/V8WorkerCustom.cpp:
3279         (WebCore::V8Worker::constructorCallback): Changed SyntaxError to TypeError.
3280
3281 2011-08-18  John Bates  <jbates@google.com>
3282
3283         Fix logic error causing reverse of desired WebGL rate limiting behavior
3284         https://bugs.webkit.org/show_bug.cgi?id=66445
3285
3286         Reviewed by Kenneth Russell.
3287
3288         * platform/graphics/chromium/WebGLLayerChromium.cpp:
3289         (WebCore::WebGLLayerChromium::setTextureUpdated):
3290
3291 2011-08-18  Levi Weintraub  <leviw@chromium.org>
3292
3293         Switch RenderTextControl* to new layout types
3294         https://bugs.webkit.org/show_bug.cgi?id=66250
3295
3296         Reviewed by Eric Seidel.
3297
3298         Convertikng the RenderTextControl* classes to use the LayoutUnit abstraction.
3299
3300         No new tests as no change in behavior.
3301
3302         * rendering/LayoutTypes.h:
3303         (WebCore::layoutMod): Added a function to perform the modulo operation on LayoutUnits.
3304         * rendering/RenderTextControl.cpp:
3305         (WebCore::RenderTextControl::hitInnerTextElement):
3306         * rendering/RenderTextControl.h:
3307         * rendering/RenderTextControlMultiLine.cpp:
3308         (WebCore::RenderTextControlMultiLine::preferredContentWidth):
3309         (WebCore::RenderTextControlMultiLine::baselinePosition):
3310         * rendering/RenderTextControlMultiLine.h:
3311         * rendering/RenderTextControlSingleLine.cpp:
3312         (WebCore::RenderTextControlSingleLine::layout):
3313         (WebCore::RenderTextControlSingleLine::controlClipRect):
3314         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
3315         (WebCore::RenderTextControlSingleLine::scrollWidth):
3316         (WebCore::RenderTextControlSingleLine::scrollHeight):
3317         (WebCore::RenderTextControlSingleLine::scrollLeft):
3318         (WebCore::RenderTextControlSingleLine::scrollTop):
3319         (WebCore::RenderTextControlSingleLine::setScrollLeft):
3320         (WebCore::RenderTextControlSingleLine::setScrollTop):
3321         * rendering/RenderTextControlSingleLine.h:
3322
3323 2011-08-18  Levi Weintraub  <leviw@chromium.org>
3324
3325         Switch Inline rendering classes to new layout types
3326         https://bugs.webkit.org/show_bug.cgi?id=66239
3327
3328         Reviewed by Eric Seidel.
3329
3330         Converting inline rendering classes to use the LayoutUnit abstraction from ints.
3331
3332         No new tests as no change in functionality.
3333
3334         * rendering/InlineBox.h:
3335         (WebCore::InlineBox::logicalFrameRect):
3336         (WebCore::InlineBox::baselinePosition):
3337         (WebCore::InlineBox::lineHeight):
3338         * rendering/InlineFlowBox.h:
3339         * rendering/InlineTextBox.cpp:
3340         (WebCore::InlineTextBox::logicalOverflowRect):
3341         (WebCore::InlineTextBox::setLogicalOverflowRect):
3342         (WebCore::InlineTextBox::baselinePosition):
3343         (WebCore::InlineTextBox::lineHeight):
3344         * rendering/InlineTextBox.h:
3345         (WebCore::InlineTextBox::logicalTopVisualOverflow):
3346         (WebCore::InlineTextBox::logicalBottomVisualOverflow):
3347         (WebCore::InlineTextBox::logicalLeftVisualOverflow):
3348         (WebCore::InlineTextBox::logicalRightVisualOverflow):
3349         * rendering/RenderInline.cpp:
3350         (WebCore::RenderInline::culledInlineAbsoluteRects):
3351         (WebCore::computeMargin):
3352         (WebCore::RenderInline::culledInlineBoundingBox):
3353         (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
3354         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
3355         (WebCore::RenderInline::clippedOverflowRectForRepaint):
3356         (WebCore::RenderInline::rectWithOutlineForRepaint):
3357         (WebCore::RenderInline::computeRectForRepaint):
3358         (WebCore::RenderInline::mapLocalToContainer):
3359         (WebCore::RenderInline::lineHeight):
3360         (WebCore::RenderInline::baselinePosition):
3361         (WebCore::RenderInline::addDashboardRegions):
3362         * rendering/RenderInline.h:
3363
3364 2011-08-18  Jeffrey Pfau  <jpfau@apple.com>
3365
3366         New XML parser: add doctype to DOM tree
3367         https://bugs.webkit.org/show_bug.cgi?id=66408
3368
3369         Reviewed by Adam Barth.
3370
3371         * xml/parser/XMLTreeBuilder.cpp:
3372         (WebCore::XMLTreeBuilder::processDOCTYPE):
3373
3374 2011-08-18  James Robinson  <jamesr@chromium.org>
3375
3376         [chromium] Draw the root/"non-composited content" in compositor side
3377         https://bugs.webkit.org/show_bug.cgi?id=58834
3378
3379         Reviewed by Darin Fisher.
3380
3381         Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
3382         LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
3383         through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
3384         *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
3385             draw-time transform.
3386         *) The root layer masks the alpha channel when drawing because of concerns about subpixel AA trashing the alpha
3387             channel.  The root layer is always opaque so this is fine.
3388         *) The root layer does not have border texels and does have subpixel AA for text.
3389
3390         Covered by compositing/
3391
3392         * WebCore.gypi:
3393         * platform/graphics/chromium/ContentLayerChromium.cpp:
3394         (WebCore::ContentLayerChromium::paintContentsIfDirty):
3395         * platform/graphics/chromium/ImageLayerChromium.cpp:
3396         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3397         * platform/graphics/chromium/LayerChromium.cpp:
3398         (WebCore::LayerChromium::pushPropertiesTo):
3399         * platform/graphics/chromium/LayerChromium.h:
3400         (WebCore::LayerChromium::scrollPosition):
3401         (WebCore::LayerChromium::setScrollPosition):
3402         * platform/graphics/chromium/LayerRendererChromium.cpp:
3403         (WebCore::LayerRendererChromium::initialize):
3404         (WebCore::LayerRendererChromium::releaseTextures):
3405         (WebCore::LayerRendererChromium::viewportChanged):
3406         (WebCore::LayerRendererChromium::updateLayers):
3407         (WebCore::LayerRendererChromium::drawLayers):
3408         (WebCore::LayerRendererChromium::drawLayersInternal):
3409         (WebCore::LayerRendererChromium::getFramebufferPixels):
3410         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3411         (WebCore::LayerRendererChromium::layerTreeAsText):
3412         * platform/graphics/chromium/LayerRendererChromium.h:
3413         (WebCore::LayerRendererChromium::rootLayer):
3414         (WebCore::LayerRendererChromium::viewportSize):
3415         (WebCore::LayerRendererChromium::viewportWidth):
3416         (WebCore::LayerRendererChromium::viewportHeight):
3417         * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
3418         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
3419         (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
3420         (WebCore::NonCompositedContentHost::invalidateRect):
3421         (WebCore::NonCompositedContentHost::invalidateEntireLayer):
3422         (WebCore::NonCompositedContentHost::setScrollPosition):
3423         (WebCore::NonCompositedContentHost::notifyAnimationStarted):
3424         (WebCore::NonCompositedContentHost::notifySyncRequired):
3425         (WebCore::NonCompositedContentHost::paintContents):
3426         (WebCore::NonCompositedContentHost::showDebugBorders):
3427         (WebCore::NonCompositedContentHost::showRepaintCounter):
3428         * platform/graphics/chromium/NonCompositedContentHost.h: Added.
3429         (WebCore::NonCompositedContentHost::create):
3430         (WebCore::NonCompositedContentHost::graphicsLayer):
3431         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3432         (WebCore::CCHeadsUpDisplay::draw):
3433         * platform/graphics/chromium/cc/CCLayerImpl.h:
3434         (WebCore::CCLayerImpl::scrollPosition):
3435         (WebCore::CCLayerImpl::setScrollPosition):
3436         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3437         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3438         (WebCore::CCLayerTreeHost::initialize):
3439         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
3440         (WebCore::CCLayerTreeHost::setRootLayer):
3441         (WebCore::CCLayerTreeHost::setViewport):
3442         (WebCore::CCLayerTreeHost::reallocateRenderer):
3443         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3444         (WebCore::CCLayerTreeHost::rootLayer):
3445         (WebCore::CCLayerTreeHost::viewportSize):
3446
3447 2011-08-18  Nico Weber  <thakis@chromium.org>
3448
3449         Fix "missing return" gcc warning in ScrollAnimatorNone
3450         https://bugs.webkit.org/show_bug.cgi?id=66480
3451
3452         Reviewed by Tony Chang.
3453
3454         * platform/ScrollAnimatorNone.cpp:
3455         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
3456         (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
3457
3458 2011-08-18  James Simonsen  <simonjam@chromium.org>
3459
3460         Revalidate expired resources if they're requested after the initial document load
3461         https://bugs.webkit.org/show_bug.cgi?id=52153
3462
3463         Reviewed by Antti Koivisto.
3464
3465         Test: http/tests/cache/subresource-multiple-instances.html
3466
3467         * loader/cache/CachedResourceLoader.cpp:
3468         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
3469
3470 2011-08-18  Anders Carlsson  <andersca@apple.com>
3471