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