<rdar://problem/9973194> Fonts that specify a positive descender value are treated...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-08-18  Dan Bernstein  <mitz@apple.com>
2
3         <rdar://problem/9973194> Fonts that specify a positive descender value are treated as having descenders ending above the baseline
4         https://bugs.webkit.org/show_bug.cgi?id=66515
5
6         Reviewed by Darin Adler.
7
8         No test because none of the system fonts and test fonts have an incorrectly-specified descender value.
9
10         * platform/graphics/mac/SimpleFontDataMac.mm:
11         (WebCore::SimpleFontData::platformInit): If the font specifies a positive descender, assume that it meant
12         the same amount, but negative. This is consistent with what Core Text does.
13
14 2011-08-18  Ryosuke Niwa  <rniwa@webkit.org>
15
16         positionForPoint returns wrong VisiblePosition at bidi boundaries
17         https://bugs.webkit.org/show_bug.cgi?id=65356
18
19         Reviewed by David Hyatt.
20
21         The bug was caused by RenderText::positionForPoint's assuming that the position will always reside
22         inside the inline box that contains the point, which is not true at the boundaries of bidi-runs.
23
24         For example, in aDC12BAb where AB12CD is a RTL text, the offset on the right of A is 7 even though
25         the inline box for "BA" only contains offsets 1, 2, and 3. We must traverse the bidi-run "DC12BA"
26         until the end to obtain the offset 7 from the inline box for "DC".
27
28         Fixed the bug by introducing createVisiblePositionAfterAdjustingOffsetForBiDi which traverses runs
29         on the left or the right of the position to compute the appropriate offset following the NSTextView convention.
30
31         This patch also fixes a regression from r74971 that caret is placed incorrectly between inline boxes of
32         LTR or RTL text in a RTL or LTR block respectively.
33
34         Test: editing/selection/caret-at-bidi-boundary.html
35
36         * rendering/InlineTextBox.cpp:
37         (WebCore::InlineTextBox::offsetForPosition):
38         * rendering/RenderText.cpp:
39         (WebCore::lineDirectionPointFitsInBox): Takes ShouldAffinityBeDownstream instead of EAfinity.
40         (WebCore::createVisiblePositionForBox):
41         (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi):
42         (WebCore::RenderText::positionForPoint):
43
44 2011-08-18  Xiaomei Ji  <xji@chromium.org>
45
46         --webkit-visual-word renaming right/leftWordPositionAcrossBoundary
47         https://bugs.webkit.org/show_bug.cgi?id=66436
48
49         Reviewed by Ryosuke Niwa.
50
51         Rename them to right/leftWordPositionIgnoringEditingBoundary.
52
53         * editing/visible_units.cpp:
54         (WebCore::leftWordPositionIgnoringEditingBoundary):
55         (WebCore::rightWordPositionIgnoringEditingBoundary):
56         (WebCore::leftWordPosition):
57         (WebCore::rightWordPosition):
58
59 2011-08-18  Jeff Miller  <jeffm@apple.com>
60
61         Soft link against AVFoundationCF and CoreMedia
62         https://bugs.webkit.org/show_bug.cgi?id=65725
63         
64         Add new macros to SoftLinking.h to support soft-linking to functions and variables decorated with __declspec(dllimport),
65         and use them to soft-link to AVFoundationCF and CoreMedia. I verified that the WebProcess doesn't load these DLLs
66         until a media element is used.
67
68         Reviewed by Eric Carlson.
69
70         No new tests as no change in functionality.
71
72         * WebCore.vcproj/WebCore.vcproj: Added AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
73         * WebCore.vcproj/WebCoreMediaQT.vsprops: Removed DelayLoadDLLs linker option which is no longer needed.
74         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Added.
75         * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Added.
76         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Stop linking against AVFoundationCF.lib and CoreMedia.lib and include AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
77         * platform/win/SoftLinking.h: Added SOFT_LINK_DLL_IMPORT() and SOFT_LINK_VARIABLE_DLL_IMPORT() macros.
78
79 2011-08-18  Sailesh Agrawal  <sail@chromium.org>
80
81         Chromium Mac: Show scrollbar when doing search
82         https://bugs.webkit.org/show_bug.cgi?id=66209
83
84         Reviewed by James Robinson.
85
86         Updated the Lion scrollbar drawing code to force the scrollbar to be visible when we have tickmarks for search results.
87
88         No tests because there are no Mac 10.7 chromium bots yet.
89
90         * platform/chromium/ScrollbarThemeChromiumMac.h:
91         * platform/chromium/ScrollbarThemeChromiumMac.mm:
92         (WebCore::ScrollbarThemeChromiumMac::paint):
93         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
94
95 2011-08-18  James Robinson  <jamesr@chromium.org>
96
97         [chromium] Draw the root/"non-composited content" in compositor side
98         https://bugs.webkit.org/show_bug.cgi?id=58834
99
100         Reviewed by Kenneth Russell.
101
102         Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
103         LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
104         through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
105         *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
106             draw-time transform.
107         *) The root layer masks the alpha channel and disable blending when drawing because of concerns about subpixel
108             AA trashing the alpha channel.  The root layer is always opaque so this is fine.
109         *) The root layer does not have border texels and does have subpixel AA for text.
110
111         Covered by compositing/
112
113         * WebCore.gypi:
114         * platform/graphics/chromium/ContentLayerChromium.cpp:
115         (WebCore::ContentLayerChromium::paintContentsIfDirty):
116         * platform/graphics/chromium/ImageLayerChromium.cpp:
117         (WebCore::ImageLayerChromium::paintContentsIfDirty):
118         * platform/graphics/chromium/LayerChromium.cpp:
119         (WebCore::LayerChromium::pushPropertiesTo):
120         * platform/graphics/chromium/LayerChromium.h:
121         (WebCore::LayerChromium::scrollPosition):
122         (WebCore::LayerChromium::setScrollPosition):
123         * platform/graphics/chromium/LayerRendererChromium.cpp:
124         (WebCore::LayerRendererChromium::initialize):
125         (WebCore::LayerRendererChromium::releaseTextures):
126         (WebCore::LayerRendererChromium::viewportChanged):
127         (WebCore::LayerRendererChromium::updateLayers):
128         (WebCore::LayerRendererChromium::drawLayers):
129         (WebCore::LayerRendererChromium::drawLayersInternal):
130         (WebCore::LayerRendererChromium::getFramebufferPixels):
131         (WebCore::LayerRendererChromium::cleanupSharedObjects):
132         (WebCore::LayerRendererChromium::layerTreeAsText):
133         * platform/graphics/chromium/LayerRendererChromium.h:
134         (WebCore::LayerRendererChromium::rootLayer):
135         (WebCore::LayerRendererChromium::viewportSize):
136         (WebCore::LayerRendererChromium::viewportWidth):
137         (WebCore::LayerRendererChromium::viewportHeight):
138         * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
139         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
140         (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
141         (WebCore::NonCompositedContentHost::invalidateRect):
142         (WebCore::NonCompositedContentHost::invalidateEntireLayer):
143         (WebCore::NonCompositedContentHost::setScrollPosition):
144         (WebCore::NonCompositedContentHost::notifyAnimationStarted):
145         (WebCore::NonCompositedContentHost::notifySyncRequired):
146         (WebCore::NonCompositedContentHost::paintContents):
147         (WebCore::NonCompositedContentHost::showDebugBorders):
148         (WebCore::NonCompositedContentHost::showRepaintCounter):
149         * platform/graphics/chromium/NonCompositedContentHost.h: Added.
150         (WebCore::NonCompositedContentHost::create):
151         (WebCore::NonCompositedContentHost::graphicsLayer):
152         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
153         (WebCore::CCHeadsUpDisplay::draw):
154         * platform/graphics/chromium/cc/CCLayerImpl.h:
155         (WebCore::CCLayerImpl::scrollPosition):
156         (WebCore::CCLayerImpl::setScrollPosition):
157         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
158         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
159         (WebCore::CCLayerTreeHost::initialize):
160         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
161         (WebCore::CCLayerTreeHost::setRootLayer):
162         (WebCore::CCLayerTreeHost::setViewport):
163         (WebCore::CCLayerTreeHost::reallocateRenderer):
164         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
165         (WebCore::CCLayerTreeHost::rootLayer):
166         (WebCore::CCLayerTreeHost::viewportSize):
167
168 2011-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
169
170         Unreviewed, rolling out r93354.
171         http://trac.webkit.org/changeset/93354
172         https://bugs.webkit.org/show_bug.cgi?id=66503
173
174         "consensus was not reached" (Requested by senorblanco on
175         #webkit).
176
177         * html/canvas/CanvasRenderingContext2D.cpp:
178         (WebCore::CanvasRenderingContext2D::drawImage):
179         * platform/graphics/cg/GraphicsContextCG.cpp:
180         (WebCore::GraphicsContext::drawNativeImage):
181
182 2011-08-18  Sadrul Habib Chowdhury  <sadrul@chromium.org>
183
184         GestureRecognizer: Update how gesture-scroll works.
185
186         Instead of just sending a series of 'GestureUpdate' events, send a
187         single 'GestureBegin' event, followed by a series of 'GestureUpdate' events,
188         and end with a 'GestureEnd' event.
189         https://bugs.webkit.org/show_bug.cgi?id=66267
190
191         Reviewed by Adam Barth.
192
193         * page/EventHandler.cpp:
194         (WebCore::EventHandler::handleGestureEvent):
195         * platform/chromium/GestureRecognizerChromium.cpp:
196         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
197         (WebCore::InnerGestureRecognizer::appendScrollGestureBegin):
198         (WebCore::InnerGestureRecognizer::appendScrollGestureEnd):
199         (WebCore::InnerGestureRecognizer::appendScrollGestureUpdate):
200         (WebCore::scrollEnd):
201         (WebCore::isClickOrScroll):
202         (WebCore::inScroll):
203         * platform/chromium/GestureRecognizerChromium.h:
204         (WebCore::InnerGestureRecognizer::firstTouchPosition):
205
206 2011-08-18  Sailesh Agrawal  <sail@chromium.org>
207
208         Chromium: Update forked ScrollbarThemeChromiumMac.mm
209         https://bugs.webkit.org/show_bug.cgi?id=65555
210
211         Reviewed by James Robinson.
212
213         Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
214
215         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
216         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
217         (wkScrollbarPainterSetEnabled):
218         * platform/chromium/ScrollbarThemeChromiumMac.h:
219         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
220         * platform/chromium/ScrollbarThemeChromiumMac.mm:
221         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
222         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
223         (WebCore::toScrollbarPainterKnobStyle):
224         (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
225         (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
226         (WebCore::ScrollbarThemeChromiumMac::paint):
227
228 2011-08-18  Justin Novosad  <junov@chromium.org>
229
230         Unwarranted DOM Exception when when canvas2D drawImage is called with src
231         rect out of bounds
232         https://bugs.webkit.org/show_bug.cgi?id=65709
233
234         Reviewed by Stephen White.
235
236         Test: fast/canvas/drawImage-clipped-source.html
237
238         * html/canvas/CanvasRenderingContext2D.cpp:
239         (WebCore::CanvasRenderingContext2D::drawImage):
240         Removed the unnecessary dom exceptions for out of bounds source rectangles
241         The overloads that receive video and image elements as source images
242         now use the normalized versions of the source rectangle, which
243         GraphicsContext (and its various platform flavors) can handle correctly.
244         The normalized rectangle is the equivalent rectangle with width and height
245         greater than 0.  The canvas version of this method, which had better layout 
246         test coverage, was already correctly using the normalized rectangle. The
247         newly added layout test verifies correct behavior with negative
248         source rectangle dimensions.
249         * platform/graphics/cg/GraphicsContextCG.cpp:
250         (WebCore::GraphicsContext::drawNativeImage):
251         Fixed algorithm that adjusts the destination rectangle to match the clipping
252         applied to the source rect. The case of scaled filtered images with source
253         rectangles that overlap the edge of the image was not being handled
254         correctly. This use case was previously unsupported and used to trigger
255         a DOM exception.
256
257 2011-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
258
259         Unreviewed, rolling out r93329.
260         http://trac.webkit.org/changeset/93329
261         https://bugs.webkit.org/show_bug.cgi?id=66497
262
263         Turned text on chromium win blue (Requested by jamesr_ on
264         #webkit).
265
266         * WebCore.gypi:
267         * platform/graphics/chromium/ContentLayerChromium.cpp:
268         * platform/graphics/chromium/ContentLayerChromium.h:
269         * platform/graphics/chromium/ImageLayerChromium.cpp:
270         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
271         * platform/graphics/chromium/LayerChromium.cpp:
272         (WebCore::LayerChromium::LayerChromium):
273         (WebCore::LayerChromium::pushPropertiesTo):
274         (WebCore::LayerChromium::dumpLayerProperties):
275         * platform/graphics/chromium/LayerChromium.h:
276         * platform/graphics/chromium/LayerRendererChromium.cpp:
277         (WebCore::LayerRendererChromium::initialize):
278         (WebCore::LayerRendererChromium::releaseTextures):
279         (WebCore::LayerRendererChromium::updateRootLayerContents):
280         (WebCore::LayerRendererChromium::drawRootLayer):
281         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
282         (WebCore::LayerRendererChromium::rootLayerChanged):
283         (WebCore::LayerRendererChromium::viewportChanged):
284         (WebCore::LayerRendererChromium::updateLayers):
285         (WebCore::LayerRendererChromium::drawLayers):
286         (WebCore::LayerRendererChromium::paintLayerContents):
287         (WebCore::LayerRendererChromium::drawLayersInternal):
288         (WebCore::LayerRendererChromium::getFramebufferPixels):
289         (WebCore::LayerRendererChromium::cleanupSharedObjects):
290         (WebCore::LayerRendererChromium::layerTreeAsText):
291         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
292         * platform/graphics/chromium/LayerRendererChromium.h:
293         (WebCore::LayerRendererChromium::rootLayer):
294         * platform/graphics/chromium/NonCompositedContentHost.cpp: Removed.
295         * platform/graphics/chromium/NonCompositedContentHost.h: Removed.
296         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
297         (WebCore::RenderSurfaceChromium::dumpSurface):
298         * platform/graphics/chromium/TiledLayerChromium.cpp:
299         (WebCore::TiledLayerChromium::createTilerIfNeeded):
300         (WebCore::TiledLayerChromium::tilingTransform):
301         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
302         (WebCore::CCHeadsUpDisplay::draw):
303         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
304         (WebCore::CCLayerImpl::CCLayerImpl):
305         * platform/graphics/chromium/cc/CCLayerImpl.h:
306         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
307         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
308         (WebCore::CCLayerTreeHost::initialize):
309         (WebCore::CCLayerTreeHost::createRootLayerPainter):
310         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
311         (WebCore::CCLayerTreeHost::setRootLayer):
312         (WebCore::CCLayerTreeHost::setViewport):
313         (WebCore::CCLayerTreeHost::reallocateRenderer):
314         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
315         (WebCore::CCLayerTreeHost::rootLayer):
316         (WebCore::CCLayerTreeHost::viewportContentRect):
317         (WebCore::CCLayerTreeHost::viewportScrollPosition):
318         (WebCore::CCLayerTreeHost::viewportVisibleRect):
319         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
320         (WebCore::CCTiledLayerImpl::draw):
321
322 2011-08-18  Ryosuke Niwa  <rniwa@webkit.org>
323
324         SimplifiedBackwardsTextIterator returns incorrect offset with first-letter rule
325         https://bugs.webkit.org/show_bug.cgi?id=66086
326
327         Reviewed by Darin Adler.
328
329         The bug was caused by SimplifiedBackwardsTextIterator's not taking care of first-letter at all.
330         Fixing the bug by detecting RenderTextFragment in handleTextNode.
331
332         Also added m_shouldHandleFirstLetter to SimplifiedBackwardsTextIterator to keep track of whether or not
333         the next call to handleTextNode needs to process the first-letter part of the text fragment.
334
335         Test: editing/text-iterator/backward-textiterator-first-letter-crash.html
336
337         * editing/TextIterator.cpp:
338         (WebCore::firstRenderTextInFirstLetter): Extracted from handleTextNodeFirstLetter.
339         (WebCore::TextIterator::handleTextNodeFirstLetter): Calls firstRenderTextInFirstLetter.
340         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
341         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
342         (WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Added.
343         * editing/TextIterator.h:
344
345 2011-08-18  Iain Merrick  <husky@google.com>
346
347         [chromium] Assert that main thread and compositor thread are used safely
348         https://bugs.webkit.org/show_bug.cgi?id=66145
349
350         CCLayerTreeHostImplProxy now has public static methods isMainThread()
351         and isImplThread(), and we ASSERT these in various places. If threaded
352         compositing is disabled, we fake isImplThread() by setting a flag for
353         the duration of compositing, so the assert is still valid.
354
355         Reviewed by James Robinson.
356
357         Covered by existing tests.
358
359         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
360         (WebCore::CCCanvasLayerImpl::draw):
361         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
362         (WebCore::CCLayerTreeHost::doComposite):
363         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
364         (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
365         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
366         (WebCore::CCLayerTreeHostImplProxy::isMainThread):
367         (WebCore::CCLayerTreeHostImplProxy::isImplThread):
368         (WebCore::CCLayerTreeHostImplProxy::setImplThread):
369         (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
370         (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
371         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
372         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
373         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
374         (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
375         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h:
376         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
377         (WebCore::CCPluginLayerImpl::draw):
378         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
379         (WebCore::CCTiledLayerImpl::draw):
380         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
381         (WebCore::CCVideoLayerImpl::draw):
382
383 2011-08-18  Alexey Proskuryakov  <ap@apple.com>
384
385         Regional indicator symbols that are combined should behave as a single character when editing
386         https://bugs.webkit.org/show_bug.cgi?id=65395
387
388         Reviewed by Dan Bernstein.
389
390         Part two: make cursor movement iterator work. This fixes the problem for strings that don't
391         contain more than two flags in a row, as fixing it completely doesn't seem possible with ICU.
392
393         Test: editing/selection/regional-indicators.html
394
395         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added custom
396         rules for regional indicator symbols.
397
398 2011-08-18  Cary Clark  <caryclark@google.com>
399
400         Fix rubber band gutter drawing for Skia on Chromium Mac
401         https://bugs.webkit.org/show_bug.cgi?id=66478
402
403         Reviewed by James Robinson.
404
405         No new tests. The Skia on Chromium Mac platform has
406         not been enabled.
407
408         This break was detected at compile time; there is no
409         behavior change.
410
411         * platform/chromium/ScrollbarThemeChromiumMac.mm:
412         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
413         Convert the CGImage into an SkBitmap if Skia is present.
414
415 2011-08-18  Julien Chaffraix  <jchaffraix@webkit.org>
416
417         Implement a faster path for painting tables with overflowing cells
418         https://bugs.webkit.org/show_bug.cgi?id=65491
419
420         This change introduces a smarter way of painting if the table is big enough and we have a small amount
421         of overflowing cells in the table. The new path does a binary search of the cells to repaint but adds
422         the overflowing cells to the repainting cells.
423
424         This saves ~50% when doing programmatic scrolling throught JS on a 500x100 table with some overflowing
425         cells. Also we cap the memory usage to a ratio of the total size of the table to avoid blowing up the
426         memory.
427
428         Reviewed by David Hyatt.
429
430         No new tests as the behavior should be the same.
431
432         * rendering/RenderTableSection.cpp:
433         (WebCore::RenderTableSection::RenderTableSection):
434         (WebCore::RenderTableSection::layoutRows): Added some code to accumulate the overflowing cells
435         in an internal HashSet (we don't need to keep them sorted and it makes it easier to use them during
436         painting). If we hit the cap, flip the boolean value and clear the HashSet as the slow path does not
437         care about the cell's information. Make sure that the "has overflowing cells" information is still
438         properly encoded on our 2 values.
439
440         (WebCore::compareCellPositionsWithOverflowingCells): Added this method as we are doing a more
441         complicated sort:
442             * the old path would sort one (mostly sorted) array by rows only as the stable sort would
443               take care of keeping the column ordering inside a row.
444             * the new path basically has to sort an unsorted array (taken partly from the HashSet).
445
446         (WebCore::RenderTableSection::paintObject): Tweaked the logic to account for difference between
447         m_forceSlowPaintPathWithOverflowingCell and has some overflowing cells. Also we make sure we don't
448         repaint the same cell twice.
449
450         (WebCore::RenderTableSection::nodeAtPoint): Changed to hasOverflowingCell(). We don't apply our
451         fast path optimization here.
452
453         * rendering/RenderTableSection.h: Transformed our original boolean into
454         a HashSet and a boolean. The HashSet holds up the CellStruct that are overflowing
455         until we reach the memory threshold. After this is hit, we just set the boolean
456         to avoid using too much memory.
457
458         (WebCore::RenderTableSection::hasOverflowingCell): This is the new way to determine
459         if we have any overflowing cell, used only for hit testing.
460
461 2011-08-18  Kentaro Hara  <haraken@google.com>
462
463         An EventSource constructor should throw TypeError, when the number of arguments is not enough.
464         https://bugs.webkit.org/show_bug.cgi?id=66454
465
466         Reviewed by Adam Barth.
467
468         The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
469
470         Test: fast/eventsource/eventsource-constructor.html
471
472         * bindings/js/JSEventSourceCustom.cpp:
473         (WebCore::JSEventSourceConstructor::constructJSEventSource): Changed SyntaxError to TypeError.
474         * bindings/v8/custom/V8EventSourceConstructor.cpp:
475         (WebCore::V8EventSource::constructorCallback): Changed SyntaxError to TypeError.
476
477 2011-08-18  Kentaro Hara  <haraken@google.com>
478
479         A SharedWorker constructor should throw TypeError, when the number of arguments is not enough.
480         https://bugs.webkit.org/show_bug.cgi?id=66455
481
482         Reviewed by Adam Barth.
483
484         The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
485
486         Test: fast/workers/shared-worker-constructor.html
487
488         * bindings/js/JSSharedWorkerCustom.cpp:
489         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Changed SyntaxError to TypeError.
490         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
491         (WebCore::V8SharedWorker::constructorCallback): Changed SyntaxError to TypeError.
492
493 2011-08-17  Alejandro G. Castro  <alex@igalia.com>
494
495         [GTK] Fix compilation problems with deprecations in gtk+
496         https://bugs.webkit.org/show_bug.cgi?id=66073
497
498         Reviewed by Martin Robinson.
499
500         * platform/gtk/GtkAuthenticationDialog.cpp:
501         (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Added
502         gtk_box_new conditional compilation for gtk+-3.
503         * platform/gtk/RenderThemeGtk3.cpp:
504         (WebCore::RenderThemeGtk::adjustRepaintRect):
505         (WebCore::RenderThemeGtk::paintSliderTrack):
506         (WebCore::RenderThemeGtk::paintSliderThumb):
507         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Now we have have
508         GTK_TYPE_SCALE in gtk+3.
509
510 2011-08-18  Kentaro Hara  <haraken@google.com>
511
512         A Worker constructor should throw TypeError, when the number of arguments is not enough
513         https://bugs.webkit.org/show_bug.cgi?id=66456
514
515         Reviewed by Adam Barth.
516
517         Spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
518
519         Test: fast/workers/worker-constructor.html
520
521         * bindings/js/JSWorkerCustom.cpp:
522         (WebCore::JSWorkerConstructor::constructJSWorker): Changed SyntaxError to TypeError.
523         * bindings/v8/custom/V8WorkerCustom.cpp:
524         (WebCore::V8Worker::constructorCallback): Changed SyntaxError to TypeError.
525
526 2011-08-18  John Bates  <jbates@google.com>
527
528         Fix logic error causing reverse of desired WebGL rate limiting behavior
529         https://bugs.webkit.org/show_bug.cgi?id=66445
530
531         Reviewed by Kenneth Russell.
532
533         * platform/graphics/chromium/WebGLLayerChromium.cpp:
534         (WebCore::WebGLLayerChromium::setTextureUpdated):
535
536 2011-08-18  Levi Weintraub  <leviw@chromium.org>
537
538         Switch RenderTextControl* to new layout types
539         https://bugs.webkit.org/show_bug.cgi?id=66250
540
541         Reviewed by Eric Seidel.
542
543         Convertikng the RenderTextControl* classes to use the LayoutUnit abstraction.
544
545         No new tests as no change in behavior.
546
547         * rendering/LayoutTypes.h:
548         (WebCore::layoutMod): Added a function to perform the modulo operation on LayoutUnits.
549         * rendering/RenderTextControl.cpp:
550         (WebCore::RenderTextControl::hitInnerTextElement):
551         * rendering/RenderTextControl.h:
552         * rendering/RenderTextControlMultiLine.cpp:
553         (WebCore::RenderTextControlMultiLine::preferredContentWidth):
554         (WebCore::RenderTextControlMultiLine::baselinePosition):
555         * rendering/RenderTextControlMultiLine.h:
556         * rendering/RenderTextControlSingleLine.cpp:
557         (WebCore::RenderTextControlSingleLine::layout):
558         (WebCore::RenderTextControlSingleLine::controlClipRect):
559         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
560         (WebCore::RenderTextControlSingleLine::scrollWidth):
561         (WebCore::RenderTextControlSingleLine::scrollHeight):
562         (WebCore::RenderTextControlSingleLine::scrollLeft):
563         (WebCore::RenderTextControlSingleLine::scrollTop):
564         (WebCore::RenderTextControlSingleLine::setScrollLeft):
565         (WebCore::RenderTextControlSingleLine::setScrollTop):
566         * rendering/RenderTextControlSingleLine.h:
567
568 2011-08-18  Levi Weintraub  <leviw@chromium.org>
569
570         Switch Inline rendering classes to new layout types
571         https://bugs.webkit.org/show_bug.cgi?id=66239
572
573         Reviewed by Eric Seidel.
574
575         Converting inline rendering classes to use the LayoutUnit abstraction from ints.
576
577         No new tests as no change in functionality.
578
579         * rendering/InlineBox.h:
580         (WebCore::InlineBox::logicalFrameRect):
581         (WebCore::InlineBox::baselinePosition):
582         (WebCore::InlineBox::lineHeight):
583         * rendering/InlineFlowBox.h:
584         * rendering/InlineTextBox.cpp:
585         (WebCore::InlineTextBox::logicalOverflowRect):
586         (WebCore::InlineTextBox::setLogicalOverflowRect):
587         (WebCore::InlineTextBox::baselinePosition):
588         (WebCore::InlineTextBox::lineHeight):
589         * rendering/InlineTextBox.h:
590         (WebCore::InlineTextBox::logicalTopVisualOverflow):
591         (WebCore::InlineTextBox::logicalBottomVisualOverflow):
592         (WebCore::InlineTextBox::logicalLeftVisualOverflow):
593         (WebCore::InlineTextBox::logicalRightVisualOverflow):
594         * rendering/RenderInline.cpp:
595         (WebCore::RenderInline::culledInlineAbsoluteRects):
596         (WebCore::computeMargin):
597         (WebCore::RenderInline::culledInlineBoundingBox):
598         (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
599         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
600         (WebCore::RenderInline::clippedOverflowRectForRepaint):
601         (WebCore::RenderInline::rectWithOutlineForRepaint):
602         (WebCore::RenderInline::computeRectForRepaint):
603         (WebCore::RenderInline::mapLocalToContainer):
604         (WebCore::RenderInline::lineHeight):
605         (WebCore::RenderInline::baselinePosition):
606         (WebCore::RenderInline::addDashboardRegions):
607         * rendering/RenderInline.h:
608
609 2011-08-18  Jeffrey Pfau  <jpfau@apple.com>
610
611         New XML parser: add doctype to DOM tree
612         https://bugs.webkit.org/show_bug.cgi?id=66408
613
614         Reviewed by Adam Barth.
615
616         * xml/parser/XMLTreeBuilder.cpp:
617         (WebCore::XMLTreeBuilder::processDOCTYPE):
618
619 2011-08-18  James Robinson  <jamesr@chromium.org>
620
621         [chromium] Draw the root/"non-composited content" in compositor side
622         https://bugs.webkit.org/show_bug.cgi?id=58834
623
624         Reviewed by Darin Fisher.
625
626         Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
627         LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
628         through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
629         *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
630             draw-time transform.
631         *) The root layer masks the alpha channel when drawing because of concerns about subpixel AA trashing the alpha
632             channel.  The root layer is always opaque so this is fine.
633         *) The root layer does not have border texels and does have subpixel AA for text.
634
635         Covered by compositing/
636
637         * WebCore.gypi:
638         * platform/graphics/chromium/ContentLayerChromium.cpp:
639         (WebCore::ContentLayerChromium::paintContentsIfDirty):
640         * platform/graphics/chromium/ImageLayerChromium.cpp:
641         (WebCore::ImageLayerChromium::paintContentsIfDirty):
642         * platform/graphics/chromium/LayerChromium.cpp:
643         (WebCore::LayerChromium::pushPropertiesTo):
644         * platform/graphics/chromium/LayerChromium.h:
645         (WebCore::LayerChromium::scrollPosition):
646         (WebCore::LayerChromium::setScrollPosition):
647         * platform/graphics/chromium/LayerRendererChromium.cpp:
648         (WebCore::LayerRendererChromium::initialize):
649         (WebCore::LayerRendererChromium::releaseTextures):
650         (WebCore::LayerRendererChromium::viewportChanged):
651         (WebCore::LayerRendererChromium::updateLayers):
652         (WebCore::LayerRendererChromium::drawLayers):
653         (WebCore::LayerRendererChromium::drawLayersInternal):
654         (WebCore::LayerRendererChromium::getFramebufferPixels):
655         (WebCore::LayerRendererChromium::cleanupSharedObjects):
656         (WebCore::LayerRendererChromium::layerTreeAsText):
657         * platform/graphics/chromium/LayerRendererChromium.h:
658         (WebCore::LayerRendererChromium::rootLayer):
659         (WebCore::LayerRendererChromium::viewportSize):
660         (WebCore::LayerRendererChromium::viewportWidth):
661         (WebCore::LayerRendererChromium::viewportHeight):
662         * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
663         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
664         (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
665         (WebCore::NonCompositedContentHost::invalidateRect):
666         (WebCore::NonCompositedContentHost::invalidateEntireLayer):
667         (WebCore::NonCompositedContentHost::setScrollPosition):
668         (WebCore::NonCompositedContentHost::notifyAnimationStarted):
669         (WebCore::NonCompositedContentHost::notifySyncRequired):
670         (WebCore::NonCompositedContentHost::paintContents):
671         (WebCore::NonCompositedContentHost::showDebugBorders):
672         (WebCore::NonCompositedContentHost::showRepaintCounter):
673         * platform/graphics/chromium/NonCompositedContentHost.h: Added.
674         (WebCore::NonCompositedContentHost::create):
675         (WebCore::NonCompositedContentHost::graphicsLayer):
676         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
677         (WebCore::CCHeadsUpDisplay::draw):
678         * platform/graphics/chromium/cc/CCLayerImpl.h:
679         (WebCore::CCLayerImpl::scrollPosition):
680         (WebCore::CCLayerImpl::setScrollPosition):
681         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
682         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
683         (WebCore::CCLayerTreeHost::initialize):
684         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
685         (WebCore::CCLayerTreeHost::setRootLayer):
686         (WebCore::CCLayerTreeHost::setViewport):
687         (WebCore::CCLayerTreeHost::reallocateRenderer):
688         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
689         (WebCore::CCLayerTreeHost::rootLayer):
690         (WebCore::CCLayerTreeHost::viewportSize):
691
692 2011-08-18  Nico Weber  <thakis@chromium.org>
693
694         Fix "missing return" gcc warning in ScrollAnimatorNone
695         https://bugs.webkit.org/show_bug.cgi?id=66480
696
697         Reviewed by Tony Chang.
698
699         * platform/ScrollAnimatorNone.cpp:
700         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
701         (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
702
703 2011-08-18  James Simonsen  <simonjam@chromium.org>
704
705         Revalidate expired resources if they're requested after the initial document load
706         https://bugs.webkit.org/show_bug.cgi?id=52153
707
708         Reviewed by Antti Koivisto.
709
710         Test: http/tests/cache/subresource-multiple-instances.html
711
712         * loader/cache/CachedResourceLoader.cpp:
713         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
714
715 2011-08-18  Anders Carlsson  <andersca@apple.com>
716
717         Fix clang libc++ C++0x build
718         https://bugs.webkit.org/show_bug.cgi?id=66475
719
720         Reviewed by Adam Roben.
721
722         Remove calls to isnan and isfinite with integer arguments.
723
724         * css/CSSPrimitiveValue.cpp:
725         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
726         * html/canvas/WebGLRenderingContext.cpp:
727         (WebCore::WebGLRenderingContext::viewport):
728
729 2011-08-18  Andrey Kosyakov  <caseq@chromium.org>
730
731         Web Inspector: [Extensions API] rename webInspector.resources to webInspector.network
732         https://bugs.webkit.org/show_bug.cgi?id=66460
733
734         Reviewed by Pavel Feldman.
735
736         Tests: http/tests/inspector/extensions-network-redirect.html
737                inspector/extensions/extensions-network.html
738
739         * inspector/front-end/ExtensionAPI.js:
740         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
741         (WebInspector.injectedExtensionAPI.Network.requestDispatch):
742         (WebInspector.injectedExtensionAPI):
743         (WebInspector.injectedExtensionAPI.Network.prototype.getHAR):
744         (WebInspector.injectedExtensionAPI.defineDeprecatedProperty.getter):
745         (WebInspector.injectedExtensionAPI.defineDeprecatedProperty):
746         * inspector/front-end/ExtensionServer.js:
747         (WebInspector.ExtensionServer):
748         (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
749         (WebInspector.ExtensionServer.prototype._notifyRequestFinished):
750         (WebInspector.ExtensionServer.prototype._onGetHAR):
751         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
752         (WebInspector.ExtensionServer.prototype._requestId):
753         (WebInspector.ExtensionServer.prototype._requestById):
754         (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
755         (WebInspector.ExtensionServer.prototype._onAddAuditResult):
756         (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
757         (WebInspector.ExtensionServer.prototype.initExtensions):
758         (WebInspector.ExtensionServer.prototype._onmessage):
759
760 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
761
762         Web Inspector: extract content loading functions from RawSourceCode to ContentProvider implementations.
763         https://bugs.webkit.org/show_bug.cgi?id=66237
764
765         Reviewed by Pavel Feldman.
766
767         Test: inspector/debugger/content-providers.html
768
769         * inspector/front-end/SourceFile.js:
770         (WebInspector.RawSourceCode.prototype._loadResourceContent):
771         (WebInspector.RawSourceCode.prototype._loadScriptContent):
772         (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
773         (WebInspector.ScriptContentProvider):
774         (WebInspector.ScriptContentProvider.prototype.requestContent):
775         (WebInspector.ConcatenatedScriptsContentProvider):
776         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
777         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
778         (WebInspector.ResourceContentProvider):
779         (WebInspector.ResourceContentProvider.prototype.requestContent):
780
781 2011-08-18  Alexandru Chiculita  <achicu@adobe.com>
782
783         [CSSRegions] RenderRegion should not reference a parent RenderFlowThread
784         https://bugs.webkit.org/show_bug.cgi?id=66142
785
786         Added code that checks the parent RenderFlowThread of a RenderRegion and creates
787         a dependency for its referenced RenderFlowThread (from CSS style).
788
789         There are two cases:
790         1. A RenderRegion tries to display the flow thread that laid it out. In this case
791         the region will be ignored and will not participate in the flow threads regions list.
792         2. A RenderRegion tries to display a flow thread that contains another region that
793         tries to display the first region's flow thread. This one can be generalized with any
794         number of intermediate flow threads. In this case the recursion is detected and only the
795         first added region will actually be selected. The other region will be ignored. However,
796         when the recursion is removed the invalid regions will be recovered.
797
798         Reviewed by David Hyatt.
799
800         Tests: fast/regions/flows-dependency-dynamic-remove.html
801                fast/regions/flows-dependency-same-flow.html
802
803         * rendering/RenderBlock.cpp:
804         (WebCore::RenderBlock::insertPositionedObject):
805         * rendering/RenderFlowThread.cpp:
806         (WebCore::RenderFlowThread::dependsOn):
807         (WebCore::RenderFlowThread::addRegionToThread):
808         (WebCore::RenderFlowThread::removeRegionFromThread):
809         (WebCore::RenderFlowThread::checkInvalidRegions):
810         (WebCore::RenderFlowThread::addDependencyOnFlowThread):
811         (WebCore::RenderFlowThread::removeDependencyOnFlowThread):
812         (WebCore::RenderFlowThread::pushDependencies):
813         (WebCore::RenderFlowThread::layout):
814         (WebCore::RenderFlowThread::computeLogicalWidth):
815         (WebCore::RenderFlowThread::computeLogicalHeight):
816         (WebCore::RenderFlowThread::repaintRectangleInRegions):
817         * rendering/RenderFlowThread.h:
818         * rendering/RenderObjectChildList.cpp:
819         (WebCore::RenderObjectChildList::removeChildNode):
820         (WebCore::RenderObjectChildList::appendChildNode):
821         * rendering/RenderRegion.cpp:
822         (WebCore::RenderRegion::RenderRegion):
823         (WebCore::RenderRegion::~RenderRegion):
824         (WebCore::RenderRegion::paintReplaced):
825         (WebCore::RenderRegion::nodeAtPoint):
826         (WebCore::RenderRegion::attachRegion):
827         (WebCore::RenderRegion::detachRegion):
828         * rendering/RenderRegion.h:
829         (WebCore::RenderRegion::parentFlowThread):
830         (WebCore::RenderRegion::isValid):
831         (WebCore::RenderRegion::setIsValid):
832         * rendering/RenderTreeAsText.cpp:
833         (WebCore::writeRenderFlowThreads):
834         (WebCore::writeLayers):
835         * rendering/RenderView.cpp:
836         (WebCore::RenderView::RenderView):
837         (WebCore::RenderView::layout):
838         (WebCore::RenderView::renderFlowThreadWithName):
839         (WebCore::RenderView::layoutRenderFlowThreads):
840         * rendering/RenderView.h:
841         (WebCore::RenderView::hasRenderFlowThreads):
842         (WebCore::RenderView::isRenderFlowThreadOrderDirty):
843         (WebCore::RenderView::setIsRenderFlowThreadOrderDirty):
844         (WebCore::RenderView::renderFlowThreadList):
845
846 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
847
848         Web Inspector: add UISourceCode class.
849         https://bugs.webkit.org/show_bug.cgi?id=66233
850
851         This is a next step towards splitting SourceFile into RawSourceCode and UISourceCode.
852         UISourceCode is a part of SourceFile's interface that is visible to ScriptsPanel.
853         UISourceCode represents a single entry in scripts panel's files select.
854
855         Reviewed by Pavel Feldman.
856
857         Test: inspector/debugger/ui-source-code.html
858
859         * WebCore.gypi:
860         * WebCore.vcproj/WebCore.vcproj:
861         * inspector/front-end/UISourceCode.js: Added.
862         (WebInspector.UISourceCode):
863         (WebInspector.UISourceCode.prototype.get id):
864         (WebInspector.UISourceCode.prototype.get url):
865         (WebInspector.UISourceCode.prototype.get isContentScript):
866         (WebInspector.UISourceCode.prototype.requestContent):
867         (WebInspector.UISourceCode.prototype._didRequestContent):
868         (WebInspector.ContentProvider):
869         (WebInspector.ContentProvider.prototype.requestContent):
870         * inspector/front-end/WebKit.qrc:
871         * inspector/front-end/inspector.html:
872
873 2011-08-17  Adam Roben  <aroben@apple.com>
874
875         Make WebCore keep track of the current device scale factor
876
877         Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
878         device scale factor
879
880         Reviewed by Darin Adler.
881
882         * WebCore.exp.in: Removed Frame::deviceScaleFactorChanged, added Page::setDeviceScaleFactor.
883
884         * css/MediaQueryEvaluator.cpp:
885         (WebCore::device_pixel_ratioMediaFeatureEval):
886         * html/HTMLCanvasElement.cpp:
887         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
888         * page/DOMWindow.cpp:
889         (WebCore::DOMWindow::devicePixelRatio):
890         * rendering/RenderInline.cpp:
891         (WebCore::RenderInline::addDashboardRegions):
892         * rendering/RenderLayerCompositor.cpp:
893         (WebCore::RenderLayerCompositor::deviceScaleFactor):
894         * rendering/RenderObject.cpp:
895         (WebCore::RenderObject::addDashboardRegions):
896         Changed to get the device scale factor from Page.
897
898         * loader/EmptyClients.h:
899         * page/Chrome.cpp:
900         * page/Chrome.h:
901         * page/ChromeClient.h:
902         Removed Chrome[Client]::deviceScaleFactor.
903
904         * page/Frame.cpp:
905         * page/Frame.h:
906         Removed deviceScaleFactorChanged. Made deviceOrPageScaleFactorChanged public.
907
908         * page/Page.cpp:
909         (WebCore::Page::Page): Initialize m_deviceScaleFactor.
910         (WebCore::Page::setDeviceScaleFactor): Added. Code came from
911         Frame::deviceScaleFactorChanged.
912
913         * page/Page.h: Added m_deviceScaleFactor.
914         (WebCore::Page::deviceScaleFactor): Added simple getter.
915
916 2011-08-18  Darin Adler  <darin@apple.com>
917
918         SVG and HTML editing have conflicting inline isWhitespace functions
919         https://bugs.webkit.org/show_bug.cgi?id=65145
920
921         Reviewed by Nikolas Zimmermann.
922
923         Renamed the SVG-specific whitespace functions to call it "SVG space"
924         rather than just "whitespace". An alternative would have been to put
925         the functions into an SVG namespace instead of the top level WebCore
926         namespace.
927
928         * svg/SVGAnimateMotionElement.cpp:
929         (WebCore::parsePoint): Call skipOptionalSVGSpaces.
930         * svg/SVGAnimationElement.cpp:
931         (WebCore::parseKeySplines): Ditto.
932         * svg/SVGFitToViewBox.cpp:
933         (WebCore::SVGFitToViewBox::parseViewBox): Ditto.
934         * svg/SVGLengthList.cpp:
935         (WebCore::SVGLengthList::parse): Call isSVGSpace and
936         skipOptionalSVGSpacesOrDelimiter.
937         * svg/SVGParserUtilities.cpp:
938         (WebCore::genericParseNumber): Call skipOptionalSVGSpacesOrDelimiter.
939         (WebCore::parseArcFlag): Ditto.
940         (WebCore::parseRect): Call skipOptionalSVGSpaces.
941         (WebCore::pointsListFromSVGData): Ditto.
942         (WebCore::parseGlyphName): Call skipOptionalSVGSpaces, isSVGSpace,
943         and skipOptionalSVGSpacesOrDelimiter.
944         (WebCore::parseDelimitedString): Call skipOptionalSVGSpaces.
945
946         * svg/SVGParserUtilities.h:
947         (WebCore::isSVGSpace): Renamed from isWhitespace. This better matches
948         the comment which specifically talks about SVG.
949         (WebCore::skipOptionalSVGSpaces): Renamed from skipOptionalSpaces.
950         (WebCore::skipOptionalSVGSpacesOrDelimiter): Renamed from
951         skipOptionalSVGSpacesOrDelimiter.
952
953         * svg/SVGPathStringSource.cpp:
954         (WebCore::SVGPathStringSource::moveToNextToken): Call skipOptionalSVGSpaces.
955         * svg/SVGPreserveAspectRatio.cpp:
956         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): Ditto.
957         * svg/SVGStringList.cpp:
958         (WebCore::SVGStringList::parse): Call isSVGSpace and
959         skipOptionalSVGSpacesOrDelimiter.
960         * svg/SVGTransformable.cpp:
961         (WebCore::parseTransformParamList): Call skipOptionalSVGSpaces and
962         skipOptionalSVGSpacesOrDelimiter.
963         (WebCore::SVGTransformable::parseTransformAttribute): Call skipOptionalSVGSpaces.
964
965 2011-08-18  Gavin Peters  <gavinp@chromium.org>
966
967         Prepare frames for history navigation.
968
969         Before beginning an explicit history navigation in a newly initialized
970         frame, it's important to give a "previous" item to avoid crashes, and
971         give a state to the state machine to avoid extra validating loads.
972
973         https://bugs.webkit.org/show_bug.cgi?id=66322
974
975         Reviewed by Darin Fisher.
976
977         No new tests, as history navigation is very difficult to test in
978         DumpRenderTree.
979
980         * loader/FrameLoader.cpp:
981         (WebCore::FrameLoader::prepareForHistoryNavigation):
982         * loader/FrameLoader.h:
983
984 2011-08-18  Jing Zhao  <jingzhao@chromium.org>
985
986         When changing the size of a menulist from x (x>1) to 1, the first item should be selected.
987         https://bugs.webkit.org/show_bug.cgi?id=66282
988
989         Reviewed by Kent Tamura.
990
991         No new tests since it only changes the behavior in Android Browser.
992
993         * html/HTMLSelectElement.cpp:
994         (WebCore::HTMLSelectElement::parseMappedAttribute):
995
996 2011-08-18  Adam Klein  <adamk@chromium.org>
997
998         Handle "form" attribute updates in parseMappedAttribute() instead of attributeChanged() to better match HTMLElement practices
999         https://bugs.webkit.org/show_bug.cgi?id=66321
1000
1001         Reviewed by Darin Adler.
1002
1003         This is simply a cleanup change: there's no need that I can see for
1004         HTMLFormControlElement and HTMLObjectElement to override
1005         Element::attributeChanged since they can properly handle form
1006         attribute changes in parseMappedAttribute, which they also override.
1007
1008         Though no change in behavior, I've added test coverage of the moved
1009         code to an existing test (fast/forms/form-attribute.html) and added
1010         a new test.
1011
1012         Test: fast/forms/radio-remove-form-attr.html
1013
1014         * html/HTMLFormControlElement.cpp:
1015         (WebCore::HTMLFormControlElement::parseMappedAttribute):
1016         * html/HTMLFormControlElement.h:
1017         * html/HTMLObjectElement.cpp:
1018         (WebCore::HTMLObjectElement::parseMappedAttribute):
1019         * html/HTMLObjectElement.h:
1020
1021 2011-08-18  Chang Shu  <cshu@webkit.org>
1022
1023         Add support of setPasswordEchoEnabled and setPasswordEchoDuration for password echo feature
1024         https://bugs.webkit.org/show_bug.cgi?id=66052
1025
1026         Reviewed by Alexey Proskuryakov.
1027
1028         Added runtime settings in WebCore.
1029         Added support in window.internals for testing.
1030
1031         Tests: editing/input/password-echo-passnode.html
1032                editing/input/password-echo-passnode2.html
1033                editing/input/password-echo-passnode3.html
1034                editing/input/password-echo-textnode.html
1035
1036         * page/Settings.cpp:
1037         (WebCore::Settings::Settings):
1038         * page/Settings.h:
1039         (WebCore::Settings::setPasswordEchoEnabled):
1040         (WebCore::Settings::passwordEchoEnabled):
1041         (WebCore::Settings::setPasswordEchoDurationInSeconds):
1042         (WebCore::Settings::passwordEchoDurationInSeconds):
1043         * testing/Internals.cpp:
1044         (WebCore::Internals::Internals):
1045         (WebCore::Internals::setPasswordEchoEnabled):
1046         (WebCore::Internals::setPasswordEchoDurationInSeconds):
1047         (WebCore::Internals::reset):
1048         * testing/Internals.h:
1049         * testing/Internals.idl:
1050
1051 2011-08-18  Wyatt Carss  <wcarss@chromium.org>
1052
1053         Selecting all and inserting text into a page with a frameset leads to a NULL ptr
1054         https://bugs.webkit.org/show_bug.cgi?id=66288
1055
1056         Reviewed by Tony Chang.
1057
1058         VisibleSelection returns a NoSelection to InsertTextCommand::doApply as
1059         a new endingSelection, which isn't a sane state to be in. The code
1060         tries to get a position on a higher node for a better selection, but
1061         cannot go above the frameset (which exists in place of the body tag),
1062         which lacks a renderer, and therefore cannot have a non-NoSelection
1063         VisibleSelection.
1064
1065         Because this is a rare corner case, it seemed more reasonable to bail
1066         out in this circumstance than to change the way VisibleSelection
1067         canonicalization works. The new behavior is to delete the content, but
1068         insert nothing. I investigated the possibility of trying to move above
1069         or below the frameset in this particular case, but there still isn't a
1070         renderer, so it didn't prevent the crash.
1071
1072         Test: editing/inserting/insert-text-into-empty-frameset-crash.html
1073
1074         * editing/InsertTextCommand.cpp:
1075         (WebCore::InsertTextCommand::doApply):
1076
1077 2011-08-18  Takashi Toyoshima  <toyoshim@chromium.org>
1078
1079         Remove arguments from CloseEvent::create().
1080         https://bugs.webkit.org/show_bug.cgi?id=66294
1081
1082         Reviewed by Kent Tamura.
1083
1084         CloseEvent objects are initialized by initCloseEvent() in all cases.
1085         Initialization in create() is redundant.
1086
1087         No new tests for no functional difference.
1088
1089         * websockets/CloseEvent.h:
1090         (WebCore::CloseEvent::create):
1091         (WebCore::CloseEvent::CloseEvent):
1092         * websockets/WebSocket.cpp:
1093         (WebCore::WebSocket::didClose):
1094
1095 2011-08-18  Fady Samuel  <fsamuel@chromium.org>
1096
1097         iframe and frameset scaling is broken
1098         https://bugs.webkit.org/show_bug.cgi?id=57785
1099
1100         Reviewed by Simon Fraser.
1101
1102         Fixed two iframe and frameset scaling bugs:
1103           #1 iframes and frameset backgrounds and scroll areas are doubly scaled when they are styled with -webkit-transform.
1104           #2 frameset does not respect -webkit-transform-origin when scaled
1105
1106         Tests: fast/frames/frame-set-scaling-3d.html
1107                fast/frames/frame-set-scaling-centered.html
1108                fast/frames/frame-set-scaling-rotate.html
1109                fast/frames/frame-set-scaling-skew.html
1110                fast/frames/frame-set-scaling.html
1111                fast/frames/iframe-scaling-with-scroll.html
1112
1113         * rendering/RenderFrameSet.cpp:
1114         (WebCore::RenderFrameSet::layout):
1115         Update the FrameSet's layer transform after we've computed size to correctly account for the transform origin.
1116         * rendering/RenderLayer.cpp:
1117         (WebCore::RenderLayer::childrenClipRect):
1118         The dirty rect should be the document's unscaled size.
1119         * rendering/RenderWidget.cpp:
1120         (WebCore::RenderWidget::setWidget):
1121         (WebCore::RenderWidget::updateWidgetPosition):
1122         Don't scale the FrameView rect here. Scaling is done within the FrameView.
1123
1124 2011-08-18  Csaba Osztrogon√°c  <ossy@webkit.org>
1125
1126         Unreviewed buildfix after r93268.
1127
1128         * dom/Document.cpp:
1129         (WebCore::disableRangeMutation):
1130
1131 2011-08-17  Emil A Eklund  <eae@chromium.org>
1132
1133         Switch RenderBox to to new layout types
1134         https://bugs.webkit.org/show_bug.cgi?id=66156
1135
1136         Reviewed by Eric Seidel.
1137
1138         Convert RenderBox to new layout abstraction as a part of the ongoing
1139         conversion work.
1140
1141         No new tests as no new functionality.
1142
1143         * rendering/RenderBox.cpp:
1144         (WebCore::RenderBox::scrollWidth):
1145         (WebCore::RenderBox::scrollHeight):
1146         (WebCore::RenderBox::scrollLeft):
1147         (WebCore::RenderBox::scrollTop):
1148         (WebCore::RenderBox::setScrollLeft):
1149         (WebCore::RenderBox::setScrollTop):
1150         (WebCore::RenderBox::absoluteRects):
1151         (WebCore::RenderBox::absoluteContentBox):
1152         (WebCore::RenderBox::absoluteContentQuad):
1153         (WebCore::RenderBox::outlineBoundsForRepaint):
1154         (WebCore::RenderBox::reflectionBox):
1155         (WebCore::RenderBox::reflectedRect):
1156         (WebCore::RenderBox::verticalScrollbarWidth):
1157         (WebCore::RenderBox::horizontalScrollbarHeight):
1158         (WebCore::RenderBox::computeContentBoxLogicalWidth):
1159         (WebCore::RenderBox::computeContentBoxLogicalHeight):
1160         (WebCore::RenderBox::maskClipRect):
1161         (WebCore::RenderBox::repaintLayerRectsForImage):
1162         (WebCore::RenderBox::pushContentsClip):
1163         (WebCore::RenderBox::overflowClipRect):
1164         (WebCore::RenderBox::clipRect):
1165         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
1166         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
1167         (WebCore::RenderBox::positionLineBox):
1168         (WebCore::RenderBox::clippedOverflowRectForRepaint):
1169         (WebCore::RenderBox::computeRectForRepaint):
1170         (WebCore::RenderBox::computeLogicalWidth):
1171         (WebCore::RenderBox::computeInlineDirectionMargins):
1172         (WebCore::RenderBox::computeLogicalHeight):
1173         (WebCore::RenderBox::computeLogicalHeightUsing):
1174         (WebCore::RenderBox::computePercentageLogicalHeight):
1175         (WebCore::RenderBox::computeBlockDirectionMargins):
1176         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
1177         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
1178         (WebCore::computeInlineStaticDistance):
1179         (WebCore::RenderBox::computePositionedLogicalWidth):
1180         (WebCore::computeLogicalLeftPositionedOffset):
1181         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1182         (WebCore::computeBlockStaticDistance):
1183         (WebCore::RenderBox::computePositionedLogicalHeight):
1184         (WebCore::computeLogicalTopPositionedOffset):
1185         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
1186         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1187         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
1188         (WebCore::RenderBox::localCaretRect):
1189         (WebCore::RenderBox::lineHeight):
1190         (WebCore::RenderBox::baselinePosition):
1191         (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
1192         (WebCore::RenderBox::visualOverflowRectForPropagation):
1193         (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
1194         (WebCore::RenderBox::layoutOverflowRectForPropagation):
1195         (WebCore::RenderBox::locationOffsetIncludingFlipping):
1196         * rendering/RenderBox.h:
1197         (WebCore::RenderBox::borderFitAdjust):
1198         (WebCore::RenderBox::intrinsicSize):
1199         (WebCore::RenderBox::intrinsicLogicalWidth):
1200         (WebCore::RenderBox::intrinsicLogicalHeight):
1201         (WebCore::RenderBox::scrollbarLogicalHeight):
1202         (WebCore::RenderBox::controlClipRect):
1203         (WebCore::RenderBox::firstLineBoxBaseline):
1204         (WebCore::RenderBox::lastLineBoxBaseline):
1205
1206 2011-08-17  Annie Sullivan  <sullivan@chromium.org>
1207
1208         Reduce usages of String::createUninitialized
1209         https://bugs.webkit.org/show_bug.cgi?id=66399
1210
1211         Constructs Strings with StringBuilder instead of calling createUninitialized.
1212
1213         Reviewed by Adam Barth.
1214
1215         No new tests; no functional change.
1216
1217         * dom/StyleElement.cpp:
1218         (WebCore::StyleElement::process):
1219         * dom/Text.cpp:
1220         (WebCore::Text::wholeText):
1221         * html/parser/HTMLSourceTracker.cpp:
1222         (WebCore::HTMLSourceTracker::sourceForToken):
1223         * platform/graphics/Font.cpp:
1224         (WebCore::Font::normalizeSpaces):
1225         * platform/text/TextCodecUserDefined.cpp:
1226         (WebCore::TextCodecUserDefined::decode):
1227
1228 2011-08-17  Emil A Eklund  <eae@chromium.org>
1229
1230         Switch FrameView to to new layout types
1231         https://bugs.webkit.org/show_bug.cgi?id=66147
1232
1233         Reviewed by Eric Seidel.
1234
1235         Convert Frame & FrameView to new layout abstraction as a part of the
1236         ongoing conversion work.
1237
1238         No new tests, no new functionality.
1239
1240         * page/Frame.cpp:
1241         (WebCore::Frame::visiblePositionForPoint):
1242         (WebCore::Frame::documentAtPoint):
1243         (WebCore::Frame::rangeForPoint):
1244         (WebCore::Frame::setPageAndTextZoomFactors):
1245         (WebCore::Frame::scalePage):
1246         * page/Frame.h:
1247         * page/FrameView.cpp:
1248         (WebCore::FrameView::create):
1249         (WebCore::FrameView::reset):
1250         (WebCore::FrameView::init):
1251         (WebCore::FrameView::invalidateRect):
1252         (WebCore::FrameView::setFrameRect):
1253         (WebCore::FrameView::setMarginWidth):
1254         (WebCore::FrameView::setMarginHeight):
1255         (WebCore::FrameView::setContentsSize):
1256         (WebCore::FrameView::adjustViewSize):
1257         (WebCore::FrameView::scrollXForFixedPosition):
1258         (WebCore::FrameView::scrollYForFixedPosition):
1259         (WebCore::FrameView::scrollOffsetForFixedPosition):
1260         (WebCore::FrameView::currentMousePosition):
1261         (WebCore::FrameView::scrollContentsFastPath):
1262         (WebCore::FrameView::scrollContentsSlowPath):
1263         (WebCore::FrameView::setScrollPosition):
1264         (WebCore::FrameView::repaintContentRectangle):
1265         (WebCore::FrameView::scrollToAnchor):
1266         (WebCore::FrameView::performPostLayoutTasks):
1267         (WebCore::FrameView::windowClipRect):
1268         (WebCore::FrameView::windowClipRectForLayer):
1269         (WebCore::FrameView::scrollTo):
1270         (WebCore::FrameView::invalidateScrollbarRect):
1271         (WebCore::FrameView::getTickmarks):
1272         (WebCore::FrameView::windowResizerRect):
1273         (WebCore::FrameView::setVisibleScrollerThumbRect):
1274         (WebCore::FrameView::paintScrollCorner):
1275         (WebCore::FrameView::paintContents):
1276         (WebCore::FrameView::paintOverhangAreas):
1277         (WebCore::FrameView::forceLayoutForPagination):
1278         (WebCore::FrameView::convertFromRenderer):
1279         (WebCore::FrameView::convertToRenderer):
1280         (WebCore::FrameView::convertToContainingView):
1281         (WebCore::FrameView::convertFromContainingView):
1282         * page/FrameView.h:
1283         (WebCore::FrameView::marginWidth):
1284         (WebCore::FrameView::marginHeight):
1285         * page/mac/FrameMac.mm:
1286         (WebCore::Frame::snapshotDragImage):
1287         (WebCore::Frame::nodeImage):
1288
1289 2011-08-17  Emil A Eklund  <eae@chromium.org>
1290
1291         Switch html/* to to new layout types
1292         https://bugs.webkit.org/show_bug.cgi?id=66347
1293
1294         Reviewed by Eric Seidel.
1295
1296         Convert HTML* and shadow element to new layout abstraction as a part of
1297         the ongoing conversion work.
1298
1299         No new tests, no new functionality.
1300
1301         * html/HTMLAreaElement.cpp:
1302         (WebCore::HTMLAreaElement::invalidateCachedRegion):
1303         (WebCore::HTMLAreaElement::mapMouseEvent):
1304         (WebCore::HTMLAreaElement::computePath):
1305         (WebCore::HTMLAreaElement::computeRect):
1306         (WebCore::HTMLAreaElement::getRegion):
1307         * html/HTMLAreaElement.h:
1308         * html/HTMLCanvasElement.cpp:
1309         (WebCore::HTMLCanvasElement::paint):
1310         * html/HTMLCanvasElement.h:
1311         * html/HTMLMapElement.cpp:
1312         (WebCore::HTMLMapElement::mapMouseEvent):
1313         * html/HTMLMapElement.h:
1314         * html/ImageDocument.cpp:
1315         (WebCore::ImageDocumentParser::finish):
1316         (WebCore::ImageDocument::scale):
1317         (WebCore::ImageDocument::resizeImageToFit):
1318         (WebCore::ImageDocument::imageFitsInWindow):
1319         * html/ValidationMessage.cpp:
1320         (WebCore::adjustBubblePosition):
1321         * html/canvas/CanvasRenderingContext2D.cpp:
1322         (WebCore::size):
1323         (WebCore::CanvasRenderingContext2D::drawImage):
1324         * html/shadow/MediaControlElements.cpp:
1325         (WebCore::MediaControlPanelElement::startDrag):
1326         (WebCore::MediaControlPanelElement::continueDrag):
1327         (WebCore::MediaControlPanelElement::setPosition):
1328         (WebCore::MediaControlPanelElement::defaultEventHandler):
1329         * html/shadow/MediaControlElements.h:
1330         * html/shadow/SliderThumbElement.cpp:
1331         (WebCore::SliderThumbElement::dragFrom):
1332         (WebCore::SliderThumbElement::setPositionFromPoint):
1333         * html/shadow/SliderThumbElement.h:
1334         * rendering/RenderImage.cpp:
1335         (WebCore::RenderImage::nodeAtPoint):
1336
1337 2011-08-17  David Grogan  <dgrogan@chromium.org>
1338
1339         Change references to leveldb.gyp to leveldatabase.gyp as part of the
1340         leveldb refactoring going on in chromium: crbug.com/89378
1341         https://bugs.webkit.org/show_bug.cgi?id=66332
1342
1343         Reviewed by Tony Gentilcore.
1344
1345         Tests: new-run-webkit-tests --debug --chromium --no-retry-failures --build-directory=llvm storage/indexeddb
1346
1347         * WebCore.gyp/WebCore.gyp:
1348
1349 2011-08-17  Hayato Ito  <hayato@chromium.org>
1350
1351         Implement proper handling of focus/blur events in regard to shadow DOM boundaries.
1352         https://bugs.webkit.org/show_bug.cgi?id=61421
1353
1354         Reviewed by Dimitri Glazkov.
1355
1356         Introduces FocusEventDispatchMediator/BlurEventDispatchMediator so
1357         that focus/blue events are stopped at the lowest common shadow boundary.
1358
1359         * dom/Document.cpp:
1360         (WebCore::Document::setFocusedNode):
1361         * dom/Event.cpp:
1362         (WebCore::FocusEventDispatchMediator::create):
1363         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1364         (WebCore::FocusEventDispatchMediator::dispatchEvent):
1365         (WebCore::BlurEventDispatchMediator::create):
1366         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1367         (WebCore::BlurEventDispatchMediator::dispatchEvent):
1368         * dom/Event.h:
1369         * dom/Node.cpp:
1370         (WebCore::Node::dispatchFocusEvent):
1371         (WebCore::Node::dispatchBlurEvent):
1372         * dom/Node.h:
1373         * html/HTMLFormControlElement.cpp:
1374         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
1375         * html/HTMLFormControlElement.h:
1376         * html/HTMLSelectElement.cpp:
1377         (WebCore::HTMLSelectElement::dispatchFocusEvent):
1378         (WebCore::HTMLSelectElement::dispatchBlurEvent):
1379         * html/HTMLSelectElement.h:
1380         * html/HTMLTextFormControlElement.cpp:
1381         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
1382         (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
1383         * html/HTMLTextFormControlElement.h:
1384         * page/FocusController.cpp:
1385         (WebCore::dispatchEventsOnWindowAndFocusedNode):
1386
1387 2011-08-17  Ben Wells  <benwells@chromium.org>
1388
1389         Canvas fill and fillRect with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
1390         https://bugs.webkit.org/show_bug.cgi?id=66036
1391
1392         These modes cannot be passed straight through to the underlying graphics context as the graphics context
1393         and the HTML5 canvas spec have different interpretations to them. In the graphics context, the compositing
1394         modes are applied just over the area being filled. In the HTML5 spec, the compositing modes are applied over
1395         the entire canvas.
1396
1397         The SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy modes all need some kind of extra action
1398         to just performing the composited fill on the canvas, as they need t he canvas to be cleared outside of the 
1399         area being filled.
1400
1401         Previous to this change the Copy mode did not do this clearing at all. The other modes did but if the
1402         transformed path being filled contained anti-aliasing at its edges artifacts were introduced.
1403
1404         With this change, Copy now does a complete erase of the canvas before performing a fill as per normal.
1405         The other modes use a temporary buffer just big enough for the transformed path (in device coordinates).
1406         The fill is first done there in SourceOver mode. Then this is drawn into the canvas context using the
1407         appropriate mode, with any areas outside the draw area being cleared.
1408
1409         Reviewed by James Robinson.
1410
1411         Test: fast/canvas/canvas-composite-transformclip.html
1412
1413         * html/HTMLCanvasElement.h:
1414         * html/canvas/CanvasRenderingContext2D.cpp:
1415         (WebCore::CanvasRenderingContext2D::fill):
1416         (WebCore::CanvasRenderingContext2D::fillRect):
1417         (WebCore::CanvasRenderingContext2D::clearCanvas):
1418         (WebCore::CanvasRenderingContext2D::transformAreaToDevice):
1419         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
1420         * html/canvas/CanvasRenderingContext2D.h:
1421         * platform/graphics/skia/ImageBufferSkia.cpp:
1422         (WebCore::ImageBuffer::ImageBuffer):
1423
1424 2011-08-17  Emil A Eklund  <eae@chromium.org>
1425
1426         Switch inspector to to new layout types
1427         https://bugs.webkit.org/show_bug.cgi?id=66358
1428
1429         Reviewed by Eric Seidel.
1430
1431         Convert inspector code to new layout abstraction as a part of the ongoing
1432         conversion work.
1433
1434         No new tests, no new functionality.
1435
1436         * inspector/DOMNodeHighlighter.cpp:
1437         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
1438         * inspector/InspectorInstrumentation.cpp:
1439         (WebCore::InspectorInstrumentation::willPaintImpl):
1440         * inspector/InspectorInstrumentation.h:
1441         (WebCore::InspectorInstrumentation::willPaint):
1442         * inspector/InspectorTimelineAgent.cpp:
1443         (WebCore::InspectorTimelineAgent::willPaint):
1444         * inspector/InspectorTimelineAgent.h:
1445         * inspector/TimelineRecordFactory.cpp:
1446         (WebCore::TimelineRecordFactory::createPaintData):
1447         * inspector/TimelineRecordFactory.h:
1448
1449 2011-08-17  Levi Weintraub  <leviw@chromium.org>
1450
1451         Switch Editing code to new layout types
1452         https://bugs.webkit.org/show_bug.cgi?id=66355
1453
1454         Reviewed by Eric Seidel.
1455
1456         Converting remaining editing code to the LayoutUnit abstraction.
1457
1458         No new tests, no change in functionality.
1459
1460         * editing/Editor.cpp:
1461         (WebCore::Editor::rangeForPoint):
1462         (WebCore::Editor::insideVisibleArea):
1463         (WebCore::Editor::countMatchesForText):
1464         * editing/Editor.h:
1465         * editing/mac/FrameSelectionMac.mm:
1466         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
1467
1468 2011-08-17  Levi Weintraub  <leviw@chromium.org>
1469
1470         Switch Accessibility code to new layout types
1471         https://bugs.webkit.org/show_bug.cgi?id=66348
1472
1473         Reviewed by Eric Seidel.
1474
1475         Converting remaining Accessibility code to the LayoutUnit abstraction.
1476
1477         No new tests, no change in functionality
1478
1479         * accessibility/AccessibilityImageMapLink.cpp:
1480         (WebCore::AccessibilityImageMapLink::elementRect):
1481         * accessibility/AccessibilityImageMapLink.h:
1482         * accessibility/AccessibilityListBox.cpp:
1483         (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
1484         * accessibility/AccessibilityListBox.h:
1485         * accessibility/AccessibilityListBoxOption.cpp:
1486         (WebCore::AccessibilityListBoxOption::elementRect):
1487         * accessibility/AccessibilityListBoxOption.h:
1488         * accessibility/AccessibilityMenuListOption.cpp:
1489         (WebCore::AccessibilityMenuListOption::elementRect):
1490         * accessibility/AccessibilityMenuListOption.h:
1491         (WebCore::AccessibilityMenuListOption::size):
1492         * accessibility/AccessibilityMenuListPopup.h:
1493         (WebCore::AccessibilityMenuListPopup::elementRect):
1494         (WebCore::AccessibilityMenuListPopup::size):
1495         * accessibility/AccessibilityObject.cpp:
1496         (WebCore::AccessibilityObject::clickPoint):
1497         (WebCore::AccessibilityObject::orientation):
1498         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
1499         * accessibility/AccessibilityObject.h:
1500         (WebCore::AccessibilityObject::accessibilityHitTest):
1501         (WebCore::AccessibilityObject::boundingBoxRect):
1502         (WebCore::AccessibilityObject::size):
1503         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
1504         (WebCore::AccessibilityObject::doAXBoundsForRange):
1505         * accessibility/AccessibilityRenderObject.cpp:
1506         (WebCore::AccessibilityRenderObject::isOffScreen):
1507         (WebCore::AccessibilityRenderObject::boundingBoxRect):
1508         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
1509         (WebCore::AccessibilityRenderObject::elementRect):
1510         (WebCore::AccessibilityRenderObject::size):
1511         (WebCore::AccessibilityRenderObject::clickPoint):
1512         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1513         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1514         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
1515         (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
1516         * accessibility/AccessibilityRenderObject.h:
1517         * accessibility/AccessibilityScrollView.cpp:
1518         (WebCore::AccessibilityScrollView::accessibilityHitTest):
1519         (WebCore::AccessibilityScrollView::elementRect):
1520         * accessibility/AccessibilityScrollView.h:
1521         * accessibility/AccessibilityScrollbar.cpp:
1522         (WebCore::AccessibilityScrollbar::elementRect):
1523         * accessibility/AccessibilityScrollbar.h:
1524         * accessibility/AccessibilitySlider.cpp:
1525         (WebCore::AccessibilitySliderThumb::elementRect):
1526         (WebCore::AccessibilitySliderThumb::size):
1527         * accessibility/AccessibilitySlider.h:
1528         * accessibility/AccessibilityTableColumn.cpp:
1529         (WebCore::AccessibilityTableColumn::elementRect):
1530         (WebCore::AccessibilityTableColumn::size):
1531         * accessibility/AccessibilityTableColumn.h:
1532         * accessibility/AccessibilityTableHeaderContainer.cpp:
1533         (WebCore::AccessibilityTableHeaderContainer::elementRect):
1534         (WebCore::AccessibilityTableHeaderContainer::size):
1535         * accessibility/AccessibilityTableHeaderContainer.h:
1536         * accessibility/mac/AccessibilityObjectWrapper.mm:
1537         (-[AccessibilityObjectWrapper position]):
1538         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1539         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
1540
1541 2011-08-17  Emil A Eklund  <eae@chromium.org>
1542
1543         Switch focus handling to to new layout types
1544         https://bugs.webkit.org/show_bug.cgi?id=66331
1545
1546         Reviewed by Eric Seidel.
1547
1548         Convert FocusController and SpatialNavigation to new layout abstraction
1549         as a part of the ongoing conversion work.
1550
1551         No new tests, no new functionality.
1552
1553         * page/FocusController.cpp:
1554         (WebCore::updateFocusCandidateIfNeeded):
1555         (WebCore::FocusController::findFocusCandidateInContainer):
1556         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
1557         (WebCore::FocusController::advanceFocusDirectionally):
1558         * page/FocusController.h:
1559         * page/SpatialNavigation.cpp:
1560         (WebCore::alignmentForRects):
1561         (WebCore::start):
1562         (WebCore::middle):
1563         (WebCore::end):
1564         (WebCore::areRectsFullyAligned):
1565         (WebCore::areRectsPartiallyAligned):
1566         (WebCore::areRectsMoreThanFullScreenApart):
1567         (WebCore::below):
1568         (WebCore::rightOf):
1569         (WebCore::isRectInDirection):
1570         (WebCore::hasOffscreenRect):
1571         (WebCore::scrollInDirection):
1572         (WebCore::deflateIfOverlapped):
1573         (WebCore::canScrollInDirection):
1574         (WebCore::rectToAbsoluteCoordinates):
1575         (WebCore::nodeRectInAbsoluteCoordinates):
1576         (WebCore::frameRectInAbsoluteCoordinates):
1577         (WebCore::entryAndExitPointsForDirection):
1578         (WebCore::distanceDataForNode):
1579         (WebCore::canBeScrolledIntoView):
1580         (WebCore::virtualRectForDirection):
1581         (WebCore::virtualRectForAreaElementAndDirection):
1582         * page/SpatialNavigation.h:
1583
1584 2011-08-17  Levi Weintraub  <leviw@chromium.org>
1585
1586         Switch Document, DocumentMarker, Clipboard, and Range to new layout types
1587         https://bugs.webkit.org/show_bug.cgi?id=66330
1588
1589         Reviewed by Eric Seidel.
1590
1591         Converting the remaining DOM classes to use the LayoutUnit abstraction.
1592
1593         No new tests, no new behavior.
1594
1595         * dom/Clipboard.h:
1596         (WebCore::Clipboard::dragLocation):
1597         * dom/Document.cpp:
1598         (WebCore::Document::nodesFromRect):
1599         (WebCore::nodeFromPoint):
1600         (WebCore::Document::caretRangeFromPoint):
1601         (WebCore::Document::prepareMouseEvent):
1602         * dom/Document.h:
1603         * dom/DocumentMarkerController.cpp:
1604         (WebCore::DocumentMarkerController::markerContainingPoint):
1605         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
1606         (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
1607         * dom/DocumentMarkerController.h:
1608         * dom/Range.cpp:
1609         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
1610         * dom/RenderedDocumentMarker.h:
1611         (WebCore::RenderedDocumentMarker::contains):
1612         (WebCore::RenderedDocumentMarker::setRenderedRect):
1613         (WebCore::RenderedDocumentMarker::renderedRect):
1614         (WebCore::RenderedDocumentMarker::invalidMarkerRect):
1615         (WebCore::RenderedDocumentMarker::invalidate):
1616
1617 2011-08-17  Dan Bernstein  <mitz@apple.com>
1618
1619         Removed an unused setting.
1620
1621         Reviewed by Anders Carlsson.
1622
1623         * WebCore.exp.in:
1624         * page/Settings.cpp:
1625         (WebCore::Settings::Settings): Removed initializer for m_needsTigerMailQuirks.
1626         * page/Settings.h: Removed accessors.
1627
1628 2011-08-17  Oliver Hunt  <oliver@apple.com>
1629
1630         Move towards supporting user controlled prototypes on CanvasPixelArray
1631         https://bugs.webkit.org/show_bug.cgi?id=66429
1632
1633         Reviewed by Gavin Barraclough.
1634
1635         Start using a per-global object structure for canvas pixel array.
1636
1637         * bindings/js/JSImageDataCustom.cpp:
1638         (WebCore::toJS):
1639
1640 2011-08-17  Luke Macpherson   <macpherson@chromium.org>
1641
1642         Support cast from CSSPrimitiveValue to unsigned, and use in appropriate places in CSSStyleSelector::applyProperty
1643         https://bugs.webkit.org/show_bug.cgi?id=66281
1644
1645         Reviewed by Eric Seidel.
1646
1647         No new tests - refactoring only.
1648
1649         The return if type!=CSS_NUMBER case becomes an ASSERT because it is unreachable unless there is an error in the parser.
1650
1651         * css/CSSPrimitiveValueMappings.h:
1652         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1653         Support cast from unsigned to CSSPrimitiveValue
1654         (WebCore::CSSPrimitiveValue::operator unsigned):
1655         Support cast from CSSPrimitiveValue to unsigned
1656         * css/CSSStyleSelector.cpp:
1657         (WebCore::CSSStyleSelector::applyProperty):
1658         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for CSSPropertyWebkitBoxFlex,
1659         CSSPropertyWebkitBoxFlexGroup and CSSPropertyWebkitBoxOrdinalGroup properties.
1660
1661 2011-08-17  Scott Byer  <scottbyer@chromium.org>
1662
1663         ScrollAnimatorNone: Remove unused field
1664         https://bugs.webkit.org/show_bug.cgi?id=66312
1665
1666         Reviewed by Adam Barth.
1667
1668         No functional change; no test needed.
1669
1670         * platform/ScrollAnimatorNone.cpp:
1671         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
1672         (WebCore::ScrollAnimatorNone::scroll):
1673         * platform/ScrollAnimatorNone.h:
1674
1675 2011-08-17  Jeff Miller  <jeffm@apple.com>
1676
1677         Work-in-progress on Soft link against AVFoundationCF and CoreMedia
1678         https://bugs.webkit.org/show_bug.cgi?id=65725
1679         
1680         Don't bother with SOFT_LINK_LIBRARY(libdispatch), we're going to continue to statically link to it since
1681         the DLL will have already been loaded by other parts of AAS and is guaranteed to be available if AVFoundation
1682         is enabled.
1683
1684         Reviewed by Anders Carlsson.
1685
1686         No new tests; no functional change.
1687
1688         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Removed SOFT_LINK_DEBUG_LIBRARY(libdispatch) and SOFT_LINK_LIBRARY(libdispatch).
1689         (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable): Don't check for libdispatch.
1690
1691 2011-08-17  Brady Eidson  <beidson@apple.com>
1692
1693         https://bugs.webkit.org/show_bug.cgi?id=66354 and <rdar://problem/9965209>
1694         Regression:  On Lion, redirects lose HTTP authentication headers
1695
1696         Reviewed by Alexey Proskuryakov and Darin Adler.
1697
1698         This changes makes WebCore try to apply basic credentials after a redirect if the redirect is to the same origin,
1699         assuming the redirected URL did not contain credentials directly.
1700
1701         Tests: http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin.html
1702                http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin.html
1703                http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html
1704
1705         * platform/network/cf/ResourceHandleCFNet.cpp:
1706         (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
1707         (WebCore::ResourceHandle::createCFURLConnection): Use the applyBasicAuthorizationHeader helper.
1708         (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
1709
1710         * platform/network/mac/ResourceHandleMac.mm:
1711         (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
1712         (WebCore::ResourceHandle::createNSURLConnection): Use the applyBasicAuthorizationHeader helper.
1713         (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
1714
1715 2011-08-17  Chris Fleizach  <cfleizach@apple.com>
1716
1717         Accessibility stack exhaustion using role attribute
1718         https://bugs.webkit.org/show_bug.cgi?id=65174
1719
1720         Reviewed by Darin Adler.
1721
1722         Forgot to commit review comments.
1723
1724         * accessibility/AccessibilityRenderObject.cpp:
1725         (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
1726
1727 2011-08-17  Chris Fleizach  <cfleizach@apple.com>
1728
1729         Accessibility stack exhaustion using role attribute
1730         https://bugs.webkit.org/show_bug.cgi?id=65174
1731
1732         Make sure we do not call accessibilityIsIgnored() during the AccessibilityObject
1733         creation flow. That can lead to loops.
1734    
1735         Reviewed by Darin Adler.
1736
1737         Tests: accessibility/crash-determining-aria-role-when-label-present.html
1738
1739         * accessibility/AccessibilityObject.cpp:
1740         (WebCore::createARIARoleMap):
1741         * accessibility/AccessibilityRenderObject.cpp:
1742         (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
1743         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
1744         * accessibility/AccessibilityRenderObject.h:
1745
1746 2011-08-17  James Robinson  <jamesr@chromium.org>
1747
1748         [chromium] Crash if compositing is disabled during updateLayers()
1749         https://bugs.webkit.org/show_bug.cgi?id=66353
1750
1751         Reviewed by Kenneth Russell.
1752
1753         If compositing is turned off during LayerRendererChromium::updateLayers(), the rootLayer() will become null.
1754         Sicne CCLayerTreeHost::doComposite() calls updateLayers() and then drawLayers() without checking for this case,
1755         drawLayers() has to return without doing anything if the root layer is null.
1756
1757         Crash fixed based on crash reports.  No known reliably repro case, unfortunately.
1758
1759         * platform/graphics/chromium/LayerRendererChromium.cpp:
1760         (WebCore::LayerRendererChromium::drawLayers):
1761
1762 2011-08-17  Dan Bernstein  <mitz@apple.com>
1763
1764         <rdar://problem/9971293> Mid-word breaks can occur in the middle of a surrogate pair
1765         https://bugs.webkit.org/show_bug.cgi?id=66402
1766
1767         Reviewed by Dave Hyatt.
1768
1769         Test: fast/text/midword-break-before-surrogate-pair-2.html
1770
1771         * rendering/RenderBlockLineLayout.cpp:
1772         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Just never allow a mid-word
1773         break before a trailing surrogate.
1774
1775 2011-08-16  Chang Shu  <cshu@webkit.org>
1776
1777         Support reset in WebCore::Internals
1778         https://bugs.webkit.org/show_bug.cgi?id=66307
1779
1780         Reviewed by Dimitri Glazkov.
1781
1782         New tests will be added when function reset is implemented.
1783
1784         Added framework code in WebCoreTestSupport. The real implementation of
1785         Internals::reset() depends on the need from the settings that require a reset.
1786
1787         * testing/Internals.cpp:
1788         (WebCore::Internals::reset):
1789         * testing/Internals.h:
1790         * testing/js/WebCoreTestSupport.cpp:
1791         (WebCoreTestSupport::resetInternalsObject):
1792         * testing/js/WebCoreTestSupport.h:
1793         * testing/v8/WebCoreTestSupport.cpp:
1794         (WebCoreTestSupport::resetInternalsObject):
1795         * testing/v8/WebCoreTestSupport.h:
1796
1797 2011-08-17  Tony Chang  <tony@chromium.org>
1798
1799         Fix chromium mac compile.  MediaPlayerPrivateAVFoundationObjC.* moved
1800         and the WebCore.gypi file wasn't updated.
1801
1802         * WebCore.gypi:
1803
1804 2011-08-17  Abhishek Arya  <inferno@chromium.org>
1805
1806         Crash in Document::recalcStyleSelector
1807         https://bugs.webkit.org/show_bug.cgi?id=66335
1808
1809         Reviewed by Simon Fraser.
1810
1811         When node is getting destroyed and its removedFromDocument
1812         is not called due to entire document structure torn down(using
1813         removeAllChildren), make sure to clear out the stylesheet
1814         candidate node from document's structures in its destructor.
1815
1816         Test: svg/dom/stylesheet-candidate-node-crash-main.html
1817
1818         * dom/ProcessingInstruction.cpp:
1819         (WebCore::ProcessingInstruction::~ProcessingInstruction):
1820         * html/HTMLLinkElement.cpp:
1821         (WebCore::HTMLLinkElement::~HTMLLinkElement):
1822         * html/HTMLStyleElement.cpp:
1823         (WebCore::HTMLStyleElement::~HTMLStyleElement):
1824         * svg/SVGStyleElement.cpp:
1825         (WebCore::SVGStyleElement::~SVGStyleElement):
1826
1827 2011-08-17  Sam White  <samuel.white@rochester.edu>
1828
1829         AccessibilityObject levels are inconsistent
1830         https://bugs.webkit.org/show_bug.cgi?id=66180
1831         
1832         Updated accessibilityTable to return level values consistent with other accessibilityObjects that
1833         return level values. This means a value of 0 is now only returned when tableLevel() is called on a
1834         non-table element.
1835
1836         Reviewed by Chris Fleizach.
1837
1838         Test: platform/mac/accessibility/element-level.html
1839
1840         * accessibility/AccessibilityTable.cpp:
1841         (WebCore::AccessibilityTable::tableLevel):
1842         * accessibility/mac/AccessibilityObjectWrapper.mm:
1843         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1844
1845 2011-08-17  Ryosuke Niwa  <rniwa@webkit.org>
1846
1847         An arrow key collapses directionless selection range in the wrong direction in BiDi
1848         https://bugs.webkit.org/show_bug.cgi?id=64626
1849
1850         Reviewed by Darin Adler.
1851
1852         The bug was caused by willBeModified's always using block direction to determine
1853         the direction to which the selection is collapsed. Fixed the bug by calling directionOfSelection
1854         in willBeModified, which will return the text direction of the surrounding context when
1855         the start and the end have the same direction. When the text directions at the start and at the end
1856         of selection do not match, it uses the block's text direction.
1857
1858         Test: editing/selection/collapse-selection-in-bidi.html
1859
1860         * editing/FrameSelection.cpp:
1861         (WebCore::FrameSelection::directionOfSelection): Added.
1862         (WebCore::FrameSelection::willBeModified): Calls directionOfSelection.
1863         (WebCore::FrameSelection::modifyMovingRight): Ditto.
1864         (WebCore::FrameSelection::modifyMovingLeft): Ditto.
1865         * editing/FrameSelection.h:
1866
1867 2011-08-17  Jeff Miller  <jeffm@apple.com>
1868
1869         Some AVFoundation source files should be in platform-specific directories
1870         https://bugs.webkit.org/show_bug.cgi?id=66352
1871         
1872         Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf,
1873         and moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
1874         
1875         While I was at it, added svn:eol-style property to the MediaPlayerPrivateAVFoundationObjC.* files.
1876         
1877         Also, for some reason, Visual Studio decided to re-sort a couple files in \inspector\front-end\ in WebCore.vcproj, even though
1878         I just re-sorted the project in r93215.
1879
1880         Reviewed by Eric Carlson.
1881
1882         No new tests; no functional change.
1883
1884         * WebCore.vcproj/WebCore.vcproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf.
1885
1886         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added $(ProjectDir)..\platform\graphics\avfoundation\cf to include paths.
1887
1888         * WebCore.xcodeproj/project.pbxproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
1889
1890         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Removed.
1891         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Removed.
1892         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Removed.
1893         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Removed.
1894
1895         * platform/graphics/avfoundation/cf: Added.
1896         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp.
1897         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h.
1898
1899         * platform/graphics/avfoundation/objc: Added.
1900         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h.
1901         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm.
1902
1903 2011-08-17  Luke Macpherson   <macpherson@chromium.org>
1904
1905         Only set m_fontDirty if TextSizeAdjust is actually changed.
1906         https://bugs.webkit.org/show_bug.cgi?id=66022
1907
1908         Reviewed by Darin Adler.
1909
1910         No new tests. Refactoring only.
1911
1912         Reduces instances where the font information is dirtied to save recalculation where it is not necessary.
1913
1914         * css/CSSStyleSelector.cpp:
1915         (WebCore::CSSStyleSelector::applyProperty):
1916         Call new setTextSizeAdjust function.
1917         * css/CSSStyleSelector.h:
1918         (WebCore::CSSStyleSelector::setTextSizeAdjust):
1919         Add wrapper for RenderStyle::setTextSizeAdjust() that automatically updates m_fontDirty.
1920         * rendering/style/RenderStyle.h:
1921         (WebCore::RenderStyle::setTextSizeAdjust):
1922         Make setTextSizeAdjust return true if the unlderlying value was changed.
1923
1924 2011-08-17  Kenichi Ishibashi  <bashi@chromium.org>
1925
1926         [Chromium] Crash in HarfbuzzFace::~HarfbuzzFace
1927         https://bugs.webkit.org/show_bug.cgi?id=66211
1928
1929         Holds Skia's unique font ID instead of FontPlatformData to avoid accessing freed FontPlatformData.
1930
1931         Reviewed by Tony Chang.
1932
1933         No new tests; no functional change.
1934
1935         * platform/graphics/chromium/HarfbuzzSkia.cpp:
1936         (WebCore::releaseCachedHarfbuzzFace): Changed the argument.
1937         (WebCore::HarfbuzzFace::HarfbuzzFace): Changed to have Skia's font uniqueID instead of FontPlatformData.
1938         (WebCore::HarfbuzzFace::~HarfbuzzFace): Uses m_uniqueID to call releaseCachedHarfbuzzFace.
1939         * platform/graphics/chromium/HarfbuzzSkia.h:
1940
1941 2011-08-17  Jeff Miller  <jeffm@apple.com>
1942
1943         Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
1944
1945         * WebCore.vcproj/WebCore.vcproj:
1946
1947 2011-08-17  Sailesh Agrawal  <sail@chromium.org>
1948
1949         Chromium Mac: Fix implementation of wkScrollbarMinimumTotalLengthNeededForThumb to match WebKitSystemInterface
1950         https://bugs.webkit.org/show_bug.cgi?id=66311
1951
1952         Reviewed by Dimitri Glazkov.
1953
1954         Updated wkScrollbarMinimumTotalLengthNeededForThumb() based on the latest disassembly of libWebKitSystemInterfaceLion.a.
1955
1956         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
1957         (wkScrollbarMinimumTotalLengthNeededForThumb):
1958
1959 2011-08-17  Steve Block  <steveblock@google.com>
1960
1961         Unreviewed, rolling out r93186.
1962         http://trac.webkit.org/changeset/93186
1963         https://bugs.webkit.org/show_bug.cgi?id=66114
1964
1965         Breaks LayoutTests on Chromium canary bots
1966
1967         * platform/graphics/chromium/LayerChromium.h:
1968         * platform/graphics/chromium/LayerRendererChromium.cpp:
1969         (WebCore::LayerRendererChromium::updateLayers):
1970         (WebCore::LayerRendererChromium::drawLayersInternal):
1971         (WebCore::LayerRendererChromium::drawLayer):
1972         * platform/graphics/chromium/cc/CCLayerImpl.h:
1973
1974 2011-08-17  Ryosuke Niwa  <rniwa@webkit.org>
1975
1976         Get rid of calls to deprecatedNode and deprecatedEditingOffset in
1977         AccessibilityRenderObject.cpp and InsertTextCommand.cpp
1978         https://bugs.webkit.org/show_bug.cgi?id=66014
1979
1980         Reviewed by Hajime Morita.
1981
1982         Removed calls to deprecatedNode and deprecatedEditingOffsets in the following files.
1983
1984         * accessibility/AccessibilityRenderObject.cpp:
1985         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls Position::rootEditableElement
1986         and Range::setEnd(const Position&, ExceptionCode) instead of manually pulling deprecatedNode
1987         and deprecatedEditingOffset.
1988         (WebCore::AccessibilityRenderObject::index): Abstracted the logic to loop through render objects
1989         from deprecatedNodes' renderer to m_renderer as renderObjectContainsPosition.
1990         * dom/Position.h:
1991         (WebCore::Position::rootEditableElement): Added.
1992         * dom/Range.cpp:
1993         (WebCore::Range::setStart): Added.
1994         (WebCore::Range::setEnd): Added.
1995         * dom/Range.h:
1996         * editing/InsertTextCommand.cpp:
1997         (WebCore::InsertTextCommand::insertTab):
1998         * editing/RenderedPosition.cpp:
1999         (WebCore::renderObjectContainsPosition): Extracted from AccessibilityRenderObject::index.
2000         * editing/RenderedPosition.h:
2001
2002 2011-08-17  Sailesh Agrawal  <sail@chromium.org>
2003
2004         Chromium Mac: Fix issue where scrollbar wouldn't be drawn until page finished loading
2005         https://bugs.webkit.org/show_bug.cgi?id=66238
2006
2007         Reviewed by Dimitri Glazkov.
2008
2009         Overlay scrollbars were not visible if the user scrolled a page while the page was loading. The sequence of events necessary to reproduce this bug were:
2010           1. -[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:] is called
2011           2. animation is delayed because shouldSuspendScrollAnimations() is true
2012           3. ScrollAnimatorChromiumMac::scroll() is called before the ScrollAnimatorChromiumMac::m_initialScrollbarPaintTimer is fired.
2013           4. At this point the scrollbar painter assumes the scrollbar is already visible (because of 1.) so the scrollbar's alpha stays at 0. Thus the scrollbar isn't visible until the page finishes loading.
2014         It turns out that the root problem was that when the initialScrollbarPainterTimer fired I wasn't flashing the scrollbar correctly. My implementation of wkScrollbarPainterForceFlashScrollers() just called flashScrollers. The Safari implementation of this function also calls hideOverlayScrollers. Calling hideOverlayScrollers causes the alpha to change to 0 which prevents step 4 from happening.
2015
2016         Also, now that wkScrollbarPainterForceFlashScrollers is working correctly I don't need the extra logic I added to the initialScrollbarPainterTimer handler. That logic restarted the timer if shouldSuspendScrollAnimations() was true. But this isn't necessary since calling wkScrollbarPainterForceFlashScrollers() causes -[ScrollbarPainterDelegate setUpAnimation:...] to be called which does the exact same thing. Removing the extra logic reverts http://trac.webkit.org/changeset/92316.
2017
2018         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2019         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
2020         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
2021         (wkScrollbarPainterForceFlashScrollers):
2022
2023 2011-08-16  Andrey Kosyakov  <caseq@chromium.org>
2024
2025         Web Inspector: maintain visible view hierarchy and dispatch common view events automatically
2026         https://bugs.webkit.org/show_bug.cgi?id=66131
2027
2028         Reviewed by Pavel Feldman.
2029
2030         Test: inspector/view-events.html
2031
2032         - added a notion of an optional parent to a View
2033         - maintain a list of View children
2034         - dispatch common view events, such as show/hide/resize automatically through the hierarchy of visible views.
2035         - promoted Panel's logic of (re)storing scroll positions to view
2036         - demoted inheritScrollPositionFromView to a couple of views that need it.
2037
2038         * inspector/front-end/ApplicationCacheItemsView.js:
2039         (WebInspector.ApplicationCacheItemsView.prototype.onResize):
2040         * inspector/front-end/ConsoleView.js:
2041         (WebInspector.ConsoleView.prototype.populateStatusBar):
2042         (WebInspector.ConsoleView.prototype.elementsToRestoreScrollPositionsFor):
2043         * inspector/front-end/CookieItemsView.js:
2044         (WebInspector.CookieItemsView.prototype.onResize):
2045         (WebInspector.SimpleCookiesTable.prototype.onResize):
2046         * inspector/front-end/DOMStorageItemsView.js:
2047         (WebInspector.DOMStorageItemsView.prototype.onResize):
2048         * inspector/front-end/DetailedHeapshotView.js:
2049         (WebInspector.DetailedHeapshotView.prototype.onResize):
2050         * inspector/front-end/Drawer.js:
2051         (WebInspector.Drawer.prototype.set visibleView):
2052         (WebInspector.Drawer.prototype.show):
2053         (WebInspector.Drawer.prototype.hide):
2054         (WebInspector.Drawer.prototype.onResize):
2055         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
2056         (WebInspector.Drawer.prototype._animateDrawerHeight):
2057         (WebInspector.Drawer.prototype._statusBarDragging):
2058         (WebInspector.Drawer.prototype._endStatusBarDragging):
2059         * inspector/front-end/ElementsPanel.js:
2060         (WebInspector.ElementsPanel.prototype.onResize):
2061         * inspector/front-end/ExtensionPanel.js:
2062         * inspector/front-end/FontView.js:
2063         (WebInspector.FontView.prototype.onResize):
2064         * inspector/front-end/IFrameView.js:
2065         (WebInspector.IFrameView):
2066         * inspector/front-end/NetworkItemView.js:
2067         (WebInspector.NetworkItemView.prototype._installHighlightSupport):
2068         * inspector/front-end/NetworkPanel.js:
2069         (WebInspector.NetworkLogView):
2070         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
2071         (WebInspector.NetworkLogView.prototype.onResize):
2072         (WebInspector.NetworkLogView.prototype.wasShown):
2073         (WebInspector.NetworkLogView.prototype.willHide):
2074         (WebInspector.NetworkPanel):
2075         (WebInspector.NetworkPanel.prototype.show):
2076         (WebInspector.NetworkPanel.prototype._showResource):
2077         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
2078         * inspector/front-end/Panel.js:
2079         (WebInspector.Panel.prototype.show):
2080         (WebInspector.Panel.prototype.hide):
2081         (WebInspector.Panel.prototype.performSearch.processChunk):
2082         (WebInspector.Panel.prototype.performSearch):
2083         (WebInspector.Panel.prototype.updateSidebarWidth):
2084         * inspector/front-end/PanelEnablerView.js:
2085         (WebInspector.PanelEnablerView.prototype.show):
2086         (WebInspector.PanelEnablerView.prototype.onResize):
2087         * inspector/front-end/ProfileView.js:
2088         (WebInspector.CPUProfileView.prototype.onResize):
2089         * inspector/front-end/ProfilesPanel.js:
2090         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
2091         * inspector/front-end/ResourceCookiesView.js:
2092         (WebInspector.ResourceCookiesView.prototype.onResize):
2093         * inspector/front-end/ResourcePreviewView.js:
2094         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
2095         * inspector/front-end/ResourceResponseView.js:
2096         (WebInspector.ResourceResponseView.prototype.contentLoaded):
2097         * inspector/front-end/ResourceTimingView.js:
2098         (WebInspector.ResourceTimingView.prototype.show):
2099         * inspector/front-end/ResourcesPanel.js:
2100         (WebInspector.ResourcesPanel.prototype.show):
2101         (WebInspector.ResourcesPanel.prototype._innerShowView):
2102         (WebInspector.ResourcesPanel.prototype.closeVisibleView):
2103         (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
2104         (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
2105         * inspector/front-end/ScriptsPanel.js:
2106         (WebInspector.ScriptsPanel.prototype.show):
2107         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2108         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
2109         (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
2110         * inspector/front-end/SourceFrame.js:
2111         (WebInspector.SourceFrame):
2112         (WebInspector.SourceFrame.prototype.show):
2113         (WebInspector.SourceFrame.prototype.willHide):
2114         (WebInspector.SourceFrame.prototype.clearMessages):
2115         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
2116         (WebInspector.SourceFrame.prototype.inheritScrollPositions):
2117         * inspector/front-end/TabbedPane.js:
2118         (WebInspector.TabbedPane.prototype.appendTab):
2119         * inspector/front-end/TextViewer.js:
2120         (WebInspector.TextViewer.prototype.elementsToRestoreScrollPositionsFor):
2121         (WebInspector.TextViewer.prototype.inheritScrollPositions):
2122         (WebInspector.TextViewer.prototype.onResize):
2123         * inspector/front-end/TimelinePanel.js:
2124         (WebInspector.TimelinePanel.prototype.onResize):
2125         (WebInspector.TimelinePanel.prototype.elementsToRestoreScrollPositionsFor):
2126         (WebInspector.TimelinePanel.prototype.show):
2127         * inspector/front-end/View.js:
2128         (WebInspector.View):
2129         (WebInspector.View.prototype.wasShown):
2130         (WebInspector.View.prototype.willHide):
2131         (WebInspector.View.prototype._innerShow):
2132         (WebInspector.View.prototype.show):
2133         (WebInspector.View.prototype._innerHide):
2134         (WebInspector.View.prototype.hide):
2135         (WebInspector.View.prototype._detach):
2136         (WebInspector.View.prototype.elementsToRestoreScrollPositionsFor):
2137         (WebInspector.View.prototype.storeScrollPositions):
2138         (WebInspector.View.prototype.restoreScrollPositions):
2139         (WebInspector.View.prototype.addChildView):
2140         (WebInspector.View.prototype.removeChildView):
2141         (WebInspector.View.prototype.onResize):
2142         (WebInspector.View.prototype.doResize):
2143         (WebInspector.View.prototype.dispatchToSelfAndVisibleChildren):
2144         (WebInspector.View.prototype.dispatchToVisibleChildren):
2145         * inspector/front-end/inspector.js:
2146         (WebInspector.windowResize):
2147
2148 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
2149
2150         Represent RenderStyle::textOverflow property using an enum instead of a bool.
2151         https://bugs.webkit.org/show_bug.cgi?id=66356
2152
2153         Reviewed by Dan Bernstein.
2154
2155         No new tests - no behavioral changes.
2156
2157         * css/CSSPrimitiveValueMappings.h:
2158         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2159         Support cast from TextOverflow to CSSPrimitiveValue.
2160         (WebCore::CSSPrimitiveValue::operator TextOverflow):
2161         Support cast from CSSPrimitiveValue to TextOverflow.
2162         * css/CSSStyleSelector.cpp:
2163         (WebCore::CSSStyleSelector::applyProperty):
2164         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for text overflow.
2165         * rendering/style/RenderStyle.h:
2166         (WebCore::InheritedFlags::textOverflow):
2167         Return TextOverflow enum.
2168         (WebCore::InheritedFlags::setTextOverflow):
2169         Accept TextOverflow enum parameter.
2170         (WebCore::InheritedFlags::initialTextOverflow):
2171         Return TextOverflowClip.
2172         * rendering/style/RenderStyleConstants.h:
2173         Define TextOverflow enum.
2174         * rendering/style/StyleRareNonInheritedData.h:
2175         Change representation of text overflow from bool to one-bit unsigned.
2176
2177 2011-08-16  Jeff Miller  <jeffm@apple.com>
2178
2179         Apple's Windows production build should fail to compile if AVFoundation is not enabled
2180         https://bugs.webkit.org/show_bug.cgi?id=66339
2181         
2182         Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
2183
2184         Reviewed by Darin Adler.
2185
2186         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
2187
2188 2011-08-16  David Levin  <levin@chromium.org>
2189
2190         REGRESSION (r89086): All worker xhr requests trigger preflight requests.
2191         https://bugs.webkit.org/show_bug.cgi?id=66340
2192
2193         Reviewed by Adam Barth.
2194
2195         Test coming in a more comprehensive patch shortly. This is just a very targetted
2196         patch to allow for easier merging.
2197
2198         * loader/CrossOriginAccessControl.cpp:
2199         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Add referer to the list
2200         of whitelisted headers. It can't be set by xhr so it is ok to whitelist it, but it is
2201         set before calling this function. This is similar to what is done for "origin" in here.
2202
2203 2011-08-16  Shawn Singh  <shawnsingh@chromium.org>
2204
2205         Computing screen-space transform for LayerChromium and CCLayerImpl
2206         https://bugs.webkit.org/show_bug.cgi?id=66114
2207
2208         Reviewed by James Robinson.
2209
2210         Test: compositing/backface-visibility-hierarchical-transform.html
2211
2212         Added a data member to LayerChromium and CCLayerImpl that holds
2213         the screen-space transform.   The transform is computed in
2214         calculateDrawTransformsAndVisibility(), which is used during
2215         updating (LayerChromium) and drawing (CCLayerImpl).  This transform
2216         will also be used for other things, such as HUD drawing, in upcoming
2217         patches.
2218
2219         Also fixed a FIXME in LayerRendererChromium::drawLayer, which
2220         was not computing the entire hierarchy of transforms to determine
2221         back-face visibility.  Now it simply uses the screen space transform.
2222
2223         * platform/graphics/chromium/LayerChromium.h:
2224         (WebCore::LayerChromium::screenSpaceDrawTransform):
2225         (WebCore::LayerChromium::setScreenSpaceDrawTransform):
2226         * platform/graphics/chromium/LayerRendererChromium.cpp:
2227         (WebCore::LayerRendererChromium::updateLayers):
2228         (WebCore::LayerRendererChromium::drawLayersInternal):
2229         (WebCore::LayerRendererChromium::drawLayer):
2230         (WebCore::calculateDrawTransformsAndVisibility):
2231         * platform/graphics/chromium/cc/CCLayerImpl.h:
2232         (WebCore::CCLayerImpl::screenSpaceDrawTransform):
2233         (WebCore::CCLayerImpl::setScreenSpaceDrawTransform):
2234
2235 2011-08-16  Hayato Ito  <hayato@chromium.org>
2236
2237         Implement proper handling of events which happen in children of shadow hosts.
2238         https://bugs.webkit.org/show_bug.cgi?id=66285
2239
2240         Reviewed by Dimitri Glazkov.
2241
2242         Fix the issue where a shadow host stops an event propagation if an
2243         event happens at the children of shadow hosts, outside of the shadow root.
2244
2245         Test: fast/dom/shadow/shadow-contents-event.html
2246
2247         * dom/EventDispatcher.cpp:
2248         (WebCore::EventDispatcher::adjustToShadowBoundaries):
2249
2250 2011-08-16  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
2251
2252         Make it possible to explicitly prevent a preflight via ThreadableLoaderOptions
2253         https://bugs.webkit.org/show_bug.cgi?id=65694
2254
2255         Reviewed by Alexey Proskuryakov.
2256
2257         No new tests since there is no change in behavior.
2258
2259         * fileapi/FileReaderLoader.cpp:
2260         (WebCore::FileReaderLoader::start):
2261         * loader/DocumentThreadableLoader.cpp:
2262         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
2263         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
2264         * loader/ThreadableLoader.h:
2265         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
2266         * notifications/Notification.cpp:
2267         (WebCore::Notification::startLoading):
2268         * xml/XMLHttpRequest.cpp:
2269         (WebCore::XMLHttpRequest::createRequest):
2270
2271 2011-08-16  Scott Byer  <scottbyer@chromium.org>
2272
2273         Fix spelling error.
2274         https://bugs.webkit.org/show_bug.cgi?id=66261
2275
2276         Reviewed by Adam Barth.
2277
2278         No functional change, no tests needed.
2279
2280         * platform/ScrollAnimator.cpp:
2281         (WebCore::ScrollAnimator::scroll):
2282         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
2283         (WebCore::ScrollAnimator::notifyPositionChanged):
2284         * platform/ScrollAnimator.h:
2285         * platform/ScrollAnimatorNone.cpp:
2286         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
2287         (WebCore::ScrollAnimatorNone::animationTimerFired):
2288         * platform/ScrollAnimatorWin.cpp:
2289         (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
2290         (WebCore::ScrollAnimatorWin::animateScroll):
2291         * platform/chromium/ScrollAnimatorChromiumMac.h:
2292         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2293         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
2294         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
2295         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
2296         (WebCore::ScrollAnimatorChromiumMac::notifyPositionChanged):
2297         * platform/mac/ScrollAnimatorMac.h:
2298         * platform/mac/ScrollAnimatorMac.mm:
2299         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2300         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
2301         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
2302         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
2303
2304 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2305
2306         ASSERT in fast/css/custom-font-xheight.html
2307         https://bugs.webkit.org/show_bug.cgi?id=66328
2308
2309         Reviewed by Dan Bernstein.
2310
2311         In r93140 the temporary font created for a remote CSS font face
2312         was created without being retained. We need to protect the
2313         font from being purged while we hold onto it, so add a font cache
2314         purge preventer.
2315
2316         * css/CSSFontFaceSource.cpp:
2317         (WebCore::CSSFontFaceSource::getFontData):
2318
2319 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2320
2321         Unreviewed Chromium Windows build fix after r93140. Take 4.
2322         Namespace the now public enum as FontCache::ShouldRetain.
2323
2324         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2325         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
2326
2327 2011-08-15  Stephen White  <senorblanco@chromium.org>
2328
2329         Canvas resizing can be slow
2330         https://bugs.webkit.org/show_bug.cgi?id=66251
2331
2332         Canvas resizing was slow due to re-allocation of the ImageBuffer on
2333         each size change (width or height).  This was introduced inadvertently
2334         by calls to isAccelerated() during canvas reset().  Since we won't 
2335         know if we have successfully accelerated until ImageBuffer creation,
2336         move the compositor invalidation to createImageBuffer() as well.
2337         This patch also attempts to unify the Skia and CG accelerated canvas
2338         paths.  The DrawingBuffer used by the Skia path is now owned by 
2339         ImageBuffer[Skia], similar to how the IOSurface is owned by
2340         ImageBuffer[CG].  Some of the logic for when to accelerate was moved
2341         into HTMLCanvasElement and unified with the CG path.  Acceleration is
2342         also now enabled by the same "Accelerated" ImageBuffer create flag
2343         used by the CG path.  DrawingBuffer is now re-created even for a 
2344         same-size change (same as the memory buffer), but we speed it up
2345         by calling GraphicsContext3D::texImage2D() with a NULL pixels ptr
2346         instead of GraphicsContext3D::teximage2DResourceSafe() (no need to
2347         clear it, since it's done with a glClear anyway).
2348
2349         Reviewed by Kenneth Russell.
2350
2351         Covered by existing tests in fast/canvas and canvas/philip.
2352
2353         * html/HTMLCanvasElement.cpp:
2354         (WebCore::HTMLCanvasElement::reset):
2355         Don't call isAccelerated() from reset(), since we don't want to
2356         inadvertently create the ImageBuffer.  Also, since we won't know if
2357         we have successfully accelerated until createImageBuffer() is
2358         called, defer the compositor invalidation to createImageBuffer() as
2359         well.
2360         (WebCore::HTMLCanvasElement::shouldAccelerate):
2361         Unify the CG and Skia ports' logic for when to accelerate (Skia
2362         logic moved in from CanvasRenderingContext2D).
2363         (WebCore::HTMLCanvasElement::createImageBuffer):
2364         Use the unified shouldAccelerate() logic, and pass it as a flag
2365         to ImageBuffer.  Do compositor invalidation as well.
2366         * html/HTMLCanvasElement.h:
2367         (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):
2368         Expose hasCreatedImageBuffer() publically, so
2369         CanvasRenderingContext2D::isAccelerated() doesn't inadvertently create
2370         it.
2371         * html/canvas/CanvasRenderingContext2D.cpp:
2372         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2373         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
2374         Remove all acceleration setting and resetting, since it's now done
2375         during ImageBuffer creation.
2376         (WebCore::CanvasRenderingContext2D::isAccelerated):
2377         Check if the image buffer was created, so we don't inadvertently
2378         create it here.
2379         (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
2380         Don't call GraphicsContext3D::paintsIntoCanvasBuffer(), since its
2381         WebViewImpl may be null.  Ask the render tree instead.
2382         (WebCore::CanvasRenderingContext2D::reset):
2383         Don't reset acceleration here, since we don't own it anymore.
2384         (WebCore::CanvasRenderingContext2D::platformLayer):
2385         Call into the ImageBuffer to get our PlatformLayer.
2386         * html/canvas/CanvasRenderingContext2D.h:
2387         Remove m_drawingBuffer, and all acceleration-related calls.
2388         * platform/graphics/GraphicsContext.cpp:
2389         * platform/graphics/GraphicsContext.h:
2390         Remove setGraphicsContext3D(), and paintsIntoImageBuffer().
2391         * platform/graphics/ImageBuffer.cpp:
2392         (WebCore::ImageBuffer::platformLayer):
2393         Implement a dummy platformLayer() call for non-skia ports.
2394         * platform/graphics/ImageBuffer.h:
2395         Declare a platformLayer() call (USE(ACCELERATED_COMPOSITING) only).
2396         * platform/graphics/chromium/ImageBufferDataSkia.h:
2397         Add a DrawingBuffer data member.
2398         * platform/graphics/gpu/DrawingBuffer.cpp:
2399         (WebCore::DrawingBuffer::reset):
2400         Use texImage2D() with a NULL ptr, not texImage2DResourceSafe().
2401         Since we immediately clear the framebuffer via glClear(), this whole
2402         resource safe business is overkill.
2403         * platform/graphics/skia/GraphicsContextSkia.cpp:
2404         Remove setGraphicsContext3D() and paintsIntoImageBuffer().  This
2405         functionality is handled by ImageBuffer now.
2406         * platform/graphics/skia/ImageBufferSkia.cpp:
2407         (WebCore::ImageBuffer::ImageBuffer):
2408         Give the ImageBufferData ownership of the DrawingBuffer.
2409         (WebCore::ImageBuffer::platformLayer):
2410         Implement an accessor for the DrawingBuffer's PlatformLayer.
2411         * platform/graphics/skia/PlatformContextSkia.cpp:
2412         (WebCore::PlatformContextSkia::setGraphicsContext3D):
2413         * platform/graphics/skia/PlatformContextSkia.h:
2414         Remove isPathSkiaSafe() extern (unused).
2415         Remove paintsIntoImageBuffer() (now unused).  Remove IntSize param
2416         from setGraphicsContext3D() (unused).
2417
2418 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2419
2420         Unreviewed Chromium Windows build fix after r93140. Take 3.
2421         Include the proper includes!
2422
2423         * platform/graphics/FontCache.h:
2424
2425 2011-08-16  Mihnea Ovidenie  <mihnea@adobe.com>
2426
2427         Unmatrix algorithm implementation is wrong
2428         https://bugs.webkit.org/show_bug.cgi?id=66080
2429
2430         Reviewed by Dean Jackson.
2431
2432         Current version of the algorithm negates only the scaleX while
2433         it should negate also scaleY and scaleZ when appropriate.
2434
2435         Test: animations/animation-matrix-negative-scale-unmatrix.html
2436
2437         * platform/graphics/transforms/TransformationMatrix.cpp:
2438         (WebCore::decompose):
2439
2440 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2441
2442         Unreviewed Chromium Windows build fix after r93140.
2443
2444         This just makes the troublesome enum public. If this
2445         fixes the build I will file a follow-up bug to clean-up
2446         these build issues and either keep the enum public and
2447         cleanup other functions or restore the enum to private.
2448         There is no harm in making the enum public right now.
2449
2450         * platform/graphics/FontCache.h:
2451
2452 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2453
2454         Unreviewed Chromium Windows build fix after r93140.
2455
2456         * platform/graphics/FontCache.h:
2457
2458 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2459
2460         Unreviewed Windows and Chromium Windows build fix after r93140.
2461
2462         * platform/graphics/FontCache.h:
2463         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2464         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
2465         (WebCore::getLastResortFallbackFontProc):
2466         (WebCore::FontCache::getLastResortFallbackFont):
2467         * platform/graphics/win/FontCacheWin.cpp:
2468         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
2469         (WebCore::FontCache::getLastResortFallbackFont):
2470
2471 2011-08-16  Adam Roben  <aroben@apple.com>
2472
2473         Make placeholder text remain visible until a character is typed on Windows
2474
2475         Fixes <http://webkit.org/b/66319> Placeholder text in text fields disappears when the field
2476         is focused on Windows, which doesn't match Lion or Windows native text fields
2477
2478         Covered by existing tests (which are currently failing on the bots until this patch lands).
2479
2480         Reviewed by Dave Hyatt.
2481
2482         * rendering/RenderThemeSafari.h:
2483         (WebCore::RenderThemeSafari::shouldShowPlaceholderWhenFocused):
2484         * rendering/RenderThemeWin.h:
2485         (WebCore::RenderThemeWin::shouldShowPlaceholderWhenFocused):
2486         Added overrides to return true.
2487
2488 2011-08-16  David Hyatt  <hyatt@apple.com>
2489
2490         https://bugs.webkit.org/show_bug.cgi?id=66254
2491
2492         Make region invalidation and repainting work properly. We do this by making RenderFlowThreads into
2493         repaint containers and then issuing new repaints in the regions that contain the invalidated flow thread
2494         content.
2495
2496         Reviewed by Simon Fraser.
2497
2498         Added new tests in fast/repaint.
2499
2500         * rendering/RenderFlowThread.cpp:
2501         (WebCore::RenderFlowThread::repaintRectangleInRegions):
2502         * rendering/RenderFlowThread.h:
2503         * rendering/RenderObject.cpp:
2504         (WebCore::RenderObject::enclosingRenderFlowThread):
2505         (WebCore::RenderObject::containerForRepaint):
2506         (WebCore::RenderObject::repaintUsingContainer):
2507         * rendering/RenderObject.h:
2508         * rendering/RenderView.cpp:
2509         (WebCore::RenderView::RenderView):
2510         (WebCore::RenderView::renderFlowThreadWithName):
2511         * rendering/RenderView.h:
2512         (WebCore::RenderView::hasRenderFlowThreads):
2513
2514 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2515
2516         Abandoned Memory: Temporary CSS Fonts May Never Be Purged
2517         https://bugs.webkit.org/show_bug.cgi?id=66153
2518
2519         Reviewed by Dan Bernstein.
2520
2521         While a remote CSS font face is loading we fallback to a
2522         temporary font. We don't want to retain the fallback font
2523         because noone takes ownership of the temporary font. This
2524         patch adds a way to get an uncached fallback font, which
2525         plumbs the ShouldRetain enum through the different platform
2526         implementations of getLastResortFallbackFont.
2527
2528         No new tests, no functional change.
2529
2530         * css/CSSFontFaceSource.cpp:
2531         (WebCore::CSSFontFaceSource::getFontData):
2532         * platform/graphics/FontCache.cpp:
2533         (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
2534         * platform/graphics/FontCache.h:
2535         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2536         (WebCore::fontDataFromDescriptionAndLogFont):
2537         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
2538         (WebCore::getLastResortFallbackFontProc):
2539         (WebCore::FontCache::getLastResortFallbackFont):
2540         * platform/graphics/chromium/FontCacheLinux.cpp:
2541         (WebCore::FontCache::getLastResortFallbackFont):
2542         * platform/graphics/freetype/FontCacheFreeType.cpp:
2543         (WebCore::FontCache::getLastResortFallbackFont):
2544         * platform/graphics/haiku/FontCacheHaiku.cpp:
2545         (WebCore::FontCache::getLastResortFallbackFont):
2546         * platform/graphics/mac/FontCacheMac.mm:
2547         (WebCore::FontCache::getLastResortFallbackFont):
2548         * platform/graphics/pango/FontCachePango.cpp:
2549         (WebCore::FontCache::getLastResortFallbackFont):
2550         * platform/graphics/qt/FontCacheQt.cpp:
2551         (WebCore::FontCache::getLastResortFallbackFont):
2552         * platform/graphics/win/FontCacheWin.cpp:
2553         (WebCore::fontDataFromDescriptionAndLogFont):
2554         (WebCore::FontCache::getLastResortFallbackFont):
2555         * platform/graphics/wince/FontCacheWinCE.cpp:
2556         * platform/graphics/wx/FontCacheWx.cpp:
2557         (WebCore::FontCache::getLastResortFallbackFont):
2558
2559 2011-08-16  Alexei Svitkine  <asvitkine@chromium.org>
2560
2561         Chromium Mac: Rubber banding gutter drawing
2562         https://bugs.webkit.org/show_bug.cgi?id=66226
2563
2564         Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
2565         draw the overhang areas.
2566         Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
2567         Add a different implementation for Chromium Mac.
2568
2569         Reviewed by Dimitri Glazkov.
2570
2571         No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
2572
2573         * platform/ScrollView.cpp:
2574         (WebCore::ScrollView::wheelEvent):
2575         * platform/ScrollbarTheme.h:
2576         (WebCore::ScrollbarTheme::paintOverhangAreas):
2577         * platform/ScrollbarThemeComposite.cpp:
2578         (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
2579         * platform/ScrollbarThemeComposite.h:
2580         * platform/chromium/ScrollbarThemeChromiumMac.h:
2581         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2582         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2583         (WebCore::scrollbarStateToThemeState):
2584         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
2585         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
2586
2587 2011-08-12  Wyatt Carss  <wcarss@chromium.org>
2588
2589         Programmatically set selection should not have direction on Mac
2590         https://bugs.webkit.org/show_bug.cgi?id=60529
2591
2592         Reviewed by Ryosuke Niwa.
2593
2594         Modified default value of VisibleSelection->m_isDirectional from 'true'
2595         to 'false' by adding a defaulted argument to several VisibleSelection 
2596         constructors to make programmatic selection be directionless by default 
2597         on Mac. Also modified several calls to VisibleSelection's constructors
2598         to correctly preserve directionality.
2599         
2600         Near the end of FrameSelection::modify (presently FrameSelection.cpp:869)
2601         a call to setExtent triggers an editing delegate that uses the
2602         FrameSelection. The direction here should have been preserved from before,
2603         but setIsDirectional was not called until after FrameSelection.cpp:869. It
2604         has been moved up to make things behave.
2605
2606         * WebCore.exp.in:
2607         * editing/ApplyBlockElementCommand.cpp:
2608         (WebCore::ApplyBlockElementCommand::doApply):
2609         (WebCore::ApplyBlockElementCommand::formatSelection):
2610         * editing/ApplyStyleCommand.cpp:
2611         (WebCore::ApplyStyleCommand::updateStartEnd):
2612         * editing/BreakBlockquoteCommand.cpp:
2613         (WebCore::BreakBlockquoteCommand::doApply):
2614         * editing/CompositeEditCommand.cpp:
2615         (WebCore::CompositeEditCommand::moveParagraphWithClones):
2616         (WebCore::CompositeEditCommand::moveParagraphs):
2617         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
2618         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2619         * editing/CreateLinkCommand.cpp:
2620         (WebCore::CreateLinkCommand::doApply):
2621         * editing/DeleteSelectionCommand.cpp:
2622         (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
2623         (WebCore::DeleteSelectionCommand::doApply):
2624         * editing/Editor.cpp:
2625         (WebCore::Editor::selectionForCommand):
2626         * editing/FrameSelection.cpp:
2627         (WebCore::shouldAlwaysUseDirectionalSelection):
2628         (WebCore::FrameSelection::FrameSelection):
2629         (WebCore::FrameSelection::moveTo):
2630         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
2631         (WebCore::FrameSelection::modify):
2632         (WebCore::FrameSelection::setBase):
2633         (WebCore::FrameSelection::setExtent):
2634         * editing/FrameSelection.h:
2635         * editing/InsertLineBreakCommand.cpp:
2636         (WebCore::InsertLineBreakCommand::doApply):
2637         * editing/InsertListCommand.cpp:
2638         (WebCore::InsertListCommand::doApply):
2639         * editing/InsertParagraphSeparatorCommand.cpp:
2640         (WebCore::InsertParagraphSeparatorCommand::doApply):
2641         * editing/InsertTextCommand.cpp:
2642         (WebCore::InsertTextCommand::performTrivialReplace):
2643         (WebCore::InsertTextCommand::doApply):
2644         * editing/MoveSelectionCommand.cpp:
2645         (WebCore::MoveSelectionCommand::doApply):
2646         * editing/ReplaceSelectionCommand.cpp:
2647         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
2648         * editing/TypingCommand.cpp:
2649         (WebCore::TypingCommand::makeEditableRootEmpty):
2650         (WebCore::TypingCommand::deleteKeyPressed):
2651         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2652         * editing/VisibleSelection.cpp:
2653         (WebCore::VisibleSelection::VisibleSelection):
2654         * editing/VisibleSelection.h:
2655         * page/EventHandler.cpp:
2656         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
2657         (WebCore::EventHandler::updateSelectionForMouseDrag):
2658
2659 2011-08-16  Jeffrey Pfau  <jpfau@apple.com>
2660
2661         New XML parser: Add document fragment parser
2662         https://bugs.webkit.org/show_bug.cgi?id=66317
2663
2664         Reviewed by Adam Barth.
2665
2666         * dom/DocumentFragment.cpp:
2667         (WebCore::DocumentFragment::parseXML):
2668         * xml/parser/NewXMLDocumentParser.cpp:
2669         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
2670         (WebCore::NewXMLDocumentParser::parseDocumentFragment):
2671         * xml/parser/NewXMLDocumentParser.h:
2672         (WebCore::NewXMLDocumentParser::create):
2673         * xml/parser/XMLTokenizer.h:
2674         * xml/parser/XMLTreeBuilder.cpp:
2675         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
2676         (WebCore::XMLTreeBuilder::pushCurrentNode):
2677         * xml/parser/XMLTreeBuilder.h:
2678         (WebCore::XMLTreeBuilder::create):
2679         (WebCore::XMLTreeBuilder::NodeStackItem::node):
2680
2681 2011-08-16  Jeffrey Pfau  <jpfau@apple.com>
2682
2683         New XML parser: Replace assertions regarding character data in the prolog with proper checks
2684         https://bugs.webkit.org/show_bug.cgi?id=66269
2685
2686         Reviewed by Adam Barth.
2687
2688         This patch checks for character data in the prolog (which is illegal in XML) and discards it, instead of failing an assertion.
2689
2690         * xml/parser/XMLTreeBuilder.cpp:
2691         (WebCore::XMLTreeBuilder::processProcessingInstruction):
2692         (WebCore::XMLTreeBuilder::processXMLDeclaration):
2693         (WebCore::XMLTreeBuilder::processDOCTYPE):
2694         (WebCore::XMLTreeBuilder::enterText):
2695         (WebCore::XMLTreeBuilder::failOnText):
2696         * xml/parser/XMLTreeBuilder.h:
2697
2698 2011-08-16  Alexander Pavlov  <apavlov@chromium.org>
2699
2700         Web Inspector: word wrap long edits
2701         https://bugs.webkit.org/show_bug.cgi?id=65512
2702
2703         Reviewed by Pavel Feldman.
2704
2705         * inspector/front-end/inspector.css:
2706         (.styles-section .properties li.child-editing):
2707
2708 2011-08-16  Pavel Feldman  <pfeldman@google.com>
2709
2710         Web Inspector: convert DOM breakpoint types to strings.
2711         https://bugs.webkit.org/show_bug.cgi?id=66304
2712
2713         Reviewed by Yury Semikhatsky.
2714
2715         * inspector/Inspector.json:
2716         * inspector/InspectorDOMDebuggerAgent.cpp:
2717         (WebCore::domTypeForName):
2718         (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
2719         (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
2720         * inspector/InspectorDOMDebuggerAgent.h:
2721         * inspector/front-end/DOMBreakpointsSidebarPane.js:
2722         (WebInspector.DOMBreakpointsSidebarPane):
2723
2724 2011-08-16  Pavel Feldman  <pfeldman@google.com>
2725
2726         Web Inspector: force pseudo element state when checking it in the styles sidebar.
2727         https://bugs.webkit.org/show_bug.cgi?id=66292
2728
2729         This reverts http://trac.webkit.org/changeset/89132 and introduces InspectorInstrumentation
2730         calls from the CSSStyleSelector for pseudo state processing. These calls are very fast:
2731         they are guarded with the inline checks for the front-end count.
2732
2733         Reviewed by David Hyatt.
2734
2735         * css/CSSStyleSelector.cpp:
2736         (WebCore::CSSStyleSelector::initForStyleResolve):
2737         (WebCore::CSSStyleSelector::styleRulesForElement):
2738         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
2739         (WebCore::CSSStyleSelector::checkSelector):
2740         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2741         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2742         * css/CSSStyleSelector.h:
2743         * inspector/InspectorCSSAgent.cpp:
2744         (WebCore::computePseudoClassMask):
2745         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
2746         (WebCore::InspectorCSSAgent::clearFrontend):
2747         (WebCore::InspectorCSSAgent::forcePseudoState):
2748         (WebCore::InspectorCSSAgent::getStylesForNode):
2749         (WebCore::InspectorCSSAgent::didRemoveDocument):
2750         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
2751         (WebCore::InspectorCSSAgent::clearPseudoState):
2752         * inspector/InspectorCSSAgent.h:
2753         * inspector/InspectorController.cpp:
2754         (WebCore::InspectorController::disconnectFrontend):
2755         * inspector/InspectorInstrumentation.cpp:
2756         (WebCore::InspectorInstrumentation::forcePseudoStateImpl):
2757         * inspector/InspectorInstrumentation.h:
2758         (WebCore::InspectorInstrumentation::forcePseudoState):
2759
2760 2011-08-16  Tony Chang  <tony@chromium.org>
2761
2762         Unreviewed, rolling out r93114.
2763         http://trac.webkit.org/changeset/93114
2764         https://bugs.webkit.org/show_bug.cgi?id=66226
2765
2766         broke the chromium mac compile
2767
2768         * platform/ScrollView.cpp:
2769         (WebCore::ScrollView::wheelEvent):
2770         * platform/ScrollbarTheme.h:
2771         * platform/ScrollbarThemeComposite.cpp:
2772         * platform/ScrollbarThemeComposite.h:
2773         * platform/chromium/ScrollbarThemeChromiumMac.h:
2774         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2775         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2776         (WebCore::scrollbarStateToThemeState):
2777         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
2778         * platform/mac/ScrollbarThemeMac.h:
2779
2780 2011-08-16  Alexei Svitkine  <asvitkine@chromium.org>
2781
2782         Chromium Mac: Rubber banding gutter drawing
2783         https://bugs.webkit.org/show_bug.cgi?id=66226
2784
2785         Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
2786         draw the overhang areas.
2787         Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
2788         Add a different implementation for Chromium Mac.
2789
2790         Reviewed by Dimitri Glazkov.
2791
2792         No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
2793
2794         * platform/ScrollView.cpp:
2795         (WebCore::ScrollView::wheelEvent):
2796         * platform/ScrollbarTheme.h:
2797         (WebCore::ScrollbarTheme::paintOverhangAreas):
2798         * platform/ScrollbarThemeComposite.cpp:
2799         (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
2800         * platform/ScrollbarThemeComposite.h:
2801         * platform/chromium/ScrollbarThemeChromiumMac.h:
2802         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2803         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2804         (WebCore::scrollbarStateToThemeState):
2805         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
2806         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
2807
2808 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
2809
2810         Support cast between CSSPrimitiveValue and ETransformStyle3D and use in CSSStyleSelector.
2811         https://bugs.webkit.org/show_bug.cgi?id=66273
2812
2813         Reviewed by Simon Fraser.
2814
2815         No new tests - no functionality changed - refactoring only.
2816
2817         * css/CSSPrimitiveValueMappings.h:
2818         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2819         Define cast from CSSPrimitiveValue to ETransformStyle3D.
2820         (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
2821         Define cast from ETransformStyle3D to CSSPrimitiveValue.
2822         * css/CSSStyleSelector.cpp:
2823         (WebCore::CSSStyleSelector::applyProperty):
2824         Use appropriate macro to handle CSSPropertyWebkitTransformStyle.
2825
2826 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
2827
2828         Use appropriate macro to handle CSSPropertyWebkitContentOrder in CSSStyleSelector::applyProperty()
2829         https://bugs.webkit.org/show_bug.cgi?id=66279
2830
2831         Reviewed by Simon Fraser.
2832
2833         No new tests - no functionality changed - simple refactoring only.
2834
2835         * css/CSSStyleSelector.cpp:
2836         (WebCore::CSSStyleSelector::applyProperty):
2837         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to handle CSSPropertyWebkitContentOrder.
2838         This works because PrimitiveValue now supports cast to int.
2839
2840 2011-08-16  Eric Carlson  <eric.carlson@apple.com>
2841
2842         [REGRESSION] Media controls should always be enabled when scripting is disabled
2843         https://bugs.webkit.org/show_bug.cgi?id=66303
2844
2845         Reviewed by Dimitri Glazkov.
2846
2847         Tests: media/video-controls-no-scripting-iframe.html
2848                media/video-controls-no-scripting.html
2849
2850         * html/HTMLMediaElement.cpp:
2851         (WebCore::HTMLMediaElement::attributeChanged): Move the controls enabling/disabling code
2852             to configureMediaControls.
2853         (WebCore::HTMLMediaElement::prepareForLoad): Call configureMediaControls.
2854         (WebCore::HTMLMediaElement::configureMediaControls): New, move code duplicated in 
2855             attributeChanged and preDispatchEventHandler here.
2856         (WebCore::HTMLMediaElement::preDispatchEventHandler): Move the controls enabling/disabling code
2857             to configureMediaControls.
2858         * html/HTMLMediaElement.h:
2859
2860 2011-08-16  Pavel Feldman  <pfeldman@google.com>
2861
2862         Web Inspector: hide non-conservative methods from the protocol documentation.
2863         https://bugs.webkit.org/show_bug.cgi?id=66301
2864
2865         Reviewed by Yury Semikhatsky.
2866
2867         * inspector/Inspector.json:
2868
2869 2011-08-16  Andras Becsi  <abecsi@webkit.org>
2870
2871         Web Inspector: nuke background events collection (dead feature)
2872         https://bugs.webkit.org/show_bug.cgi?id=66296
2873
2874         Fix the GTK build after r93095.
2875
2876         Unreviewed build fix.
2877
2878         No new tests neede.
2879
2880         * GNUmakefile.list.am: Remove nonexistent sources.
2881
2882 2011-08-16  Andras Becsi  <abecsi@webkit.org>
2883
2884         Reviewed by Csaba Osztrogon√°c.
2885
2886         Need AtomicStrings for the various font family names
2887         https://bugs.webkit.org/show_bug.cgi?id=28024
2888
2889         Unify the usage of '-webkit' prefixed font family names by using
2890         global AtomicStrings.
2891         Use a .in file to generate the needed sources through make_names.pl.
2892
2893         No new tests needed.
2894
2895         * CMakeLists.txt:
2896         * CodeGenerators.pri:
2897         * DerivedSources.make:
2898         * GNUmakefile.am:
2899         * GNUmakefile.list.am:
2900         * WebCore.gyp/WebCore.gyp:
2901         * WebCore.gyp/scripts/action_makenames.py:
2902         * WebCore.gypi:
2903         * WebCore.vcproj/WebCore.vcproj:
2904         * WebCore.xcodeproj/project.pbxproj:
2905         * css/CSSComputedStyleDeclaration.cpp:
2906         (WebCore::identifierForFamily):
2907         * css/CSSFontSelector.cpp:
2908         (WebCore::CSSFontSelector::addFontFaceRule):
2909         (WebCore::fontDataForGenericFamily):
2910         * css/CSSStyleSelector.cpp:
2911         (WebCore::CSSStyleSelector::applyProperty):
2912         * css/WebKitFontFamilyNames.in: Added.
2913         * dom/make_names.pl:
2914         * page/Frame.cpp:
2915         (WebCore::Frame::Frame):
2916         * platform/graphics/FontCache.cpp:
2917         (WebCore::FontCache::getFontData):
2918         * platform/graphics/FontDescription.h:
2919         (WebCore::FontDescription::useFixedDefaultSize):
2920
2921 2011-08-16  Pavel Feldman  <pfeldman@google.com>
2922
2923         Web Inspector: nuke background events collection (dead feature)
2924         https://bugs.webkit.org/show_bug.cgi?id=66296
2925
2926         Reviewed by Yury Semikhatsky.
2927
2928         * CMakeLists.txt:
2929         * WebCore.gypi:
2930         * WebCore.pro:
2931         * WebCore.vcproj/WebCore.vcproj:
2932         * WebCore.xcodeproj/project.pbxproj:
2933         * inspector/EventsCollector.cpp: Removed.
2934         * inspector/EventsCollector.h: Removed.
2935         * inspector/Inspector.json:
2936         * inspector/InspectorFrontendProxy.cpp: Removed.
2937         * inspector/InspectorFrontendProxy.h: Removed.
2938         * inspector/InspectorResourceAgent.cpp:
2939         (WebCore::InspectorResourceAgent::setFrontend):
2940         (WebCore::InspectorResourceAgent::clearFrontend):
2941         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
2942         * inspector/InspectorResourceAgent.h:
2943         * inspector/front-end/NetworkPanel.js:
2944         (WebInspector.NetworkLogView):
2945
2946 2011-08-16  Lindsay Mathieson   <lindsay.mathieson@gmail.com>
2947
2948         [Qt] Missing spell check support
2949         https://bugs.webkit.org/show_bug.cgi?id=44114
2950
2951         Reviewed by Benjamin Poulain.
2952
2953         Add drawErrorUnderline() from Cairo to render the line for text checking on the Qt port.
2954
2955         * platform/graphics/qt/GraphicsContextQt.cpp:
2956         (WebCore::drawErrorUnderline):
2957         (WebCore::GraphicsContext::drawLineForTextChecking):
2958
2959 2011-08-15  MORITA Hajime  <morrita@google.com>
2960
2961         REGRESSION(r70598): [Chromium] Style changes in textInput event can prevent from updating <textarea> value.
2962         https://bugs.webkit.org/show_bug.cgi?id=66216
2963
2964         Reviewed by Ryosuke Niwa.
2965
2966         Element::spellcheckAttributeState() uses Element::hasAttribute(),
2967         which calls updateStyleAttribute(), which potentially makes style
2968         dirty. But that is problematic since Editor calls spellcheckAttributeState()
2969         during the spell-checking phase and make the style dirty,
2970         which can trigger re-layout, which wipes the shadow tree of a textarea
2971         out by pre-committed "value" text.
2972
2973         This change removes the hasAttribute() call from
2974         spellcheckAttributeState().
2975
2976         Test: editing/input/style-change-during-input.html
2977
2978         * dom/Element.cpp:
2979         (WebCore::Element::spellcheckAttributeState):
2980
2981 2011-08-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2982
2983         [CMAKE] Wrap files of websocket and worker in each macro.
2984         https://bugs.webkit.org/show_bug.cgi?id=65012
2985
2986         Move files of web socket and workers into each macro block in CMakeList.txt.
2987         And, header files related to WORKER and SHARED_WORKER are wrapped by macro in cpp files.
2988
2989         Reviewed by Daniel Bates.
2990
2991         * CMakeLists.txt:
2992         * UseJSC.cmake:
2993         * bindings/js/JSDOMWindowCustom.cpp:
2994         * bindings/js/JSWorkerContextBase.cpp:
2995         * bindings/js/ScriptState.cpp:
2996         * bindings/js/WorkerScriptController.cpp:
2997
2998 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
2999
3000         New XML parser: add xml namespace to the default map of namespaces
3001         https://bugs.webkit.org/show_bug.cgi?id=66266
3002
3003         Reviewed by Adam Barth.
3004
3005         * xml/parser/XMLTreeBuilder.cpp:
3006         (WebCore::XMLTreeBuilder::NodeStackItem::NodeStackItem):
3007
3008 2011-08-15  Hayato Ito  <hayato@chromium.org>
3009
3010         Fix crash when mouse moves from <summary> element to parent <details> element.
3011         https://bugs.webkit.org/show_bug.cgi?id=66210
3012
3013         Reviewed by Dimitri Glazkov.
3014
3015         This is a regression caused by r92922, which wrongly assumes that
3016         a shadow host always has a shadow root as an immediate child in
3017         ancestors chain. This assumption does not apply to <details>
3018         element. <details> element is implemented as a shadow host, but
3019         may have a <summary> element as an immediate child element in
3020         ancestors chain.
3021
3022         Test: fast/dom/shadow/details-summary-mouseover.html
3023
3024         * dom/EventDispatcher.cpp:
3025         (WebCore::EventDispatcher::adjustToShadowBoundaries):
3026
3027 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
3028
3029         New XML parser: Use xmlnsAtom instead of redundant xmlnsPrefix
3030         https://bugs.webkit.org/show_bug.cgi?id=66264
3031
3032         Reviewed by Adam Barth.
3033
3034         * xml/parser/XMLTreeBuilder.cpp:
3035         (WebCore::XMLTreeBuilder::processNamespaces):
3036         (WebCore::XMLTreeBuilder::processAttributes):
3037
3038 2011-08-15  Emil A Eklund  <eae@chromium.org>
3039
3040         Switch Element/Node to to new layout types
3041         https://bugs.webkit.org/show_bug.cgi?id=66260
3042
3043         Reviewed by Eric Seidel.
3044
3045         Convert Element, Node, ElementRareData and ContainerNode to new layout
3046         abstraction as a part of the ongoing conversion work.
3047
3048         No new tests, no new functionality.
3049
3050         * dom/ContainerNode.cpp:
3051         (WebCore::ContainerNode::getLowerRightCorner):
3052         (WebCore::ContainerNode::getRect):
3053         * dom/ContainerNode.h:
3054         * dom/Element.cpp:
3055         (WebCore::Element::scrollIntoView):
3056         (WebCore::Element::scrollIntoViewIfNeeded):
3057         (WebCore::adjustForLocalZoom):
3058         (WebCore::Element::boundsInWindowSpace):
3059         (WebCore::Element::getClientRects):
3060         (WebCore::Element::getBoundingClientRect):
3061         (WebCore::Element::screenRect):
3062         (WebCore::Element::minimumSizeForResizing):
3063         (WebCore::Element::setMinimumSizeForResizing):
3064         * dom/Element.h:
3065         * dom/ElementRareData.h:
3066         * dom/Node.cpp:
3067         (WebCore::Node::getRect):
3068         (WebCore::Node::renderRect):
3069         (WebCore::Node::hasNonEmptyBoundingBox):
3070         * dom/Node.h:
3071
3072 2011-08-15  Alexey Proskuryakov  <ap@apple.com>
3073
3074         Regional indicator symbols that are combined should behave as a single character when editing
3075         https://bugs.webkit.org/show_bug.cgi?id=65395
3076
3077         Reviewed by Dan Bernstein.
3078
3079         Part one: make backspace work.
3080
3081         Test: editing/deleting/regional-indicators.html
3082
3083         * rendering/RenderText.cpp:
3084         (WebCore::isRegionalIndicator):
3085         (WebCore::RenderText::previousOffsetForBackwardDeletion): Added a special case for regional
3086         indicator symbols.
3087
3088 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
3089
3090         New XML parser: Re-entering a character node should not clobber the buffered characters
3091         https://bugs.webkit.org/show_bug.cgi?id=66257
3092
3093         Reviewed by Adam Barth.
3094
3095         * xml/parser/XMLTreeBuilder.cpp:
3096         (WebCore::XMLTreeBuilder::enterText):
3097
3098 2011-08-15  Dmitry Titov  <dimich@chromium.org>
3099
3100         FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
3101         https://bugs.webkit.org/show_bug.cgi?id=66165
3102
3103         Reviewed by Darin Fisher.
3104
3105         No new tests since no change in behavior.
3106         The original issue is only reproducible on Chromium in multi-process mode
3107         and is tested there by a browsertest.
3108
3109         * loader/DocumentLoader.cpp:
3110         (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
3111         Passing ResourceLoader* into the FrameLoaderClient notification.
3112         Also, fixed the bug where the same ResourceRequest was passed for all subresources.
3113         * loader/EmptyClients.h:
3114         (WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
3115         * loader/FrameLoader.cpp:
3116         (WebCore::FrameLoader::dispatchTransferLoadingResourceFromPage):
3117         * loader/FrameLoader.h:
3118         * loader/FrameLoaderClient.h:
3119         * loader/ResourceLoadNotifier.cpp:
3120         (WebCore::ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage):
3121         * loader/ResourceLoadNotifier.h:
3122         * loader/ResourceLoader.cpp:
3123         (WebCore::ResourceLoader::init):
3124         * loader/ResourceLoader.h:
3125         (WebCore::ResourceLoader::originalRequest): Added the originalRequest() accessor that
3126         returns the request as it existed before redirects (but after client's will SendRequest).
3127         This is to be able to pass the original request for loading subresources into
3128         FrameLoaderClient::transferLoadingResourceFromPage, since that one is used to invoke
3129         assignIdentifierToInitialRequest, which needs original request.
3130
3131 2011-08-15  Mark Hahnenberg  <mhahnenberg@apple.com>
3132
3133         Refactor JS objects to allocate in static create methods rather than constructors
3134         https://bugs.webkit.org/show_bug.cgi?id=65347
3135
3136         Reviewed by Geoffrey Garen.
3137
3138         No new tests.
3139
3140         Removed all calls to deprecatedGetDOMObject from initialization lists as part of a 
3141         larger refactoring to get rid of all allocation during initialization.
3142
3143         * bindings/js/JSDOMBinding.h:
3144         * bridge/c/CRuntimeObject.cpp:
3145         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
3146         * bridge/c/CRuntimeObject.h:
3147         (JSC::Bindings::CRuntimeObject::create):
3148         * bridge/c/c_instance.cpp:
3149         (JSC::Bindings::CRuntimeMethod::create):
3150         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
3151         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3152         (JavaRuntimeMethod::create):
3153         (JavaRuntimeMethod::JavaRuntimeMethod):
3154         * bridge/jni/jsc/JavaRuntimeObject.cpp:
3155         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
3156         * bridge/jni/jsc/JavaRuntimeObject.h:
3157         (JSC::Bindings::JavaRuntimeObject::create):
3158         * bridge/objc/objc_runtime.h:
3159         (JSC::Bindings::ObjcFallbackObjectImp::create):
3160         * bridge/objc/objc_runtime.mm:
3161         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
3162         * bridge/qt/qt_instance.cpp:
3163         (JSC::Bindings::QtRuntimeObject::create):
3164         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
3165         * bridge/qt/qt_pixmapruntime.cpp:
3166         (JSC::Bindings::QtPixmapRuntimeObject::create):
3167         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
3168         * bridge/qt/qt_runtime.cpp:
3169         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3170         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3171         (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
3172         * bridge/qt/qt_runtime.h:
3173         (JSC::Bindings::QtRuntimeMetaMethod::create):
3174         (JSC::Bindings::QtRuntimeConnectionMethod::create):
3175         * bridge/runtime_array.cpp:
3176         (JSC::RuntimeArray::RuntimeArray):
3177         * bridge/runtime_array.h:
3178         (JSC::RuntimeArray::create):
3179         * bridge/runtime_object.cpp:
3180
3181 2011-08-15  Adam Roben  <aroben@apple.com>
3182
3183         Update pages' style and content scale when the window's backing scale factor changes
3184
3185         Unfortunately, I couldn't think of a way to test this in an automated fashion.
3186
3187         Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
3188         scale factor changes
3189
3190         Reviewed by Simon Fraser.
3191
3192         * WebCore.exp.in: Export Frame::deviceOrScaleFactorChanged.
3193
3194         * page/Frame.cpp:
3195         (WebCore::Frame::deviceScaleFactorChanged):
3196         * page/Frame.h:
3197         Added this new function. We recalc style so that, e.g., device-scale-factor-dependent media
3198         queries will be reevaluated, and we tell compositing layers about the new scale factor so
3199         they can rerender at the new resolution.
3200
3201 2011-08-15  Cary Clark  <caryclark@google.com>
3202
3203         Revise Skia on Chrome Mac to return fallback fonts.
3204         https://bugs.webkit.org/show_bug.cgi?id=62986
3205
3206         Reviewed by Darin Fisher.
3207
3208         Since Skia on Chrome Mac uses CoreText to determine
3209         text metrics, CG font architecture is used to return
3210         fallback fonts.
3211
3212         This improves many existing layout tests, including
3213         justify-ideograph-simple and t0905-c414-flt-04-c 
3214
3215         * platform/graphics/skia/FontSkia.cpp:
3216         (WebCore::Font::canReturnFallbackFontsForComplexText):
3217
3218 2011-08-15  Aaron Boodman  <aa@chromium.org>
3219
3220         Pass additional details to client in didCreateIsolatedContext
3221         https://bugs.webkit.org/show_bug.cgi?id=66037
3222
3223         Reviewed by Darin Fisher.
3224
3225         * bindings/v8/IsolatedWorld.cpp:
3226         (WebCore::IsolatedWorld::IsolatedWorld):
3227         * bindings/v8/IsolatedWorld.h:
3228         (WebCore::IsolatedWorld::create):
3229         (WebCore::IsolatedWorld::id):
3230         * bindings/v8/V8IsolatedContext.cpp:
3231         (WebCore::V8IsolatedContext::V8IsolatedContext):
3232         * bindings/v8/V8IsolatedContext.h:
3233         * bindings/v8/V8Proxy.cpp:
3234         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3235         * loader/EmptyClients.h:
3236         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
3237         * loader/FrameLoaderClient.h:
3238
3239 2011-08-15  Chris Rogers  <crogers@google.com>
3240
3241         Add shell implementation for Web Audio API's MediaElementAudioSourceNode
3242         https://bugs.webkit.org/show_bug.cgi?id=66175
3243
3244         Reviewed by Kenneth Russell.
3245
3246         Test: webaudio/mediaelementaudiosourcenode.html
3247
3248         * DerivedSources.make:
3249         * WebCore.gypi:
3250         * WebCore.xcodeproj/project.pbxproj:
3251         * html/HTMLMediaElement.idl:
3252         * webaudio/AudioContext.cpp:
3253         (WebCore::AudioContext::createMediaElementSource):
3254         * webaudio/AudioContext.h:
3255         * webaudio/AudioContext.idl:
3256         * webaudio/AudioNode.h:
3257         * webaudio/MediaElementAudioSourceNode.cpp: Added.
3258         (WebCore::MediaElementAudioSourceNode::create):
3259         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
3260         (WebCore::MediaElementAudioSourceNode::process):
3261         (WebCore::MediaElementAudioSourceNode::reset):
3262         * webaudio/MediaElementAudioSourceNode.h: Added.
3263         (WebCore::MediaElementAudioSourceNode::mediaElement):
3264         * webaudio/MediaElementAudioSourceNode.idl: Added.
3265
3266 2011-08-15  Emil A Eklund  <eae@chromium.org>
3267
3268         Switch mouse events to to new layout types
3269         https://bugs.webkit.org/show_bug.cgi?id=66179
3270
3271         Reviewed by Eric Seidel.
3272
3273         Convert mouse events to new layout abstraction as a part of the ongoing
3274         conversion work.
3275
3276         No new tests, no new functionality.
3277
3278         * dom/MouseRelatedEvent.cpp:
3279         (WebCore::contentsScrollOffset):
3280         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3281         (WebCore::MouseRelatedEvent::initCoordinates):
3282         (WebCore::MouseRelatedEvent::computePageLocation):
3283         (WebCore::MouseRelatedEvent::computeRelativePosition):
3284         (WebCore::MouseRelatedEvent::pageLocation):
3285         * dom/MouseRelatedEvent.h:
3286         (WebCore::MouseRelatedEvent::screenLocation):
3287         (WebCore::MouseRelatedEvent::clientLocation):
3288         (WebCore::MouseRelatedEvent::absoluteLocation):
3289         (WebCore::MouseRelatedEvent::setAbsoluteLocation):
3290         * page/EventHandler.cpp:
3291         (WebCore::EventHandler::clear):
3292         (WebCore::EventHandler::handleMousePressEventSingleClick):
3293         (WebCore::selectionExtentRespectingEditingBoundary):
3294         (WebCore::EventHandler::hitTestResultAtPoint):
3295         (WebCore::EventHandler::currentMousePosition):
3296         (WebCore::documentPointForWindowPoint):
3297         (WebCore::EventHandler::handleMousePressEvent):
3298         (WebCore::EventHandler::mouseMoved):
3299         (WebCore::EventHandler::handleWheelEvent):
3300         (WebCore::EventHandler::sendContextMenuEvent):
3301         (WebCore::EventHandler::sendContextMenuEventForKey):
3302         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
3303         (WebCore::EventHandler::dragHysteresisExceeded):
3304         (WebCore::EventHandler::handleDrag):
3305         (WebCore::EventHandler::handleTouchEvent):
3306         * page/EventHandler.h:
3307         * platform/PlatformMouseEvent.h:
3308         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3309         (WebCore::PlatformMouseEvent::pos):
3310         (WebCore::PlatformMouseEvent::x):
3311         (WebCore::PlatformMouseEvent::y):
3312         (WebCore::PlatformMouseEvent::globalX):
3313         (WebCore::PlatformMouseEvent::globalY):
3314         * platform/mac/PlatformMouseEventMac.mm:
3315         (WebCore::globalPoint):
3316         (WebCore::pointForEvent):
3317         (WebCore::globalPointForEvent):
3318
3319 2011-08-15  Ryosuke Niwa  <rniwa@webkit.org>
3320
3321         webkit-indent-blockquote is unnecessary
3322         https://bugs.webkit.org/show_bug.cgi?id=66195
3323
3324         Reviewed by Tony Chang.
3325
3326         Stop adding class="webkit-indent-blockquote" on blockquotes created by execCommand('Indent') and
3327         execCommand('Outdent'). Also removed the code to add the class attribute in ApplyBlockElementCommand
3328         since no other class inherited from ApplyBlockElementCommand uses this feature.
3329
3330         * editing/ApplyBlockElementCommand.cpp:
3331         (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand):
3332         (WebCore::ApplyBlockElementCommand::createBlockElement):
3333         * editing/ApplyBlockElementCommand.h:
3334         * editing/IndentOutdentCommand.cpp:
3335         (WebCore::IndentOutdentCommand::IndentOutdentCommand):
3336
3337 2011-08-15  Levi Weintraub  <leviw@chromium.org>
3338
3339         Switch remaining SVG Rendering methods to LayoutUnits
3340         https://bugs.webkit.org/show_bug.cgi?id=66169
3341
3342         Reviewed by Eric Seidel.
3343
3344         Changing remaining integer SVG methods to use the LayoutUnits abstraction.
3345
3346         No tests as no change in functionality.
3347
3348         * rendering/svg/RenderSVGBlock.cpp:
3349         (WebCore::RenderSVGBlock::visualOverflowRect):
3350         * rendering/svg/RenderSVGBlock.h:
3351         * rendering/svg/RenderSVGContainer.cpp:
3352         (WebCore::RenderSVGContainer::paint):
3353         * rendering/svg/RenderSVGForeignObject.cpp:
3354         (WebCore::RenderSVGForeignObject::paint):
3355         (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
3356         (WebCore::RenderSVGForeignObject::computeRectForRepaint):
3357         * rendering/svg/RenderSVGHiddenContainer.cpp:
3358         (WebCore::RenderSVGHiddenContainer::paint):
3359         * rendering/svg/RenderSVGImage.cpp:
3360         (WebCore::RenderSVGImage::paint):
3361         * rendering/svg/RenderSVGInlineText.cpp:
3362         (WebCore::RenderSVGInlineText::linesBoundingBox):
3363         * rendering/svg/RenderSVGInlineText.h:
3364         * rendering/svg/RenderSVGModelObject.cpp:
3365         (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
3366         * rendering/svg/RenderSVGPath.cpp:
3367         (WebCore::RenderSVGPath::paint):
3368         * rendering/svg/RenderSVGRoot.cpp:
3369         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
3370         (WebCore::RenderSVGRoot::parentOriginToBorderBox):
3371         (WebCore::RenderSVGRoot::borderOriginToContentBox):
3372         (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
3373         (WebCore::RenderSVGRoot::localToParentTransform):
3374         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
3375         (WebCore::RenderSVGRoot::computeRectForRepaint):
3376         * rendering/svg/RenderSVGRoot.h:
3377         * rendering/svg/RenderSVGText.cpp:
3378         (WebCore::RenderSVGText::paint):
3379         * rendering/svg/SVGInlineFlowBox.cpp:
3380         (WebCore::SVGInlineFlowBox::paint):
3381         * rendering/svg/SVGInlineTextBox.cpp:
3382         (WebCore::SVGInlineTextBox::paint):
3383         * rendering/svg/SVGRenderSupport.cpp:
3384         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
3385         (WebCore::SVGRenderSupport::computeRectForRepaint):
3386         * rendering/svg/SVGRenderSupport.h:
3387         * rendering/svg/SVGRootInlineBox.cpp:
3388         (WebCore::SVGRootInlineBox::paint):
3389         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
3390         (WebCore::SVGRootInlineBox::layoutChildBoxes):
3391         (WebCore::SVGRootInlineBox::layoutRootBox):
3392         (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
3393         * rendering/svg/SVGRootInlineBox.h:
3394
3395 2011-08-12  Jeff Miller  <jeffm@apple.com>
3396
3397         MediaPlayerPrivateAVFoundationCF::playerItemStatus() should return MediaPlayerAVPlayerItemStatusDoesNotExist if there is no AVPlayerItem
3398         https://bugs.webkit.org/show_bug.cgi?id=66171
3399         
3400         MediaPlayerPrivateAVFoundationCF::playerItemStatus() should return MediaPlayerAVPlayerItemStatusDoesNotExist if there is no AVPlayerItem
3401         to match the Mac implementation in MediaPlayerPrivateAVFoundationObjC.  I also added better logging to notificationCallback().
3402
3403         Reviewed by Jon Honeycutt.
3404
3405         No new tests, uses existing media tests.
3406
3407         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
3408         (WebCore::MediaPlayerPrivateAVFoundationCF::playerItemStatus): Return MediaPlayerAVPlayerItemStatusDoesNotExist if no AVPlayerItem.
3409         (WebCore::AVFWrapper::notificationCallback): Log the name of the received notification.
3410
3411 2011-08-15  Adam Roben  <aroben@apple.com>
3412
3413         Rename an instance of pageScaleFactorChanged I missed in r93040
3414
3415         I tried to make a test for this but failed. It would probably have been easier if we dumped
3416         layers' content scales in layerTreeAsText output.
3417
3418         Followup to <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to
3419         the device scale factor
3420
3421         * platform/graphics/ca/GraphicsLayerCA.cpp:
3422         (WebCore::GraphicsLayerCA::deviceOrPageScaleFactorChanged):
3423         * platform/graphics/ca/GraphicsLayerCA.h:
3424         Renamed from pageScaleFactorChanged to match the base class.
3425
3426 2011-08-15  Pavel Feldman  <pfeldman@google.com>
3427
3428         Web Inspector: [V8] crash upon stepIn while not on pause.
3429         https://bugs.webkit.org/show_bug.cgi?id=66221
3430
3431         Reviewed by Yury Semikhatsky.
3432
3433         * inspector/InspectorDebuggerAgent.cpp:
3434         (WebCore::InspectorDebuggerAgent::resume):
3435         (WebCore::InspectorDebuggerAgent::stepOver):
3436         (WebCore::InspectorDebuggerAgent::stepInto):
3437         (WebCore::InspectorDebuggerAgent::stepOut):
3438         (WebCore::InspectorDebuggerAgent::assertPaused):
3439         * inspector/InspectorDebuggerAgent.h:
3440         * inspector/front-end/ScriptsPanel.js:
3441         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
3442         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
3443         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
3444
3445 2011-08-15  Vsevolod Vlasov  <vsevik@chromium.org>
3446
3447         Web Inspector: Network panel: display the current search match index in the toolbar.
3448         https://bugs.webkit.org/show_bug.cgi?id=66051
3449
3450         Reviewed by Pavel Feldman.
3451
3452         * inspector/front-end/NetworkPanel.js:
3453         (WebInspector.NetworkLogView.prototype._highlightNthMatchedResource):
3454         (WebInspector.NetworkLogView.prototype.performSearch):
3455         (WebInspector.NetworkPanel):
3456         (WebInspector.NetworkPanel.prototype._onSearchCountUpdated):
3457    &nbs