2011-01-20 Levi Weintraub <leviw@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-01-20  Levi Weintraub  <leviw@chromium.org>
2
3         Unreviewed.
4
5         Fixing build breakage.
6
7         * editing/SelectionController.cpp:
8         (WebCore::SelectionController::willBeModified):
9
10 2011-01-20  Levi Weintraub  <leviw@chromium.org>
11
12         Reviewed by Ryosuke Niwa.
13
14         RTL: Caret goes to the opposite direction when pressing an arrow key after selection is made
15         https://bugs.webkit.org/show_bug.cgi?id=49511
16
17         Test: editing/selection/rtl-move-selection-right-left.html
18
19         * editing/SelectionController.cpp:
20         (WebCore::SelectionController::willBeModified):
21         Respecting the direction of the containing block when switching selection base and extent in
22         RTL content.
23
24         (WebCore::SelectionController::modifyMovingRight):
25         (WebCore::SelectionController::modifyMovingLeft):
26         Using directionOfEnclosingBlock when deciding to use the selection start or end to do the
27         correct thing for RTL.
28
29 2011-01-20  Nate Chapin  <japhet@chromium.org>
30
31         Reviewed by Adam Barth.
32
33         Null-check m_frame in DOMWindow::setLocation(), since it's
34         possible to reach this point without it having been checked
35         already.
36         https://bugs.webkit.org/show_bug.cgi?id=52769
37
38         Test: fast/dom/Window/Location/set-location-after-close.html
39
40         * page/DOMWindow.cpp:
41         (WebCore::DOMWindow::setLocation):
42
43 2011-01-20  Chang Shu  <chang.shu@nokia.com>
44
45         Reviewed by Darin Adler.
46
47         setContentEditable with invalid string should throw exception.
48         https://bugs.webkit.org/show_bug.cgi?id=52057
49
50         Implemented exception throwing for setContentEditable according to the following spec:
51         http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#attr-contenteditable
52         Related quotas: "On setting, if the new value is an ASCII case-insensitive match for the 
53         string 'inherit' then the content attribute must be removed, if the new value is an ASCII 
54         case-insensitive match for the string 'true' then the content attribute must be set to the 
55         string 'true', if the new value is an ASCII case-insensitive match for the string 'false' 
56         then the content attribute must be set to the string 'false', and otherwise the attribute 
57         setter must raise a SYNTAX_ERR exception."
58
59         * html/HTMLElement.cpp:
60         (WebCore::HTMLElement::setContentEditable): Throw exception on invalid input strings; Make setting values case-insensitive and also convert them to lower cases according to the spec.
61         * html/HTMLElement.h: Add additional parameter ExceptionCode& for function setContentEditable.
62         * html/HTMLElement.idl: Add exception throwing support for contentEditable setter.
63
64 2011-01-19  Adrienne Walker  <enne@google.com>
65
66         Reviewed by James Robinson.
67
68         [chromium] Composited render surfaces should allow writes to alpha channel.
69         https://bugs.webkit.org/show_bug.cgi?id=52766
70
71         Test: LayoutTests/platform/chromium/compositing
72
73         * platform/graphics/chromium/LayerRendererChromium.cpp:
74         (WebCore::LayerRendererChromium::drawLayers):
75
76 2011-01-14  Jer Noble  <jer.noble@apple.com>
77
78         Reviewed by Eric Carlson.
79
80         REGRESSION (r71842): Compass video is not playing in Safari welcome page
81         https://bugs.webkit.org/show_bug.cgi?id=52506
82
83         New test: LayoutTests/media/video-currentTime-delay.html
84
85         Call invalidateCachedTime() every time one of the cached property dependencies changes,
86         i.e. m_paused and m_playbackRate.
87
88         * html/HTMLMediaElement.cpp:
89         (WebCore::HTMLMediaElement::prepareForLoad):
90         (WebCore::HTMLMediaElement::setReadyState):
91         (WebCore::HTMLMediaElement::setPlaybackRate):
92         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
93
94 2011-01-20  Beth Dakin  <bdakin@apple.com>
95
96         Reviewed by Geoffrey Garen.
97
98         Fix for <rdar://problem/8890255>
99
100         Allow WebKitSystemInterface to draw scrollbars 
101         when appropriate.
102         * WebCore.exp.in:
103         * platform/mac/ScrollbarThemeMac.mm:
104         (WebCore::scrollbarMap):
105         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
106         (WebCore::ScrollbarThemeMac::registerScrollbar):
107         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
108         (WebCore::ScrollbarThemeMac::paint):
109         * platform/mac/WebCoreSystemInterface.h:
110         * platform/mac/WebCoreSystemInterface.mm:
111
112 2011-01-20  Sam Weinig  <sam@webkit.org>
113
114         Reviewed by Dave Hyatt.
115
116         Cleanup Scrollbar/ScrollbarClient relationship
117         https://bugs.webkit.org/show_bug.cgi?id=52779
118
119         Pipe all scrolling through the ScrollbarClient/ScrollAnimator
120         rather than through the Scrollbar. The Scrollbar now is just
121         a "view" on the scroll position of the scrollable area it is
122         attached to.
123
124         There are now two ways to scroll a scrollable area:
125         - ScrollbarClient::scroll()
126         - ScrollbarClient::scrollToOffsetWithoutAnimation()
127
128         Both of these go through the ScrollAnimator (updating its state
129         or starting an animation). The ScrollAnimator, in turn, now calls
130         ScrollbarClient::setScrollOffsetFromAnimation, which tells the
131         Scrollbars to pull a new offset (via Scrollbar::offsetDidChange)
132         and tells the class that derives from ScrollbarClient to scroll
133         its contents (via ScrollbarClient::setScrollOffset).
134
135         * WebCore.xcodeproj/project.pbxproj:
136         Move Scrollbar.cpp to the right place.
137
138         * accessibility/AccessibilityScrollbar.cpp:
139         (WebCore::AccessibilityScrollbar::setValue):
140         Initiate the scroll through the scrollbar client, rather than the
141         scrollbar itself.
142
143         * page/FrameView.cpp:
144         (WebCore::FrameView::scrollTo):
145         * page/FrameView.h:
146         Condense the two valueChanged overrides to a single override of the
147         scrollTo function.
148
149         * platform/ScrollAnimator.cpp:
150         (WebCore::ScrollAnimator::scroll):
151         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
152         (WebCore::ScrollAnimator::currentPosition):
153         (WebCore::ScrollAnimator::notityPositionChanged):
154         * platform/ScrollAnimator.h:
155         * platform/ScrollAnimatorWin.cpp:
156         (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
157         (WebCore::ScrollAnimatorWin::animateScroll):
158         * platform/ScrollAnimatorWin.h:
159         * platform/mac/ScrollAnimatorMac.h:
160         * platform/mac/ScrollAnimatorMac.mm:
161         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
162         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
163         Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation
164         and bottleneck all client notification of changed position through a new
165         notityPositionChanged() function.
166
167         * platform/ScrollView.cpp:
168         (WebCore::ScrollView::setScrollOffset):
169         (WebCore::ScrollView::scrollTo):
170         (WebCore::ScrollView::scrollPosition):
171         (WebCore::ScrollView::scroll):
172         (WebCore::ScrollView::updateScrollbars):
173         (WebCore::ScrollView::wheelEvent):
174         * platform/ScrollView.h:
175         (WebCore::ScrollView::horizontalScrollbar):
176         (WebCore::ScrollView::verticalScrollbar):
177         Update to scroll via the ScrollbarClient rather than the Scrollbar.
178
179         * platform/Scrollbar.cpp:
180         (WebCore::Scrollbar::offsetDidChange):
181         (WebCore::Scrollbar::autoscrollPressedPart):
182         (WebCore::Scrollbar::moveThumb):
183         (WebCore::Scrollbar::mouseMoved):
184         * platform/Scrollbar.h:
185         (WebCore::Scrollbar::setPressedPos):
186         Change the scrollbar to only updates its offset in response to
187         an offsetDidChange call.
188
189         * platform/ScrollbarClient.cpp:
190         (WebCore::ScrollbarClient::scroll):
191         (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation):
192         (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation):
193         (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation):
194         (WebCore::ScrollbarClient::setScrollOffsetFromAnimation):
195         * platform/ScrollbarClient.h:
196         (WebCore::ScrollbarClient::horizontalScrollbar):
197         (WebCore::ScrollbarClient::verticalScrollbar):
198         Make the increasingly misnamed ScrollbarClient responsible for
199         scrolling.
200
201         * platform/efl/ScrollbarEfl.cpp:
202         (scrollbarEflEdjeMessage):
203         * platform/gtk/MainFrameScrollbarGtk.cpp:
204         (MainFrameScrollbarGtk::gtkValueChanged):
205         * platform/qt/ScrollbarQt.cpp:
206         (WebCore::Scrollbar::contextMenu):
207         Update to move scrolling through the client.
208
209         * platform/win/PopupMenuWin.cpp:
210         (WebCore::PopupMenuWin::scrollToRevealSelection):
211         (WebCore::PopupMenuWin::scrollPosition):
212         (WebCore::PopupMenuWin::setScrollOffset):
213         (WebCore::PopupMenuWin::scrollTo):
214         (WebCore::PopupMenuWin::wndProc):
215         * platform/win/PopupMenuWin.h:
216         (WebCore::PopupMenuWin::verticalScrollbar):
217         * rendering/RenderLayer.cpp:
218         (WebCore::RenderLayer::scrollToOffset):
219         (WebCore::RenderLayer::scrollTo):
220         (WebCore::RenderLayer::setScrollOffset):
221         (WebCore::RenderLayer::scrollPosition):
222         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
223         (WebCore::RenderLayer::scroll):
224         * rendering/RenderLayer.h:
225         * rendering/RenderListBox.cpp:
226         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
227         (WebCore::RenderListBox::scroll):
228         (WebCore::RenderListBox::logicalScroll):
229         (WebCore::RenderListBox::scrollPosition):
230         (WebCore::RenderListBox::setScrollOffset):
231         (WebCore::RenderListBox::scrollTo):
232         (WebCore::RenderListBox::setScrollTop):
233         * rendering/RenderListBox.h:
234         (WebCore::RenderListBox::verticalScrollbar):
235         Update to scroll via the ScrollbarClient rather than the Scrollbar.
236
237         * rendering/RenderMarquee.cpp:
238         (WebCore::RenderMarquee::start):
239         Simplify initial paint to just do an immediate scroll to the position.
240
241 2011-01-20  Patrick Gansterer  <paroga@webkit.org>
242
243         Unreviewed WinCE build fix for r76170.
244
245         * platform/graphics/wince/FontWinCE.cpp: Added a missing include.
246         * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style.
247
248 2011-01-20  James Robinson  <jamesr@chromium.org>
249
250         Reviewed by Darin Fisher.
251
252         Implement mozilla's requestAnimationFrame API
253         https://bugs.webkit.org/show_bug.cgi?id=51218
254
255         This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
256         an author driving an animation from script could use window.requestAnimationFrame(callback)
257         instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
258         decide when to update the animations.  This avoids doing unnecessary work when the page content
259         is offscreen or is being displayed at a different framerate than what the page author expects.
260
261         Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
262         This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
263         following changes:
264         *) Only the callback syntax is supported, there is no before paint event
265         *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
266             what content they intend to animate.  That way if the page is being displayed but the element
267             in question is offscreen, we can avoid invoking the callback.
268         *) No timestamp is provided to the caller and there is no window.animationStartTime property
269             (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
270         *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
271             using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
272
273         The implementation depends on the embedder scheduling the callbacks since the callback invocation
274         depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
275         to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
276         called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
277         Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
278         embedder has to rate limit callbacks and may not be able to tie the callback directly to the
279         rendering loop.
280
281         Tests: fast/animation/request-animation-frame-cancel.html
282                fast/animation/request-animation-frame-cancel2.html
283                fast/animation/request-animation-frame-display.html
284                fast/animation/request-animation-frame-within-callback.html
285                fast/animation/request-animation-frame.html
286
287         * WebCore.gypi:
288         * dom/Document.cpp:
289         (WebCore::Document::Document):
290         (WebCore::Document::webkitRequestAnimationFrame):
291         (WebCore::Document::webkitCancelRequestAnimationFrame):
292         (WebCore::Document::serviceScriptedAnimations):
293         * dom/Document.h:
294         * dom/RequestAnimationFrameCallback.h: Added.
295         (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
296         * dom/RequestAnimationFrameCallback.idl: Added.
297         * loader/EmptyClients.h:
298         (WebCore::EmptyChromeClient::scheduleAnimation):
299         * page/Chrome.cpp:
300         (WebCore::Chrome::scheduleAnimation):
301         * page/Chrome.h:
302         * page/ChromeClient.h:
303         * page/DOMWindow.cpp:
304         (WebCore::DOMWindow::webkitRequestAnimationFrame):
305         (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
306         * page/DOMWindow.h:
307         * page/DOMWindow.idl:
308         * page/FrameView.cpp:
309         (WebCore::FrameView::scheduleAnimation):
310         (WebCore::FrameView::serviceScriptedAnimations):
311         * page/FrameView.h:
312         * platform/HostWindow.h:
313
314 2011-01-20  James Robinson  <jamesr@chromium.org>
315
316         Reviewed by Nate Chapin.
317
318         [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters
319         https://bugs.webkit.org/show_bug.cgi?id=52837
320
321         When generating code to invoke a callback with no parameters CodeGeneratorV8.pm was generating the following:
322         v8::Handle<v8::Value> argv[] = {}; which does not compile in visual studio.  Instead, if the argument count
323         is 0, we can just pass a NULL pointer for the argv parameter.
324
325         Test added to bindings/scripts/test/TestCallback.idl and covered by run-bindings-tests.  This
326         patch also includes some spurious changes to the bindings tests golden files (mostly GObject)
327         because the old golden files were out of date.
328
329         * bindings/scripts/CodeGeneratorV8.pm:
330         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
331         (WebDOMTestCallback::callbackWithNoParam):
332         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
333         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
334         (webkit_dom_test_callback_callback_with_no_param):
335         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
336         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
337         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
338         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
339         * bindings/scripts/test/JS/JSTestCallback.cpp:
340         (WebCore::JSTestCallback::callbackWithNoParam):
341         * bindings/scripts/test/JS/JSTestCallback.h:
342         * bindings/scripts/test/JS/JSTestInterface.cpp:
343         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
344         * bindings/scripts/test/JS/JSTestObj.cpp:
345         * bindings/scripts/test/ObjC/DOMTestCallback.h:
346         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
347         (-[DOMTestCallback callbackWithNoParam]):
348         * bindings/scripts/test/TestCallback.idl:
349         * bindings/scripts/test/V8/V8TestCallback.cpp:
350         (WebCore::V8TestCallback::callbackWithNoParam):
351         * bindings/scripts/test/V8/V8TestCallback.h:
352         * bindings/scripts/test/V8/V8TestObj.cpp:
353         (WebCore::TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter):
354
355 2011-01-20  James Robinson  <jamesr@chromium.org>
356
357         Reviewed by Eric "Baller" Seidel.
358
359         RenderTableSection's setNeedsCellRecalc needs to null check table()
360         https://bugs.webkit.org/show_bug.cgi?id=52770
361
362         Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc.
363         This can be null during detach().  Test constructed by Eric Seidel.
364
365         Test: fast/css-generated-content/table-with-scrollbar-corner.html
366
367         * rendering/RenderTableSection.cpp:
368         (WebCore::RenderTableSection::setNeedsCellRecalc):
369         * rendering/RenderTableSection.h:
370
371 2011-01-20  Dirk Schulze  <krit@webkit.org>
372
373         Reviewed by Rob Buis.
374
375         SVG Pattern doesn't take preserveAspectRatio of references Pattern
376         https://bugs.webkit.org/show_bug.cgi?id=52802
377
378         SVGPattern didn't take preserveAspectRatio of a referenced SVGPattern into account. Store preserveAspectRatio
379         in PatternAttributes as well, if the attribute was set on the referenced SVGPattern element.
380
381         Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg
382
383         * rendering/svg/RenderSVGResourcePattern.cpp:
384         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
385         * svg/PatternAttributes.h:
386         (WebCore::PatternAttributes::PatternAttributes):
387         (WebCore::PatternAttributes::preserveAspectRatio):
388         (WebCore::PatternAttributes::setPreserveAspectRatio):
389         (WebCore::PatternAttributes::hasPreserveAspectRatio):
390         * svg/SVGPatternElement.cpp:
391         (WebCore::SVGPatternElement::collectPatternAttributes):
392
393 2011-01-20  Dan Bernstein  <mitz@apple.com>
394
395         Reviewed by Adele Peterson.
396
397         <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1
398
399         <rdar://problem/8884648> REGRESSION (r72141): Safari hangs when visiting a page on www.bfmtv.com
400         https://bugs.webkit.org/show_bug.cgi?id=52765
401
402         <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup
403         https://bugs.webkit.org/show_bug.cgi?id=52265
404
405         Test: fast/block/line-layout/negative-max-height.html
406
407         Integer overflow detection led to a block having a huge height. This manifested as broken layout
408         in the first bug and as extreme slowness in the latter bugs because of
409         https://bugs.webkit.org/show_bug.cgi?id=52832
410
411         * rendering/RootInlineBox.cpp:
412         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Clamp maxHeight to 0 so the next line
413         cannot start above this line. The negative maxHeight also caused the integer overflow detection
414         logic to give the block a huge height.
415
416 2011-01-20  Yi Shen  <yi.4.shen@nokia.com>
417
418         Reviewed by Eric Carlson.
419
420         Clean up the Media Controls CSS for Qt
421         https://bugs.webkit.org/show_bug.cgi?id=52822
422
423         Split the audio::-webkit-media-xxx and video::-webkit-media-xxx rules 
424         in mediaControlsQt.css, and remove the duplicate audio::-webkit-media-xxx
425         rules from mediaControlsQtFullscreen.css.
426
427         * css/mediaControlsQt.css:
428         (audio::-webkit-media-controls-panel):
429         (video::-webkit-media-controls-panel):
430         (audio::-webkit-media-controls-mute-button):
431         (video::-webkit-media-controls-mute-button):
432         (audio::-webkit-media-controls-play-button):
433         (video::-webkit-media-controls-play-button):
434         (audio::-webkit-media-controls-timeline-container):
435         (video::-webkit-media-controls-timeline-container):
436         (audio::-webkit-media-controls-current-time-display):
437         (video::-webkit-media-controls-current-time-display):
438         (audio::-webkit-media-controls-time-remaining-display):
439         (video::-webkit-media-controls-time-remaining-display):
440         (audio::-webkit-media-controls-timeline):
441         (video::-webkit-media-controls-timeline):
442         (audio::-webkit-media-controls-volume-slider-container):
443         (video::-webkit-media-controls-volume-slider-container):
444         (audio::-webkit-media-controls-volume-slider):
445         (video::-webkit-media-controls-volume-slider):
446         (audio::-webkit-media-controls-seek-back-button):
447         (video::-webkit-media-controls-seek-back-button):
448         (audio::-webkit-media-controls-seek-forward-button):
449         (video::-webkit-media-controls-seek-forward-button):
450         (audio::-webkit-media-controls-fullscreen-button):
451         (video::-webkit-media-controls-fullscreen-button):
452         (audio::-webkit-media-controls-rewind-button):
453         (video::-webkit-media-controls-rewind-button):
454         (audio::-webkit-media-controls-return-to-realtime-button):
455         (video::-webkit-media-controls-return-to-realtime-button):
456         (audio::-webkit-media-controls-toggle-closed-captions-button):
457         (video::-webkit-media-controls-toggle-closed-captions-button):
458         * css/mediaControlsQtFullscreen.css:
459         (video::-webkit-media-controls-time-remaining-display):
460         (video::-webkit-media-controls-seek-back-button):
461         (video::-webkit-media-controls-seek-forward-button):
462         (video::-webkit-media-controls-rewind-button):
463         (video::-webkit-media-controls-return-to-realtime-button):
464         (video::-webkit-media-controls-toggle-closed-captions-button):
465
466 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
467
468         Reviewed by Pavel Feldman.
469
470         Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken
471         https://bugs.webkit.org/show_bug.cgi?id=52816
472
473         * inspector/front-end/StylesSidebarPane.js:
474         (WebInspector.StylePropertyTreeElement.prototype):
475
476 2011-01-20  Dawit Alemayehu  <adawit@kde.org>
477
478         Reviewed by Andreas Kling.
479
480         [Qt] Fix Layering violation in MediaPlayerPrivateQt.
481         https://bugs.webkit.org/show_bug.cgi?id=52733
482
483         No new tests. no behavioral change.
484
485        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
486         (WebCore::MediaPlayerPrivateQt::commitLoad):
487
488 2011-01-20  Nate Chapin  <japhet@chromium.org>
489
490         Reviewed by Darin Fisher.
491
492         [V8] Call malloc and memcpy directly instead of
493         of strdup in convertV8ObjectToNPVariant() when
494         converting strings. If there is a null character
495         in the string, our use of strdup causes us to allocate
496         too little memory, leading to out of bounds reads.
497
498         https://bugs.webkit.org/show_bug.cgi?id=52631
499
500         * bindings/v8/V8NPUtils.cpp:
501         (WebCore::convertV8ObjectToNPVariant):
502
503 2011-01-20  Andreas Kling  <kling@webkit.org>
504
505         Reviewed by Ariya Hidayat.
506
507         [Qt] Fill shadow scratch buffer with proper transparent pixels
508
509         QImage::fill() has no Qt::GlobalColor overload in Qt 4.7 (coming in 4.8)
510         so doing QImage::fill(Qt::transparent) will actually fill all pixels with
511         the RGBA value 0x00000013.
512
513         * platform/graphics/qt/ContextShadowQt.cpp:
514         (WebCore::ShadowBuffer::scratchImage):
515
516 2011-01-19  Adam Roben  <aroben@apple.com>
517
518         Remove WKCACFContextFlusher
519
520         It wasn't doing anything.
521
522         Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused
523
524         Reviewed by Simon Fraser.
525
526         * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with
527         the file.
528
529         * platform/graphics/win/WKCACFContextFlusher.cpp: Removed.
530         * platform/graphics/win/WKCACFContextFlusher.h: Removed.
531
532         * platform/graphics/win/WKCACFLayerRenderer.cpp:
533         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
534         (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
535         Stop telling WKCACFContextFlusher about our context, since it never did anything with it.
536
537 2011-01-19  Adam Roben  <aroben@apple.com>
538
539         Only flush our own context when we get resized
540
541         Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted
542         changes get flushed whenever any composited page is resized
543
544         Reviewed by Simon Fraser.
545
546         * platform/graphics/win/WKCACFLayerRenderer.cpp:
547         (WebCore::WKCACFLayerRenderer::resize): Just flush our own context, not all contexts
548         WKCACFContextFlusher knows about. After all, ours is the only one that just got resized!
549
550 2011-01-19  Adam Roben  <aroben@apple.com>
551
552         Make WKCACFLayerRenderer ref-counted
553
554         This will be needed to handle cases where the client might release its reference to us while
555         we're calling out to it.
556
557         WKCACFLayerRenderer now has a setClient function, which is used rather than passing the
558         client to create(). This allows clients to null out the client pointer when they're done
559         with the renderer.
560
561         Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be
562         ref-counted
563
564         Reviewed by Simon Fraser.
565
566         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
567         (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow):
568         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
569         Updated for WKCACFLayerRenderer changes.
570
571         * platform/graphics/win/WKCACFLayerRenderer.cpp:
572         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to
573         create().
574         (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now
575         returns a PassOwnPtr.
576         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a
577         WKCACFLayerRendererClient.
578
579         * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from
580         RefCounted.
581         (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter.
582
583 2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
584
585         [Qt][V8] Unreviewed buildfix after r76248.
586
587         * bindings/v8/ScriptCachedFrameData.h: Add missing include.
588
589 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
590
591         Reviewed by Yury Semikhatsky.
592
593         Web Inspector: enable resource agent upon request.
594         https://bugs.webkit.org/show_bug.cgi?id=52815
595
596         We should not send network-related notifications unless front-end
597         is interested.
598
599         * inspector/Inspector.idl:
600         * inspector/InspectorController.cpp:
601         (WebCore::InspectorController::restoreInspectorStateFromCookie):
602         (WebCore::InspectorController::connectFrontend):
603         (WebCore::InspectorController::resourceAgent):
604         * inspector/InspectorController.h:
605         (WebCore::InspectorController::consoleAgent):
606         (WebCore::InspectorController::cssAgent):
607         (WebCore::InspectorController::domAgent):
608         (WebCore::InspectorController::injectedScriptAgent):
609         (WebCore::InspectorController::runtimeAgent):
610         (WebCore::InspectorController::databaseAgent):
611         (WebCore::InspectorController::domStorageAgent):
612         (WebCore::InspectorController::fileSystemAgent):
613         * inspector/InspectorInstrumentation.cpp:
614         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
615         * inspector/InspectorResourceAgent.cpp:
616         (WebCore::InspectorResourceAgent::restore):
617         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
618         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
619         * inspector/InspectorResourceAgent.h:
620         (WebCore::InspectorResourceAgent::create):
621         * inspector/InspectorState.cpp:
622         (WebCore::InspectorState::InspectorState):
623         * inspector/InspectorState.h:
624
625 2011-01-20  Zoltan Horvath  <zoltan@webkit.org>
626
627         Reviewed by Csaba Osztrogonác.
628
629         Refactoring of the custom allocation framework
630         https://bugs.webkit.org/show_bug.cgi?id=49897
631
632         Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
633         The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
634         equivalent macro implementation at the necessary places.
635
636 2011-01-20  Mikhail Naganov  <mnaganov@chromium.org>
637
638         Reviewed by Pavel Feldman.
639
640         Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth.
641
642         Profiles are now not cleared unless renderer instance was changed.
643
644         https://bugs.webkit.org/show_bug.cgi?id=52807
645
646         * inspector/InspectorController.cpp:
647         (WebCore::InspectorController::restoreProfiler):
648         * inspector/InspectorProfilerAgent.cpp:
649         (WebCore::InspectorProfilerAgent::resetState):
650         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
651         * inspector/InspectorProfilerAgent.h:
652
653 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
654
655         Unreviewed, add new JS file refs missing from r76116.
656
657         * WebCore.gypi:
658         * WebCore.vcproj/WebCore.vcproj:
659         * inspector/front-end/WebKit.qrc:
660
661 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
662
663         Reviewed by Pavel Feldman.
664
665         Web Inspector: Crash when adding a rule for an ImageDocument
666         https://bugs.webkit.org/show_bug.cgi?id=52811
667
668         * inspector/InspectorCSSAgent.cpp:
669         (WebCore::InspectorCSSAgent::addRule2):
670         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
671
672 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
673
674         Reviewed by Pavel Feldman.
675
676         Web Inspector: cleanup InspectorController's friends list.
677         We have a plan to extract InspectorAgent from InspectorController.
678         InspectorAgent will be accessible only from InspectorController.
679         As result we can simply made some methods public and remove long
680         friends list.
681
682         https://bugs.webkit.org/show_bug.cgi?id=52806
683
684         * inspector/InjectedScriptHost.cpp:
685         (WebCore::InjectedScriptHost::databaseForId):
686         (WebCore::InjectedScriptHost::selectDatabase):
687         (WebCore::InjectedScriptHost::selectDOMStorage):
688         (WebCore::InjectedScriptHost::inspectorDOMAgent):
689         (WebCore::InjectedScriptHost::frontend):
690         * inspector/InspectorBrowserDebuggerAgent.cpp:
691         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
692         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
693         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
694         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
695         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
696         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
697         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
698         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
699         * inspector/InspectorController.h:
700         (WebCore::InspectorController::frontend):
701         * inspector/InspectorInstrumentation.cpp:
702         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
703         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
704         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
705         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
706         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
707         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
708         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
709         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
710         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
711         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
712         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
713         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
714         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
715         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
716         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
717         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
718
719 2011-01-19  Pavel Podivilov  <podivilov@chromium.org>
720
721         Reviewed by Yury Semikhatsky.
722
723         Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model.
724         https://bugs.webkit.org/show_bug.cgi?id=52723
725
726         Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane.
727
728         * inspector/front-end/Breakpoint.js:
729         (WebInspector.Breakpoint):
730         (WebInspector.Breakpoint.prototype.get data):
731         (WebInspector.Breakpoint.prototype.remove):
732         * inspector/front-end/BreakpointsSidebarPane.js:
733         (WebInspector.JavaScriptBreakpointsSidebarPane):
734         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
735         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved):
736         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointEnableChanged):
737         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointItemCheckboxClicked):
738         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenuEventFired):
739         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
740         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerResumed):
741         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addListElement):
742         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeListElement):
743         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._projectChanged):
744         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compare):
745         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
746         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement.didGetSourceLine):
747         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
748         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointIdForDebuggerPausedEvent):
749         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setBreakpointEnabled):
750         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeBreakpoint):
751         (WebInspector.NativeBreakpointsSidebarPane):
752         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
753         * inspector/front-end/DebuggerModel.js:
754         (WebInspector.DebuggerModel.prototype.removeBreakpoint):
755         (WebInspector.DebuggerModel.prototype.breakpointForId):
756         (WebInspector.DebuggerModel.prototype._pausedScript):
757         (WebInspector.DebuggerModel.prototype._resumedScript):
758         * inspector/front-end/ScriptsPanel.js:
759         (WebInspector.ScriptsPanel):
760         * inspector/front-end/inspector.js:
761
762 2011-01-20  Dirk Schulze  <krit@webkit.org>
763
764         Reviewed by Andreas Kling.
765
766         SVG Pattern doesn't take the viewBox of a referenced Pattern
767         https://bugs.webkit.org/show_bug.cgi?id=52804
768         
769         SVGPattern element didn't use the viewBox of another SVGPattern element, referenced
770         by xlink:href. Modified PatternAttributes, to take the value of the viewBox of the
771         SVGPattern element as well, if the attribute was set.
772         This gets checked by a W3C SVG test case.        
773
774         Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg
775
776         * rendering/svg/RenderSVGResourcePattern.cpp:
777         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
778         * svg/PatternAttributes.h:
779         (WebCore::PatternAttributes::PatternAttributes):
780         (WebCore::PatternAttributes::viewBox):
781         (WebCore::PatternAttributes::setViewBox):
782         (WebCore::PatternAttributes::hasViewBox):
783         * svg/SVGPatternElement.cpp:
784         (WebCore::SVGPatternElement::collectPatternAttributes):
785
786 2011-01-19  Stephen White  <senorblanco@chromium.org>
787
788         [Re-land of r76159 with a compile fix for the Chromium linux shlib
789         build.]
790
791         Reviewed by James Robinson.
792
793         Implement accelerated path drawing and clipping for the Canvas2D GPU
794         path.
795         https://bugs.webkit.org/show_bug.cgi?id=52627
796         
797         This is done with a simple curve interpolator and the GLU tesselator,
798         which is good enough for a 3-5X speedup on
799         http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
800
801         Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
802         All tests canvas/philip and fast/canvas paths pass with no
803         regressions, although two have minor pixel differences which require
804         rebaselining.
805
806         * WebCore.gyp/WebCore.gyp:
807         Add internal_glu include path to chromium build.
808         * WebCore.gypi:
809         Add internal_glu files to chromium build.
810         * html/canvas/CanvasRenderingContext2D.cpp:
811         (WebCore::CanvasRenderingContext2D::reset):
812         (WebCore::CanvasRenderingContext2D::platformLayer):
813         Make CanvasRenderingContext2D more robust against failure to create
814         a DrawingBuffer.
815         * platform/graphics/chromium/DrawingBufferChromium.cpp:
816         (WebCore::DrawingBuffer::DrawingBuffer):
817         As in DrawingBufferMac.cpp, call reset() from the constructor.
818         Also initialize size to (-1, -1), so reset() doesn't early-out.
819         Add initializers for depthBuffer and stencilBuffer, and remove
820         multisampleDepthStencilBuffer.
821         * platform/graphics/chromium/GLES2Canvas.cpp:
822         Remove some unused #includes.
823         (WebCore::GLES2Canvas::State::State):
824         Add clipping state, and implement save/restore via the copy constructor.
825         (WebCore::operator*):
826         (WebCore::Quadratic::Quadratic):
827         (WebCore::Quadratic::fromBezier):
828         (WebCore::Quadratic::evaluate):
829         Quadratic Bezier curve class.
830         (WebCore::Cubic::Cubic):
831         (WebCore::Cubic::fromBezier):
832         (WebCore::Cubic::evaluate):
833         Cubic Bezier curve class.
834         (WebCore::GLES2Canvas::clearRect):
835         Add clipping support to clearRect().
836         (WebCore::GLES2Canvas::fillPath):
837         Implement fillPath().
838         (WebCore::GLES2Canvas::fillRect):
839         Add clipping support to fillRect().
840         (WebCore::GLES2Canvas::clipPath):
841         Implement clipPath().
842         (WebCore::GLES2Canvas::clipOut):
843         Stub out clipOut() (not called by Canvas 2D).
844         (WebCore::GLES2Canvas::restore):
845         When restoring, draw any remaining clipping paths to the stencil buffer.
846         (WebCore::GLES2Canvas::drawTexturedRect):
847         Add clipping support.
848         (WebCore::interpolateQuadratic):
849         (WebCore::interpolateCubic):
850         Simple curve interpolation, using the Cubic and Quadratic classes.
851         (WebCore::PolygonData::PolygonData):
852         A struct to hold the tesselation data for callbacks.
853         (WebCore::beginData):
854         (WebCore::edgeFlagData):
855         (WebCore::vertexData):
856         (WebCore::endData):
857         (WebCore::combineData):
858         internal_glu tesselation callbacks.
859         (WebCore::GLES2Canvas::createVertexBufferFromPath):
860         Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
861         (WebCore::GLES2Canvas::beginStencilDraw):
862         Enable stencilling, and disable draws to the color buffer.
863         (WebCore::GLES2Canvas::applyClipping):
864         If clipping is enabled, set the appropriate GL state.
865         * platform/graphics/chromium/GLES2Canvas.h:
866         Document the flavours of drawTexturedRect() a bit, so I don't get confused.
867         * platform/graphics/gpu/DrawingBuffer.cpp:
868         (WebCore::DrawingBuffer::clear):
869         (WebCore::DrawingBuffer::createSecondaryBuffers):
870         (WebCore::DrawingBuffer::resizeDepthStencil):
871         (WebCore::DrawingBuffer::reset):
872         * platform/graphics/gpu/DrawingBuffer.h:
873         Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
874         Implement separate depth and stencil buffers for when
875         OES_packed_depth_stencil is not available.  Refactor creation of
876         multisampled and non-multisampled depth and stencil buffers into
877         resizeDepthStencil().
878         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
879         (WebCore::SharedGraphicsContext3D::create):
880         Turn on stencil, turn off depth, turn off antialiasing (for now).
881         (WebCore::SharedGraphicsContext3D::enableStencil):
882         * platform/graphics/gpu/SharedGraphicsContext3D.h:
883         Implement stencil enable/disable.
884         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
885         (WebCore::DrawingBuffer::DrawingBuffer):
886         Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
887         on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
888         and m_stencilBuffer.
889         * platform/graphics/skia/GraphicsContextSkia.cpp:
890         (WebCore::GraphicsContext::canvasClip):
891         (WebCore::GraphicsContext::clipOut):
892         (WebCore::GraphicsContext::clipPath):
893         (WebCore::GraphicsContext::fillPath):
894         Put in GPU hooks for path clipping, and path drawing.
895         * platform/graphics/skia/PlatformContextSkia.cpp:
896         (WebCore::PlatformContextSkia::canAccelerate):
897         Don't check for clipping paths in canAccelerate() (since we can
898         now accelerate them).
899         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
900         Don't do clipping when uploading software draws to hardware.
901         * thirdparty/glu/README.webkit:
902         * thirdparty/glu/gluos.h:
903         #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
904         * thirdparty/glu/libtess/geom.c:
905         * thirdparty/glu/libtess/priorityq.c:
906         * thirdparty/glu/libtess/render.c:
907         Use do{}while(0) instead of if(1)else construct in macro.
908         * thirdparty/glu/libtess/sweep.c:
909         (IsWindingInside):
910         (DoneEdgeDict):
911         Fix some warnings treated as errors for the Linux Release build.
912
913
914 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
915
916         Web Inspector: move releaseObjectGroup to the new Runtime agent.
917         https://bugs.webkit.org/show_bug.cgi?id=52803
918         (accedentally landed as r76231)
919
920         * inspector/InspectorContorller.h:
921         * inspector/InspectorContorller.cpp:
922         * inspector/InspectorRuntimeAgent.h:
923         * inspector/InspectorRuntimeAgent.cpp:
924
925 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
926
927         Not reviewed: build fix.
928
929         * inspector/InspectorState.h:
930         (WebCore::InspectorState::setBoolean):
931         (WebCore::InspectorState::setString):
932         (WebCore::InspectorState::setLong):
933
934 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
935
936         Reviewed by Yury Semikhatsky.
937
938         Web Inspector: further simplify InspectorState.
939         https://bugs.webkit.org/show_bug.cgi?id=52731
940
941         This change moves XHR logging flag into console agent,
942         removes InspectorState pushing to the front-end.
943
944         * inspector/Inspector.idl:
945         * inspector/InspectorConsoleAgent.cpp:
946         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
947         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
948         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
949         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
950         (WebCore::InspectorConsoleAgent::addConsoleMessage):
951         * inspector/InspectorConsoleAgent.h:
952         * inspector/InspectorController.cpp:
953         (WebCore::InspectorController::InspectorController):
954         * inspector/InspectorController.h:
955         (WebCore::InspectorController::state):
956         (WebCore::InspectorController::settings):
957         * inspector/InspectorState.cpp:
958         (WebCore::InspectorState::InspectorState):
959         (WebCore::InspectorState::registerBoolean):
960         (WebCore::InspectorState::registerString):
961         (WebCore::InspectorState::registerLong):
962         (WebCore::InspectorState::registerObject):
963         (WebCore::InspectorState::Property::create):
964         * inspector/InspectorState.h:
965         * inspector/front-end/ConsoleView.js:
966         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
967         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
968         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
969         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
970         * inspector/front-end/inspector.js:
971
972 2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
973
974         Unreviewed buildfix.
975
976         [Qt][V8] Remove unnecessary files after r76224.
977
978         * WebCore.pro:
979
980 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
981
982         Reviewed by Yury Semikhatsky.
983
984         Web Inspector: prepare for extracting InspectorAgent from InspectorController.
985         https://bugs.webkit.org/show_bug.cgi?id=52797
986
987         * inspector/CodeGeneratorInspector.pm:
988         * inspector/InspectorController.h:
989         (WebCore::InspectorController::inspectorAgent):
990         (WebCore::InspectorController::cssAgent):
991         (WebCore::InspectorController::injectedScriptAgent):
992         (WebCore::InspectorController::resourceAgent):
993         (WebCore::InspectorController::runtimeAgent):
994         (WebCore::InspectorController::timelineAgent):
995         (WebCore::InspectorController::databaseAgent):
996         (WebCore::InspectorController::domStorageAgent):
997         (WebCore::InspectorController::fileSystemAgent):
998         (WebCore::InspectorController::browserDebuggerAgent):
999         (WebCore::InspectorController::debuggerAgent):
1000         (WebCore::InspectorController::profilerAgent):
1001         (WebCore::InspectorController::applicationCacheAgent):
1002
1003 2011-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1004
1005         Unreviewed, rolling out r76215.
1006         http://trac.webkit.org/changeset/76215
1007         https://bugs.webkit.org/show_bug.cgi?id=52799
1008
1009         Caused regressions in Chromium; morrita is going to look at it
1010         tomrorow (Requested by jorlow on #webkit).
1011
1012         * dom/TextEvent.h:
1013         * dom/TextEventInputType.h:
1014         * editing/CompositeEditCommand.cpp:
1015         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
1016         * editing/CompositeEditCommand.h:
1017         * editing/Editor.cpp:
1018         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1019         (WebCore::Editor::confirmComposition):
1020         (WebCore::Editor::setComposition):
1021         * editing/Editor.h:
1022         * editing/InsertTextCommand.cpp:
1023         (WebCore::InsertTextCommand::input):
1024         * editing/InsertTextCommand.h:
1025         * editing/TypingCommand.cpp:
1026         (WebCore::TypingCommand::TypingCommand):
1027         (WebCore::TypingCommand::insertText):
1028         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
1029         * editing/TypingCommand.h:
1030         (WebCore::TypingCommand::create):
1031
1032 2010-12-14  Yury Semikhatsky  <yurys@chromium.org>
1033
1034         Reviewed by Adam Barth.
1035
1036         [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp
1037         https://bugs.webkit.org/show_bug.cgi?id=51044
1038
1039         * WebCore.gypi:
1040         * bindings/v8/V8ConsoleMessage.cpp: Removed.
1041         * bindings/v8/V8ConsoleMessage.h: Removed.
1042         * bindings/v8/V8DOMWindowShell.cpp:
1043         (WebCore::v8UncaughtExceptionHandler):
1044         (WebCore::reportUnsafeJavaScriptAccess):
1045         (WebCore::V8DOMWindowShell::initContextIfNeeded):
1046         * bindings/v8/V8Proxy.cpp:
1047         (WebCore::addMessageToConsole):
1048         (WebCore::logInfo):
1049         (WebCore::V8Proxy::reportUnsafeAccessTo):
1050         (WebCore::V8Proxy::runScript):
1051         (WebCore::V8Proxy::callFunction):
1052         (WebCore::V8Proxy::newInstance):
1053         * bindings/v8/V8Proxy.h:
1054         * bindings/v8/WorkerContextExecutionProxy.cpp:
1055         * bindings/v8/specialization/V8BindingState.cpp:
1056         (WebCore::::immediatelyReportUnsafeAccessTo):
1057
1058 2011-01-19  MORITA Hajime  <morrita@google.com>
1059
1060         Reviewed by Eric Seidel.
1061
1062         ShadowElement::m_shadowParent should be removed
1063         https://bugs.webkit.org/show_bug.cgi?id=52558
1064
1065         No new tests. No behavioral change.
1066
1067         * rendering/ShadowElement.h:
1068         (WebCore::ShadowElement::ShadowElement):
1069
1070 2011-01-20  Hans Wennborg  <hans@chromium.org>
1071
1072         Reviewed by Jeremy Orlow.
1073
1074         IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror
1075         https://bugs.webkit.org/show_bug.cgi?id=52725
1076
1077         Let IDBObjectStore.get() fire the onsuccess handler with the value
1078         'undefined' for when an object does not exist in the store.
1079
1080         Update SerializedScriptValue to provide such an undefined value.
1081
1082         * bindings/v8/SerializedScriptValue.cpp:
1083         (WebCore::SerializedScriptValue::nullValue):
1084         (WebCore::SerializedScriptValue::undefinedValue):
1085         * bindings/v8/SerializedScriptValue.h:
1086         * storage/IDBObjectStoreBackendImpl.cpp:
1087         (WebCore::IDBObjectStoreBackendImpl::getInternal):
1088
1089 2010-12-27  Yury Semikhatsky  <yurys@chromium.org>
1090
1091         Reviewed by Pavel Feldman.
1092
1093         WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
1094         https://bugs.webkit.org/show_bug.cgi?id=8519
1095
1096         Uncaught exceptions are propagated to window.onerror hander if one is present.
1097         The handler is expected to be a function accepting three arguments: error message,
1098         resource url and line number where the exception occured.
1099
1100         It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
1101         were created in the same isolated world where the exception occured or not.
1102
1103         Tests: fast/events/window-onerror1.html
1104                fast/events/window-onerror10.html
1105                fast/events/window-onerror11.html
1106                fast/events/window-onerror12.html
1107                fast/events/window-onerror2.html
1108                fast/events/window-onerror3.html
1109                fast/events/window-onerror4.html
1110                fast/events/window-onerror5.html
1111                fast/events/window-onerror6.html
1112                fast/events/window-onerror7.html
1113                fast/events/window-onerror8.html
1114                fast/events/window-onerror9.html
1115                http/tests/security/window-onerror-exception-in-iframe.html
1116                userscripts/window-onerror-for-isolated-world-1.html
1117                userscripts/window-onerror-for-isolated-world-2.html
1118
1119         * Android.jscbindings.mk:
1120         * CMakeLists.txt:
1121         * GNUmakefile.am:
1122         * WebCore.gypi:
1123         * WebCore.order:
1124         * WebCore.pro:
1125         * WebCore.vcproj/WebCore.vcproj:
1126         * WebCore.xcodeproj/project.pbxproj:
1127         * bindings/js/JSBindingsAllInOne.cpp:
1128         * bindings/js/JSDOMBinding.cpp:
1129         (WebCore::reportException):
1130         * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
1131         (WebCore::JSErrorHandler::JSErrorHandler):
1132         (WebCore::JSErrorHandler::~JSErrorHandler):
1133         (WebCore::JSErrorHandler::handleEvent):
1134         * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
1135         (WebCore::JSErrorHandler::create):
1136         (WebCore::createJSErrorHandler):
1137         * bindings/js/JSEventListener.h:
1138         * bindings/scripts/CodeGeneratorJS.pm:
1139         * bindings/scripts/CodeGeneratorV8.pm:
1140         * bindings/v8/V8ConsoleMessage.cpp:
1141         (WebCore::V8ConsoleMessage::dispatchNow):
1142         (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
1143         reporting mechanism which is also used by JSC bindings.
1144         * bindings/v8/V8ConsoleMessage.h:
1145         * bindings/v8/V8EventListener.h:
1146         * bindings/v8/V8WindowErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
1147         (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
1148         (WebCore::V8WindowErrorHandler::callListenerFunction):
1149         * bindings/v8/V8WindowErrorHandler.h: Copied from WebCore/dom/ErrorEvent.cpp.
1150         (WebCore::V8WindowErrorHandler::create):
1151         * bindings/v8/WorkerContextExecutionProxy.cpp:
1152         (WebCore::v8MessageHandler):
1153         * bindings/v8/WorkerScriptController.cpp:
1154         (WebCore::WorkerScriptController::evaluate):
1155         * dom/Document.cpp:
1156         (WebCore::Document::errorEventTarget):
1157         (WebCore::Document::logExceptionToConsole):
1158         (WebCore::Document::addMessage):
1159         * dom/Document.h:
1160         * dom/ErrorEvent.cpp:
1161         * dom/ErrorEvent.h:
1162         * dom/Event.cpp:
1163         (WebCore::Event::isErrorEvent):
1164         * dom/Event.h:
1165         * dom/ScriptExecutionContext.cpp:
1166         (WebCore::ScriptExecutionContext::PendingException::PendingException):
1167         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1168         (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
1169         ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
1170         (WebCore::ScriptExecutionContext::dispatchErrorEvent):
1171         * dom/ScriptExecutionContext.h:
1172         * websockets/WebSocket.cpp:
1173         (WebCore::WebSocket::connect):
1174         * websockets/WebSocketChannel.cpp:
1175         (WebCore::WebSocketChannel::didOpen):
1176         (WebCore::WebSocketChannel::didFail):
1177         (WebCore::WebSocketChannel::appendToBuffer):
1178         * websockets/WebSocketHandshake.cpp:
1179         (WebCore::WebSocketHandshake::readServerHandshake):
1180         (WebCore::WebSocketHandshake::readStatusLine):
1181         (WebCore::WebSocketHandshake::readHTTPHeaders):
1182         (WebCore::WebSocketHandshake::checkResponseHeaders):
1183         * workers/DefaultSharedWorkerRepository.cpp:
1184         (WebCore::postExceptionTask):
1185         (WebCore::postConsoleMessageTask):
1186         * workers/WorkerContext.cpp:
1187         (WebCore::WorkerContext::WorkerContext):
1188         (WebCore::WorkerContext::errorEventTarget):
1189         (WebCore::WorkerContext::logExceptionToConsole):
1190         (WebCore::WorkerContext::addMessage):
1191         * workers/WorkerContext.h:
1192         * workers/WorkerMessagingProxy.cpp:
1193         (WebCore::WorkerExceptionTask::performTask):
1194         (WebCore::postConsoleMessageTask):
1195         * xml/XMLHttpRequest.cpp:
1196         (WebCore::reportUnsafeUsage):
1197
1198 2011-01-19  MORITA Hajime  <morrita@google.com>
1199
1200         Reviewed by Ryosuke Niwa.
1201
1202         Space and tab characters "sent" by an input method give totally different results than typing them directly
1203         https://bugs.webkit.org/show_bug.cgi?id=5241
1204         
1205         * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
1206           distinguish text input which is originated by composition.
1207         * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
1208           range of string on text node, instead of surrounding part of that.
1209
1210         Test: editing/inserting/insert-composition-whitespace.html
1211
1212         * dom/TextEvent.h:
1213         (WebCore::TextEvent::isComposition):
1214         * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
1215         * editing/CompositeEditCommand.cpp:
1216         (WebCore::containsOnlyWhitespace):
1217         (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
1218         (WebCore::CompositeEditCommand::canRebalance):
1219         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
1220         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
1221         * editing/CompositeEditCommand.h:
1222         * editing/Editor.cpp:
1223         (WebCore::Editor::insertTextForConfirmedComposition): Added.
1224         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1225         (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
1226         (WebCore::Editor::setComposition):
1227         * editing/Editor.h:
1228         * editing/InsertTextCommand.cpp:
1229         (WebCore::InsertTextCommand::input):
1230         * editing/InsertTextCommand.h:
1231         * editing/TypingCommand.cpp:
1232         (WebCore::TypingCommand::TypingCommand):
1233         (WebCore::TypingCommand::insertText):
1234         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
1235         * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
1236         (WebCore::TypingCommand::setCompositionType): Added.
1237         (WebCore::TypingCommand::create):
1238
1239 2011-01-19  Dominic Cooney  <dominicc@google.com>
1240
1241         Reviewed by Kent Tamura.
1242
1243         Make <keygen> no longer appear to be a <select> element to script.
1244         https://bugs.webkit.org/show_bug.cgi?id=52557
1245
1246         The intent is to put <keygen> options into shadow DOM. This change
1247         takes the first step by hiding the <select> element from
1248         JavaScript.
1249
1250         Test: fast/dom/HTMLKeygenElement/keygen.html
1251
1252         * CMakeLists.txt: Adds new IDL-derived wrapper.
1253         * DerivedSources.cpp:
1254         * DerivedSources.make:
1255         * GNUmakefile.am:
1256         * WebCore.gypi:
1257         * WebCore.pri:
1258         * WebCore.vcproj/WebCore.vcproj:
1259         * WebCore.xcodeproj/project.pbxproj:
1260         * bindings/gobject/GNUmakefile.am:
1261         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
1262         (WebKit::createKeygenWrapper):
1263         (WebKit::createHTMLElementWrapper):
1264         * bindings/objc/DOM.mm:
1265         (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement
1266         * html/HTMLKeygenElement.h:
1267         (WebCore::HTMLKeygenElement::willValidate): Now public.
1268         * html/HTMLKeygenElement.idl: Added.
1269         * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement.
1270         * page/DOMWindow.idl: Add HTMLKeygenElement constructor.
1271
1272 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1273
1274         Unreviewed, rolling out r76203.
1275         http://trac.webkit.org/changeset/76203
1276         https://bugs.webkit.org/show_bug.cgi?id=52784
1277
1278         Broke Win compile on Chromium bots (Requested by dimich on
1279         #webkit).
1280
1281         * WebCore.gypi:
1282         * bindings/v8/V8DOMWindowShell.cpp:
1283         (WebCore::reportFatalErrorInV8):
1284         * page/PageGroup.cpp:
1285         (WebCore::PageGroup::isLinkVisited):
1286         * platform/android/PlatformBridge.h:
1287         * platform/audio/chromium/AudioBusChromium.cpp:
1288         (WebCore::createBusFromInMemoryAudioFile):
1289         * platform/chromium/ChromiumBridge.h: Added.
1290         * platform/chromium/ChromiumDataObjectLegacy.cpp:
1291         (WebCore::ChromiumDataObjectLegacy::getData):
1292         * platform/chromium/DragDataChromium.cpp:
1293         (WebCore::DragData::asURL):
1294         * platform/chromium/FileSystemChromium.cpp:
1295         (WebCore::deleteFile):
1296         (WebCore::deleteEmptyDirectory):
1297         (WebCore::getFileSize):
1298         (WebCore::getFileModificationTime):
1299         (WebCore::revealFolderInOS):
1300         (WebCore::directoryName):
1301         (WebCore::pathByAppendingComponent):
1302         (WebCore::makeAllDirectories):
1303         (WebCore::fileExists):
1304         (WebCore::openFile):
1305         (WebCore::closeFile):
1306         (WebCore::seekFile):
1307         (WebCore::truncateFile):
1308         (WebCore::readFromFile):
1309         (WebCore::writeToFile):
1310         * platform/chromium/LanguageChromium.cpp:
1311         (WebCore::platformDefaultLanguage):
1312         * platform/chromium/LinkHashChromium.cpp:
1313         (WebCore::visitedLinkHash):
1314         * platform/chromium/MIMETypeRegistryChromium.cpp:
1315         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1316         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
1317         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
1318         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
1319         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
1320         * platform/chromium/PasteboardChromium.cpp:
1321         (WebCore::Pasteboard::writeSelection):
1322         (WebCore::Pasteboard::writePlainText):
1323         (WebCore::Pasteboard::writeURL):
1324         (WebCore::Pasteboard::writeImage):
1325         (WebCore::Pasteboard::canSmartReplace):
1326         (WebCore::Pasteboard::plainText):
1327         (WebCore::Pasteboard::documentFragment):
1328         * platform/chromium/PlatformBridge.h:
1329         * platform/chromium/PlatformScreenChromium.cpp:
1330         (WebCore::screenDepth):
1331         (WebCore::screenDepthPerComponent):
1332         (WebCore::screenIsMonochrome):
1333         (WebCore::screenRect):
1334         (WebCore::screenAvailableRect):
1335         * platform/chromium/ReadableDataObject.cpp:
1336         (WebCore::ReadableDataObject::getData):
1337         (WebCore::ReadableDataObject::urlTitle):
1338         (WebCore::ReadableDataObject::htmlBaseUrl):
1339         (WebCore::ReadableDataObject::filenames):
1340         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
1341         * platform/chromium/SSLKeyGeneratorChromium.cpp:
1342         (WebCore::signedPublicKeyAndChallengeString):
1343         * platform/chromium/ScrollbarThemeChromium.cpp:
1344         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1345         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
1346         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
1347         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
1348         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
1349         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
1350         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
1351         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1352         (WebCore::scrollbarStateToThemeState):
1353         (WebCore::ScrollbarThemeChromiumMac::paint):
1354         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1355         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
1356         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
1357         (WebCore::ScrollbarThemeChromiumWin::paintButton):
1358         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
1359         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
1360         * platform/chromium/SharedTimerChromium.cpp:
1361         (WebCore::setSharedTimerFiredFunction):
1362         (WebCore::setSharedTimerFireTime):
1363         (WebCore::stopSharedTimer):
1364         * platform/chromium/SuddenTerminationChromium.cpp:
1365         (WebCore::disableSuddenTermination):
1366         (WebCore::enableSuddenTermination):
1367         * platform/chromium/SystemTimeChromium.cpp:
1368         (WebCore::currentTime):
1369         * platform/chromium/WritableDataObject.cpp:
1370         (WebCore::WritableDataObject::setData):
1371         * platform/graphics/chromium/CrossProcessFontLoading.mm:
1372         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1373         (WebCore::fontContainsCharacter):
1374         (WebCore::FillLogFont):
1375         * platform/graphics/chromium/FontCacheLinux.cpp:
1376         (WebCore::FontCache::getFontDataForCharacters):
1377         * platform/graphics/chromium/FontChromiumWin.cpp:
1378         (WebCore::Font::drawGlyphs):
1379         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1380         (WebCore::FontPlatformData::scriptFontProperties):
1381         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1382         (WebCore::FontPlatformData::querySystemForRenderStyle):
1383         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1384         (WebCore::fillBMPGlyphs):
1385         * platform/graphics/chromium/ImageChromium.cpp:
1386         (WebCore::Image::loadPlatformResource):
1387         * platform/graphics/chromium/ImageChromiumMac.mm:
1388         (WebCore::Image::loadPlatformResource):
1389         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1390         (WebCore::SimpleFontData::platformInit):
1391         (WebCore::SimpleFontData::determinePitch):
1392         (WebCore::SimpleFontData::platformWidthForGlyph):
1393         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
1394         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
1395         * platform/graphics/skia/FontCustomPlatformData.cpp:
1396         (WebCore::FontCustomPlatformData::fontPlatformData):
1397         * platform/network/chromium/CookieJarChromium.cpp:
1398         (WebCore::setCookies):
1399         (WebCore::cookies):
1400         (WebCore::cookieRequestHeaderFieldValue):
1401         (WebCore::cookiesEnabled):
1402         (WebCore::getRawCookies):
1403         (WebCore::deleteCookie):
1404         * platform/network/chromium/DNSChromium.cpp:
1405         (WebCore::prefetchDNS):
1406         * platform/qt/PlatformBridge.h:
1407         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
1408         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
1409         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
1410         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
1411         (chromiumOpen):
1412         (chromiumDelete):
1413         (chromiumAccess):
1414         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
1415         * plugins/chromium/PluginDataChromium.cpp:
1416         (WebCore::PluginCache::plugins):
1417         * rendering/RenderThemeChromiumMac.mm:
1418         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
1419         * rendering/RenderThemeChromiumSkia.cpp:
1420         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
1421         * rendering/RenderThemeChromiumWin.cpp:
1422         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
1423         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
1424         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
1425         (WebCore::RenderThemeChromiumWin::systemColor):
1426         (WebCore::RenderThemeChromiumWin::paintButton):
1427         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
1428         (WebCore::menuListButtonWidth):
1429         (WebCore::RenderThemeChromiumWin::paintMenuList):
1430         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
1431         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
1432         (WebCore::RenderThemeChromiumWin::paintProgressBar):
1433         * storage/chromium/IDBFactoryBackendInterface.cpp:
1434         (WebCore::IDBFactoryBackendInterface::create):
1435         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
1436         * storage/chromium/IDBKeyPathBackendImpl.cpp:
1437         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
1438
1439 2011-01-19  Helder Correia  <helder@sencha.com>
1440
1441         Reviewed by Andreas Kling.
1442
1443         [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha
1444         https://bugs.webkit.org/show_bug.cgi?id=52705
1445
1446         This is related to bug 52611. The shadow color alpha must be multiplied
1447         by the context pen alpha. Fixing this results in correct behavior for
1448         Canvas path stroke() and strokeRect() [which relies on stroke()].
1449
1450         Tests: fast/canvas/canvas-strokePath-alpha-shadow.html
1451                fast/canvas/canvas-strokeRect-alpha-shadow.html
1452
1453         * platform/graphics/qt/GraphicsContextQt.cpp:
1454         (WebCore::GraphicsContext::strokePath):
1455
1456 2011-01-19  Darin Fisher  <darin@chromium.org>
1457
1458         Reviewed by Mihai Parparita.
1459
1460         Re-initialize the HistoryItem fully when navigating to a HistoryItem,
1461         or replacing a HistoryItem, results in a different URL.
1462
1463         https://bugs.webkit.org/show_bug.cgi?id=49654
1464
1465         This patch also forces all HistoryItems to record the post-redirect
1466         URL.  Previously, frames would remember the pre-redirect URL.  This is
1467         problematic since other members of the HistoryItem correspond to the
1468         post-redirect URL.
1469
1470         Tests: fast/history/history-replace-updates-current-item.html
1471                http/tests/navigation/redirect-on-back-updates-history-item.html
1472                http/tests/navigation/redirect-on-reload-updates-history-item.html
1473
1474         * history/HistoryItem.cpp:
1475         (WebCore::HistoryItem::HistoryItem):
1476         (WebCore::HistoryItem::reset):
1477         * history/HistoryItem.h:
1478         * loader/HistoryController.cpp:
1479         (WebCore::HistoryController::updateForBackForwardNavigation):
1480         (WebCore::HistoryController::updateForReload):
1481         (WebCore::HistoryController::updateForStandardLoad):
1482         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
1483         (WebCore::HistoryController::initializeItem):
1484         (WebCore::HistoryController::createItem):
1485         (WebCore::HistoryController::createItemTree):
1486         (WebCore::HistoryController::updateCurrentItem):
1487         * loader/HistoryController.h:
1488
1489 2011-01-19  Adam Klein  <adamk@chromium.org>
1490
1491         Reviewed by Darin Fisher.
1492
1493         [chromium] Rename ChromiumBridge to PlatformBridge
1494         https://bugs.webkit.org/show_bug.cgi?id=52471
1495
1496         No tests added as this is a rename; no change in behavior.
1497
1498         * WebCore.gypi:
1499         * bindings/v8/V8DOMWindowShell.cpp:
1500         (WebCore::reportFatalErrorInV8):
1501         * page/PageGroup.cpp:
1502         (WebCore::PageGroup::isLinkVisited):
1503         * platform/android/PlatformBridge.h:
1504         * platform/audio/chromium/AudioBusChromium.cpp:
1505         (WebCore::createBusFromInMemoryAudioFile):
1506         * platform/chromium/ChromiumBridge.h: Removed.
1507         * platform/chromium/ChromiumDataObjectLegacy.cpp:
1508         (WebCore::ChromiumDataObjectLegacy::getData):
1509         * platform/chromium/DragDataChromium.cpp:
1510         (WebCore::DragData::asURL):
1511         * platform/chromium/FileSystemChromium.cpp:
1512         (WebCore::deleteFile):
1513         (WebCore::deleteEmptyDirectory):
1514         (WebCore::getFileSize):
1515         (WebCore::getFileModificationTime):
1516         (WebCore::revealFolderInOS):
1517         (WebCore::directoryName):
1518         (WebCore::pathByAppendingComponent):
1519         (WebCore::makeAllDirectories):
1520         (WebCore::fileExists):
1521         (WebCore::openFile):
1522         (WebCore::closeFile):
1523         (WebCore::seekFile):
1524         (WebCore::truncateFile):
1525         (WebCore::readFromFile):
1526         (WebCore::writeToFile):
1527         * platform/chromium/LanguageChromium.cpp:
1528         (WebCore::platformDefaultLanguage):
1529         * platform/chromium/LinkHashChromium.cpp:
1530         (WebCore::visitedLinkHash):
1531         * platform/chromium/MIMETypeRegistryChromium.cpp:
1532         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1533         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
1534         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
1535         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
1536         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
1537         * platform/chromium/PasteboardChromium.cpp:
1538         (WebCore::Pasteboard::writeSelection):
1539         (WebCore::Pasteboard::writePlainText):
1540         (WebCore::Pasteboard::writeURL):
1541         (WebCore::Pasteboard::writeImage):
1542         (WebCore::Pasteboard::canSmartReplace):
1543         (WebCore::Pasteboard::plainText):
1544         (WebCore::Pasteboard::documentFragment):
1545         * platform/chromium/PlatformBridge.h:
1546         * platform/chromium/PlatformScreenChromium.cpp:
1547         (WebCore::screenDepth):
1548         (WebCore::screenDepthPerComponent):
1549         (WebCore::screenIsMonochrome):
1550         (WebCore::screenRect):
1551         (WebCore::screenAvailableRect):
1552         * platform/chromium/ReadableDataObject.cpp:
1553         (WebCore::ReadableDataObject::getData):
1554         (WebCore::ReadableDataObject::urlTitle):
1555         (WebCore::ReadableDataObject::htmlBaseUrl):
1556         (WebCore::ReadableDataObject::filenames):
1557         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
1558         * platform/chromium/SSLKeyGeneratorChromium.cpp:
1559         (WebCore::signedPublicKeyAndChallengeString):
1560         * platform/chromium/ScrollbarThemeChromium.cpp:
1561         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1562         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
1563         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
1564         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
1565         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
1566         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
1567         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
1568         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1569         (WebCore::scrollbarStateToThemeState):
1570         (WebCore::ScrollbarThemeChromiumMac::paint):
1571         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1572         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
1573         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
1574         (WebCore::ScrollbarThemeChromiumWin::paintButton):
1575         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
1576         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
1577         * platform/chromium/SharedTimerChromium.cpp:
1578         (WebCore::setSharedTimerFiredFunction):
1579         (WebCore::setSharedTimerFireTime):
1580         (WebCore::stopSharedTimer):
1581         * platform/chromium/SuddenTerminationChromium.cpp:
1582         (WebCore::disableSuddenTermination):
1583         (WebCore::enableSuddenTermination):
1584         * platform/chromium/SystemTimeChromium.cpp:
1585         (WebCore::currentTime):
1586         * platform/chromium/WritableDataObject.cpp:
1587         (WebCore::WritableDataObject::setData):
1588         * platform/graphics/chromium/CrossProcessFontLoading.mm:
1589         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1590         (WebCore::fontContainsCharacter):
1591         (WebCore::FillLogFont):
1592         * platform/graphics/chromium/FontCacheLinux.cpp:
1593         (WebCore::FontCache::getFontDataForCharacters):
1594         * platform/graphics/chromium/FontChromiumWin.cpp:
1595         (WebCore::Font::drawGlyphs):
1596         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1597         (WebCore::FontPlatformData::scriptFontProperties):
1598         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1599         (WebCore::FontPlatformData::querySystemForRenderStyle):
1600         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1601         (WebCore::fillBMPGlyphs):
1602         * platform/graphics/chromium/ImageChromium.cpp:
1603         (WebCore::Image::loadPlatformResource):
1604         * platform/graphics/chromium/ImageChromiumMac.mm:
1605         (WebCore::Image::loadPlatformResource):
1606         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1607         (WebCore::SimpleFontData::platformInit):
1608         (WebCore::SimpleFontData::determinePitch):
1609         (WebCore::SimpleFontData::platformWidthForGlyph):
1610         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
1611         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
1612         * platform/graphics/skia/FontCustomPlatformData.cpp:
1613         (WebCore::FontCustomPlatformData::fontPlatformData):
1614         * platform/network/chromium/CookieJarChromium.cpp:
1615         (WebCore::setCookies):
1616         (WebCore::cookies):
1617         (WebCore::cookieRequestHeaderFieldValue):
1618         (WebCore::cookiesEnabled):
1619         (WebCore::getRawCookies):
1620         (WebCore::deleteCookie):
1621         * platform/network/chromium/DNSChromium.cpp:
1622         (WebCore::prefetchDNS):
1623         * platform/qt/PlatformBridge.h:
1624         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
1625         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
1626         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
1627         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
1628         (chromiumOpen):
1629         (chromiumDelete):
1630         (chromiumAccess):
1631         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
1632         * plugins/chromium/PluginDataChromium.cpp:
1633         (WebCore::PluginCache::plugins):
1634         * rendering/RenderThemeChromiumMac.mm:
1635         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
1636         * rendering/RenderThemeChromiumSkia.cpp:
1637         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
1638         * rendering/RenderThemeChromiumWin.cpp:
1639         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
1640         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
1641         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
1642         (WebCore::RenderThemeChromiumWin::systemColor):
1643         (WebCore::RenderThemeChromiumWin::paintButton):
1644         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
1645         (WebCore::menuListButtonWidth):
1646         (WebCore::RenderThemeChromiumWin::paintMenuList):
1647         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
1648         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
1649         (WebCore::RenderThemeChromiumWin::paintProgressBar):
1650         * storage/chromium/IDBFactoryBackendInterface.cpp:
1651         (WebCore::IDBFactoryBackendInterface::create):
1652         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
1653         * storage/chromium/IDBKeyPathBackendImpl.cpp:
1654         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
1655
1656 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1657
1658         Unreviewed, rolling out r76187.
1659         http://trac.webkit.org/changeset/76187
1660         https://bugs.webkit.org/show_bug.cgi?id=52778
1661
1662         Broke caret-showing tests on SnowLeopard and Chromium
1663         (Requested by dimich on #webkit).
1664
1665         * rendering/RenderText.cpp:
1666         (WebCore::RenderText::localCaretRect):
1667
1668 2011-01-19  Yuzo Fujishima  <yuzo@google.com>
1669
1670         Reviewed by Kent Tamura.
1671
1672         Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks
1673         https://bugs.webkit.org/show_bug.cgi?id=52279
1674
1675         In constructing text fragments to handle first-letter rule, first add
1676         the text for the non-first letters and then remove the original text,
1677         rather than the other way around. Otherwise, the text can be added to
1678         an anoymous block that is different from the original one. This breaks
1679         the assumption that a first letter render object has a non-null sibling
1680         for the non-first letters and causes a crash.
1681
1682         Test: fast/css/first-letter-anonymous-block-crash.html
1683
1684         * rendering/RenderBlock.cpp:
1685         (WebCore::RenderBlock::updateFirstLetter):
1686
1687 2011-01-19  James Robinson  <jamesr@chromium.org>
1688
1689         Unreviewed, rolling out r76194.
1690         http://trac.webkit.org/changeset/76194
1691         https://bugs.webkit.org/show_bug.cgi?id=51218
1692
1693         Caused mysterious compile failure on the chromium win
1694         build.webkit.org bots
1695
1696         * WebCore.gypi:
1697         * dom/Document.cpp:
1698         (WebCore::Document::Document):
1699         * dom/Document.h:
1700         * dom/RequestAnimationFrameCallback.h: Removed.
1701         * dom/RequestAnimationFrameCallback.idl: Removed.
1702         * loader/EmptyClients.h:
1703         * page/Chrome.cpp:
1704         * page/Chrome.h:
1705         * page/ChromeClient.h:
1706         * page/DOMWindow.cpp:
1707         * page/DOMWindow.h:
1708         * page/DOMWindow.idl:
1709         * page/FrameView.cpp:
1710         * page/FrameView.h:
1711         * platform/HostWindow.h:
1712
1713 2011-01-19  Simon Fraser  <simon.fraser@apple.com>
1714
1715         Reviewed by Sam Weinig.
1716
1717         GraphicsLayers in subframes can get sync'd multiple times
1718         https://bugs.webkit.org/show_bug.cgi?id=52489
1719
1720         Some cleanup that will work towards fixing this bug.
1721         
1722         Tested by existing iframe compositing tests.
1723
1724         * WebCore.exp.in: syncCompositingStateRecursive()
1725         was renamed to syncCompositingStateIncludingSubframes().
1726
1727         * page/FrameView.h:
1728         * page/FrameView.cpp:
1729         (WebCore::FrameView::syncCompositingStateForThisFrame): Some
1730         code cleanup: do all the word we need to do for this frame,
1731         including the needsLayout() check.
1732         (WebCore::FrameView::syncCompositingStateIncludingSubframes):
1733         This is no longer recursive; instead, it iterates over descendant
1734         frames via the frame tree, calling syncCompositingStateForThisFrame()
1735         on each Frame's view.
1736
1737         * rendering/RenderLayerCompositor.h:
1738         (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag.
1739         * rendering/RenderLayerCompositor.cpp: 
1740         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1741         (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain
1742         a flag to say if we're flushing, which allows us to assert on re-entrant flushes.
1743         (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
1744         Add the ability to get the rootmost compositor that is in the middle
1745         of a flush.
1746
1747 2011-01-19  James Robinson  <jamesr@chromium.org>
1748
1749         Reviewed by Darin Fisher.
1750
1751         Implement mozilla's requestAnimationFrame API
1752         https://bugs.webkit.org/show_bug.cgi?id=51218
1753
1754         This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
1755         an author driving an animation from script could use window.requestAnimationFrame(callback)
1756         instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
1757         decide when to update the animations.  This avoids doing unnecessary work when the page content
1758         is offscreen or is being displayed at a different framerate than what the page author expects.
1759
1760         Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
1761         This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
1762         following changes:
1763         *) Only the callback syntax is supported, there is no before paint event
1764         *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
1765             what content they intend to animate.  That way if the page is being displayed but the element
1766             in question is offscreen, we can avoid invoking the callback.
1767         *) No timestamp is provided to the caller and there is no window.animationStartTime property
1768             (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
1769         *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
1770             using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
1771
1772         The implementation depends on the embedder scheduling the callbacks since the callback invocation
1773         depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
1774         to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
1775         called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
1776         Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
1777         embedder has to rate limit callbacks and may not be able to tie the callback directly to the
1778         rendering loop.
1779
1780         Tests: fast/animation/request-animation-frame-cancel.html
1781                fast/animation/request-animation-frame-cancel2.html
1782                fast/animation/request-animation-frame-display.html
1783                fast/animation/request-animation-frame-within-callback.html
1784                fast/animation/request-animation-frame.html
1785
1786         * WebCore.gypi:
1787         * dom/Document.cpp:
1788         (WebCore::Document::Document):
1789         (WebCore::Document::webkitRequestAnimationFrame):
1790         (WebCore::Document::webkitCancelRequestAnimationFrame):
1791         (WebCore::Document::serviceScriptedAnimations):
1792         * dom/Document.h:
1793         * dom/RequestAnimationFrameCallback.h: Added.
1794         (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
1795         * dom/RequestAnimationFrameCallback.idl: Added.
1796         * loader/EmptyClients.h:
1797         (WebCore::EmptyChromeClient::scheduleAnimation):
1798         * page/Chrome.cpp:
1799         (WebCore::Chrome::scheduleAnimation):
1800         * page/Chrome.h:
1801         * page/ChromeClient.h:
1802         * page/DOMWindow.cpp:
1803         (WebCore::DOMWindow::webkitRequestAnimationFrame):
1804         (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
1805         * page/DOMWindow.h:
1806         * page/DOMWindow.idl:
1807         * page/FrameView.cpp:
1808         (WebCore::FrameView::scheduleAnimation):
1809         (WebCore::FrameView::serviceScriptedAnimations):
1810         * page/FrameView.h:
1811         * platform/HostWindow.h:
1812
1813 2011-01-13  Martin Robinson  <mrobinson@igalia.com>
1814
1815         Reviewed by Daniel Bates.
1816
1817         [GTK] Move progress bar painting out of gtk2drawing.c
1818         https://bugs.webkit.org/show_bug.cgi?id=52385
1819
1820         Move progress bar painting to RenderThemeGtk2 and share some animation
1821         logic between the GTK+ 2.x and GTK+ 3.x port.
1822
1823         No new tests. This should not change functionality.
1824
1825         * platform/gtk/RenderThemeGtk.cpp:
1826         (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3.
1827         (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
1828         (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the
1829         progress indicator given the rect for the maximum size of the indicator.
1830         * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and
1831         a new widget member for GTK+ 2.x
1832         * platform/gtk/RenderThemeGtk2.cpp:
1833         (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member.
1834         (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of
1835         calling the old Mozilla code.
1836         (WebCore::RenderThemeGtk::gtkProgressBar): Added.
1837         * platform/gtk/RenderThemeGtk3.cpp:
1838         (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get
1839         the area of the progress indicator.
1840         * platform/gtk/gtk2drawing.c: Remove unused code.
1841         (moz_gtk_get_widget_border):
1842         (moz_gtk_widget_paint):
1843         * platform/gtk/gtkdrawing.h: Ditto.
1844
1845 2011-01-19  Dmitry Titov  <dimich@chromium.org>
1846
1847         [Chromium] Not reviewed, reverts the following changes:
1848         http://trac.webkit.org/changeset/76164 (build fix)
1849         http://trac.webkit.org/changeset/76159 (main change)
1850
1851         The change broke Chromium Linux-shlib build.
1852
1853         Original issue:
1854         Accelerated canvas2D has bad clipping performance.
1855         https://bugs.webkit.org/show_bug.cgi?id=52627
1856
1857         * WebCore.gyp/WebCore.gyp:
1858         * WebCore.gypi:
1859         * html/canvas/CanvasRenderingContext2D.cpp:
1860         (WebCore::CanvasRenderingContext2D::reset):
1861         (WebCore::CanvasRenderingContext2D::platformLayer):
1862         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1863         (WebCore::DrawingBuffer::DrawingBuffer):
1864         * platform/graphics/chromium/GLES2Canvas.cpp:
1865         (WebCore::GLES2Canvas::State::State):
1866         (WebCore::GLES2Canvas::clearRect):
1867         (WebCore::GLES2Canvas::fillRect):
1868         (WebCore::GLES2Canvas::restore):
1869         (WebCore::GLES2Canvas::drawTexturedRect):
1870         * platform/graphics/chromium/GLES2Canvas.h:
1871         * platform/graphics/gpu/DrawingBuffer.cpp:
1872         (WebCore::DrawingBuffer::clear):
1873         (WebCore::DrawingBuffer::createSecondaryBuffers):
1874         (WebCore::DrawingBuffer::reset):
1875         * platform/graphics/gpu/DrawingBuffer.h:
1876         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1877         (WebCore::SharedGraphicsContext3D::create):
1878         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1879         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
1880         (WebCore::DrawingBuffer::DrawingBuffer):
1881         * platform/graphics/skia/GraphicsContextSkia.cpp:
1882         (WebCore::GraphicsContext::canvasClip):
1883         (WebCore::GraphicsContext::clipOut):
1884         (WebCore::GraphicsContext::clipPath):
1885         (WebCore::GraphicsContext::fillPath):
1886         * platform/graphics/skia/PlatformContextSkia.cpp:
1887         (WebCore::PlatformContextSkia::canAccelerate):
1888         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
1889         * thirdparty/glu/README.webkit:
1890         * thirdparty/glu/gluos.h:
1891         * thirdparty/glu/libtess/geom.c:
1892         * thirdparty/glu/libtess/priorityq.c:
1893         * thirdparty/glu/libtess/render.c:
1894         * thirdparty/glu/libtess/sweep.c:
1895         (IsWindingInside):
1896         (DoneEdgeDict):
1897
1898 2011-01-19  Levi Weintraub  <leviw@google.com>
1899
1900         Reviewed by Darin Adler.
1901
1902         Re-committing this with the proper expected results.
1903
1904         Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
1905         logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
1906         resulted in the caret being placed incorrectly in overflowing editable IFrame content.
1907
1908         Long lines in non-white-space-pre editable documents show cursor in wrong place
1909         https://bugs.webkit.org/show_bug.cgi?id=48132
1910
1911         Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
1912
1913         * rendering/RenderText.cpp:
1914         (WebCore::RenderText::localCaretRect):
1915
1916 2011-01-18 MORITA Hajime <morrita@google.com>
1917
1918         Reviewed by David Levin.
1919
1920         ElementRareData::m_shadowRoot should not be RefPtr.
1921         https://bugs.webkit.org/show_bug.cgi?id=51914
1922
1923         Makes ElementRareData::m_shadowRoot a raw pointer because
1924         ElementRareData::m_shadowRoot should be like a
1925         ContaineNode::m_firstChild, which is also a raw pointer.
1926         pointer. Which also means that both the shadow root and the shadow
1927         host reference each other as a parent-and-child relationship, via
1928         a raw pointer.
1929         
1930         Note that it is safe not to manipulate the ref-count of
1931         m_shadowRoot because Node::m_parent of the shadow root points its
1932         shadow host, and the object isn't deleted even if the refcount is
1933         zero, as long as the node has non-null m_parent. (See TreeShared.)
1934         
1935         The shadow root node is finally destroyed inside
1936         removeShadowRoot(), where we store the root node into a local
1937         RefPtr, then make the node's m_parent null, which results the
1938         destroy the node, at the end of the function, by RefPtr::~RefPtr.
1939         
1940         No new tests. No behavioral change.
1941
1942         * dom/Element.cpp:
1943         (WebCore::Element::~Element):
1944         (WebCore::Element::shadowRoot):
1945         (WebCore::Element::setShadowRoot):
1946         (WebCore::Element::removeShadowRoot):
1947         * dom/ElementRareData.h:
1948         (WebCore::ElementRareData::ElementRareData):
1949         (WebCore::ElementRareData::~ElementRareData):
1950
1951 2011-01-12  Martin Robinson  <mrobinson@igalia.com>
1952
1953         Reviewed by Gustavo Noronha Silva.
1954
1955         [GTK] Move text field painting out of gtk2drawing.c
1956         https://bugs.webkit.org/show_bug.cgi?id=52327
1957
1958         No new tests. This should not change behavior.
1959
1960         * platform/gtk/RenderThemeGtk2.cpp:
1961         (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper.
1962         (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead
1963         of calling into the Mozilla code.
1964         * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers
1965         for GTK+ theme functions.
1966         (WebCore::WidgetRenderingContext::gtkPaintFlatBox):
1967         (WebCore::WidgetRenderingContext::gtkPaintShadow):
1968         * platform/gtk/WidgetRenderingContext.h: Added new method declarations.
1969         * platform/gtk/gtk2drawing.c: Remove unused code.
1970         (moz_gtk_get_widget_border):
1971         (moz_gtk_widget_paint):
1972         * platform/gtk/gtkdrawing.h:
1973
1974 2011-01-19  Antti Koivisto  <antti@apple.com>
1975
1976         Reviewed by Oliver Hunt.
1977
1978         Cache function offsets to speed up javascript parsing
1979         https://bugs.webkit.org/show_bug.cgi?id=52622
1980         
1981         Use cache to save function offsets and some other info.
1982         This avoids quite a bit of work when reparsing the source.
1983
1984         * bindings/js/CachedScriptSourceProvider.h:
1985         (WebCore::CachedScriptSourceProvider::cache):
1986         (WebCore::CachedScriptSourceProvider::cacheSizeChanged):
1987         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
1988         * bindings/js/ScriptSourceProvider.h:
1989         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
1990         * loader/cache/CachedScript.cpp:
1991         (WebCore::CachedScript::destroyDecodedData):
1992         (WebCore::CachedScript::sourceProviderCache):
1993         (WebCore::CachedScript::sourceProviderCacheSizeChanged):
1994         * loader/cache/CachedScript.h:
1995
1996 2011-01-11  Martin Robinson  <mrobinson@igalia.com>
1997
1998         Reviewed by Gustavo Noronha Silva.
1999
2000         [GTK] Move toggle button rendering out of gtk2drawing.c
2001         https://bugs.webkit.org/show_bug.cgi?id=52258
2002
2003         * platform/gtk/RenderThemeGtk.h:
2004         * platform/gtk/RenderThemeGtk2.cpp:
2005         (WebCore::RenderThemeGtk::platformInit): Initialize new button members.
2006         (WebCore::adjustRectForFocus): Added this function which inflates a rect based
2007         on a widget's exterior focus.
2008         (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus.
2009         (WebCore::setToggleSize): Only listen to indicator-size to properly size
2010         checkboxes and radio buttons.
2011         (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly.
2012         (WebCore::paintToggle): Added.
2013         (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle.
2014         (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly.
2015         (WebCore::RenderThemeGtk::paintRadio): Call paintToggle.
2016         (WebCore::RenderThemeGtk::gtkRadioButton): Added.
2017         (WebCore::RenderThemeGtk::gtkCheckButton): Added.
2018         * platform/gtk/WidgetRenderingContext.cpp:
2019         (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space
2020         variable. This is good enough for all themes that I've tested and prevents having to
2021         pass information from RenderThemeGtk about every single type of widget.
2022         (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect
2023         to draw instead of m_paintRect. This is important when we're painting
2024         something that isn't the size of the total rect.
2025         (WebCore::WidgetRenderingContext::gtkPaintCheck): Added.
2026         (WebCore::WidgetRenderingContext::gtkPaintOption): Added.
2027         * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods.
2028         * platform/gtk/gtkdrawing.h: Remove newly unused code.
2029         * platform/gtk/gtk2drawing.c: Ditto.
2030
2031 2011-01-19  Tony Gentilcore  <tonyg@chromium.org>
2032
2033         Unreviewed build fix.
2034
2035         Build fix for r76170
2036         https://bugs.webkit.org/show_bug.cgi?id=52758
2037
2038         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
2039
2040 2011-01-19  David D. Kilzer  <ddkilzer@apple.com>
2041
2042         <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO
2043
2044         Reviewed by Eric Carlson.
2045
2046         * loader/FrameLoader.cpp: Declare the methods here.
2047         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
2048         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
2049         * loader/FrameLoader.cpp: Moved methods to here...
2050         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
2051         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
2052         * loader/SubframeLoader.cpp: ...from here.
2053         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
2054         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
2055
2056 2011-01-19  Tony Gentilcore  <tonyg@chromium.org>
2057
2058         Reviewed by Mihai Parparita.
2059
2060         Perform some forward declaration
2061         https://bugs.webkit.org/show_bug.cgi?id=52522
2062
2063         No new tests because no new functionality.
2064
2065         * accessibility/AccessibilityObject.h:
2066         * css/WebKitCSSMatrix.cpp:
2067         * html/HTMLAreaElement.cpp:
2068         * html/canvas/CanvasRenderingContext2D.cpp:
2069         * inspector/InspectorController.cpp:
2070         * platform/graphics/FloatPoint.cpp:
2071         * platform/graphics/Font.cpp:
2072         * platform/graphics/Font.h:
2073         * platform/graphics/FontFastPath.cpp:
2074         * platform/graphics/GraphicsContext.cpp:
2075         * platform/graphics/ImageBuffer.h:
2076         * platform/graphics/StringTruncator.cpp:
2077         * platform/graphics/WidthIterator.cpp:
2078         * platform/graphics/mac/ComplexTextController.cpp:
2079         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
2080         * platform/graphics/mac/FontComplexTextMac.cpp:
2081         * platform/graphics/transforms/TransformationMatrix.cpp:
2082         * platform/graphics/transforms/TransformationMatrix.h:
2083         * rendering/EllipsisBox.cpp:
2084         * rendering/InlineTextBox.cpp:
2085         * rendering/RenderBlock.cpp:
2086         * rendering/RenderBlockLineLayout.cpp:
2087         * rendering/RenderEmbeddedObject.cpp:
2088         * rendering/RenderFileUploadControl.cpp:
2089         * rendering/RenderFlexibleBox.cpp:
2090         * rendering/RenderImage.cpp:
2091         * rendering/RenderListBox.cpp:
2092         * rendering/RenderListMarker.cpp:
2093         * rendering/RenderMenuList.cpp:
2094         * rendering/RenderObject.h:
2095         * rendering/RenderText.cpp:
2096         * rendering/RenderTextControl.cpp:
2097         * rendering/svg/SVGInlineTextBox.cpp:
2098         * rendering/svg/SVGMarkerLayoutInfo.h:
2099         * rendering/svg/SVGTextMetrics.cpp:
2100         * svg/SVGFont.cpp:
2101
2102 2011-01-19  Adrienne Walker  <enne@google.com>
2103
2104         Reviewed by Kenneth Russell.
2105
2106         [chromium] Tiled compositor should use texture manager
2107         https://bugs.webkit.org/show_bug.cgi?id=52418
2108
2109         Test: compositing/
2110
2111         * platform/graphics/chromium/LayerRendererChromium.cpp:
2112         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2113         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2114         * platform/graphics/chromium/LayerTilerChromium.cpp:
2115         (WebCore::LayerTilerChromium::LayerTilerChromium):
2116         (WebCore::LayerTilerChromium::reset):
2117         (WebCore::LayerTilerChromium::createTile):
2118         (WebCore::LayerTilerChromium::update):
2119         (WebCore::LayerTilerChromium::draw):
2120         * platform/graphics/chromium/LayerTilerChromium.h:
2121         (WebCore::LayerTilerChromium::Tile::Tile):
2122         (WebCore::LayerTilerChromium::Tile::texture):
2123
2124 2011-01-19  Stephen White  <senorblanco@chromium.org>
2125
2126         Unreviewed; build fix for chromium.
2127
2128         * platform/graphics/chromium/GLES2Canvas.cpp:
2129         (WebCore::GLES2Canvas::fillPath):
2130
2131 2011-01-18  Stephen White  <senorblanco@chromium.org>
2132
2133         Reviewed by James Robinson.
2134
2135         Implement accelerated path drawing and clipping for the Canvas2D GPU
2136         path.
2137         https://bugs.webkit.org/show_bug.cgi?id=52627
2138         
2139         This is done with a simple curve interpolator and the GLU tesselator,
2140         which is good enough for a 3-5X speedup on
2141         http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
2142
2143         Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
2144         All tests canvas/philip and fast/canvas paths pass with no
2145         regressions, although two have minor pixel differences which require
2146         rebaselining.
2147
2148         * WebCore.gyp/WebCore.gyp:
2149         Add internal_glu include path to chromium build.
2150         * WebCore.gypi:
2151         Add internal_glu files to chromium build.
2152         * html/canvas/CanvasRenderingContext2D.cpp:
2153         (WebCore::CanvasRenderingContext2D::reset):
2154         (WebCore::CanvasRenderingContext2D::platformLayer):
2155         Make CanvasRenderingContext2D more robust against failure to create
2156         a DrawingBuffer.
2157         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2158         (WebCore::DrawingBuffer::DrawingBuffer):
2159         As in DrawingBufferMac.cpp, call reset() from the constructor.
2160         Also initialize size to (-1, -1), so reset() doesn't early-out.
2161         Add initializers for depthBuffer and stencilBuffer, and remove
2162         multisampleDepthStencilBuffer.
2163         * platform/graphics/chromium/GLES2Canvas.cpp:
2164         Remove some unused #includes.
2165         (WebCore::GLES2Canvas::State::State):
2166         Add clipping state, and implement save/restore via the copy constructor.
2167         (WebCore::operator*):
2168         (WebCore::Quadratic::Quadratic):
2169         (WebCore::Quadratic::fromBezier):
2170         (WebCore::Quadratic::evaluate):
2171         Quadratic Bezier curve class.
2172         (WebCore::Cubic::Cubic):
2173         (WebCore::Cubic::fromBezier):
2174         (WebCore::Cubic::evaluate):
2175         Cubic Bezier curve class.
2176         (WebCore::GLES2Canvas::clearRect):
2177         Add clipping support to clearRect().
2178         (WebCore::GLES2Canvas::fillPath):
2179         Implement fillPath().
2180         (WebCore::GLES2Canvas::fillRect):
2181         Add clipping support to fillRect().
2182         (WebCore::GLES2Canvas::clipPath):
2183         Implement clipPath().
2184         (WebCore::GLES2Canvas::clipOut):
2185         Stub out clipOut() (not called by Canvas 2D).
2186         (WebCore::GLES2Canvas::restore):
2187         When restoring, draw any remaining clipping paths to the stencil buffer.
2188         (WebCore::GLES2Canvas::drawTexturedRect):
2189         Add clipping support.
2190         (WebCore::interpolateQuadratic):
2191         (WebCore::interpolateCubic):
2192         Simple curve interpolation, using the Cubic and Quadratic classes.
2193         (WebCore::PolygonData::PolygonData):
2194         A struct to hold the tesselation data for callbacks.
2195         (WebCore::beginData):
2196         (WebCore::edgeFlagData):
2197         (WebCore::vertexData):
2198         (WebCore::endData):
2199         (WebCore::combineData):
2200         internal_glu tesselation callbacks.
2201         (WebCore::GLES2Canvas::createVertexBufferFromPath):
2202         Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
2203         (WebCore::GLES2Canvas::beginStencilDraw):
2204         Enable stencilling, and disable draws to the color buffer.
2205         (WebCore::GLES2Canvas::applyClipping):
2206         If clipping is enabled, set the appropriate GL state.
2207         * platform/graphics/chromium/GLES2Canvas.h:
2208         Document the flavours of drawTexturedRect() a bit, so I don't get confused.
2209         * platform/graphics/gpu/DrawingBuffer.cpp:
2210         (WebCore::DrawingBuffer::clear):
2211         (WebCore::DrawingBuffer::createSecondaryBuffers):
2212         (WebCore::DrawingBuffer::resizeDepthStencil):
2213         (WebCore::DrawingBuffer::reset):
2214         * platform/graphics/gpu/DrawingBuffer.h:
2215         Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
2216         Implement separate depth and stencil buffers for when
2217         OES_packed_depth_stencil is not available.  Refactor creation of
2218         multisampled and non-multisampled depth and stencil buffers into
2219         resizeDepthStencil().
2220         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2221         (WebCore::SharedGraphicsContext3D::create):
2222         Turn on stencil, turn off depth, turn off antialiasing (for now).
2223         (WebCore::SharedGraphicsContext3D::enableStencil):
2224         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2225         Implement stencil enable/disable.
2226         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2227         (WebCore::DrawingBuffer::DrawingBuffer):
2228         Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
2229         on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
2230         and m_stencilBuffer.
2231         * platform/graphics/skia/GraphicsContextSkia.cpp:
2232         (WebCore::GraphicsContext::canvasClip):
2233         (WebCore::GraphicsContext::clipOut):
2234         (WebCore::GraphicsContext::clipPath):
2235         (WebCore::GraphicsContext::fillPath):
2236         Put in GPU hooks for path clipping, and path drawing.
2237         * platform/graphics/skia/PlatformContextSkia.cpp:
2238         (WebCore::PlatformContextSkia::canAccelerate):
2239         Don't check for clipping paths in canAccelerate() (since we can
2240         now accelerate them).
2241         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
2242         Don't do clipping when uploading software draws to hardware.
2243         * thirdparty/glu/README.webkit:
2244         * thirdparty/glu/gluos.h:
2245         #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
2246         * thirdparty/glu/libtess/geom.c:
2247         * thirdparty/glu/libtess/priorityq.c:
2248         * thirdparty/glu/libtess/render.c:
2249         Use do{}while(0) instead of if(1)else construct in macro.
2250         * thirdparty/glu/libtess/sweep.c:
2251         (IsWindingInside):
2252         (DoneEdgeDict):
2253         Fix some warnings treated as errors for the Linux Release build.
2254
2255 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2256
2257         Unreviewed, rolling out r76144.
2258         http://trac.webkit.org/changeset/76144
2259         https://bugs.webkit.org/show_bug.cgi?id=52737
2260
2261         Broke tests on multiple bots, mostly Chromium Canaries
2262         (Requested by dimich on #webkit).
2263
2264         * rendering/RenderText.cpp:
2265         (WebCore::RenderText::localCaretRect):
2266
2267 2011-01-19  Simon Fraser  <simon.fraser@apple.com>
2268
2269         Reviewed by Adam Roben.
2270
2271         [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former
2272         https://bugs.webkit.org/show_bug.cgi?id=52732
2273         
2274         When repeating gradient stops, make sure that the first and last stops are not at the same
2275         place, otherwise we'll add stops indefinitely and run out of memory.
2276
2277         Test: fast/gradients/zero-range-repeating-gradient-hang.html
2278
2279         * css/CSSGradientValue.cpp:
2280         (WebCore::CSSGradientValue::addStops):
2281
2282 2011-01-14  Dimitri Glazkov  <dglazkov@chromium.org>
2283
2284         Reviewed by Darin Adler.
2285
2286         Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic.
2287         https://bugs.webkit.org/show_bug.cgi?id=52464
2288
2289         This change has two parts:
2290
2291         1) Utilize shadow DOM event retargeting to get rid of forwarding events
2292            via render tree;
2293         2) Move thumb positioning logic from RenderSlider to SliderThumbElement.
2294
2295         These two are highly co-dependent. It looked ugly when I tried to
2296         separate them.
2297
2298         No change in behavior, covered by existing tests.
2299
2300         * html/HTMLInputElement.cpp:
2301         (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of
2302             InputType::handleMouseDownEvent.
2303         * html/InputType.cpp:
2304         (WebCore::InputType::handleMouseDownEvent): Added empty decl.
2305         * html/InputType.h: Added def.
2306         * html/RangeInputType.cpp:
2307         (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case
2308             when the user clicks on the track of the slider. Also removed the
2309             forwardEvent method.
2310         * html/RangeInputType.h: Added/removed defs.
2311         * html/shadow/SliderThumbElement.cpp:
2312         (WebCore::SliderThumbElement::dragFrom): Added a helper method to start
2313             dragging from any position.
2314         (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to
2315             specified position.
2316         (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning
2317             logic in RenderSlider into this method, which is now a simple calculation
2318             and adjusting of thumb position based on supplied coordinates.
2319         (WebCore::SliderThumbElement::startDragging): Added.
2320         (WebCore::SliderThumbElement::stopDragging): Added.
2321         (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the
2322             old position-sniffing logic and replaced with simple calls to start,
2323             stop, and drag the thumb.
2324         * html/shadow/SliderThumbElement.h: Added defs.
2325         * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer
2326             necessary.
2327         * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness.
2328
2329 2011-01-19  Shane Stephens  <shanestephens@google.com>
2330
2331         Reviewed by Chris Marrin.
2332
2333         Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major)
2334         https://bugs.webkit.org/show_bug.cgi?id=48031
2335
2336         Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and
2337         operator*= usage and switched operand order.
2338
2339         No new tests as this refactor doesn't add functionality.
2340
2341         * html/HTMLCanvasElement.cpp:
2342         (WebCore::HTMLCanvasElement::baseTransform):
2343         * html/canvas/CanvasRenderingContext2D.cpp:
2344         (WebCore::CanvasRenderingContext2D::transform):
2345         (WebCore::CanvasRenderingContext2D::setTransform):
2346         * platform/graphics/cg/PatternCG.cpp:
2347         (WebCore::Pattern::createPlatformPattern):
2348         * platform/graphics/chromium/GLES2Canvas.cpp:
2349         (WebCore::GLES2Canvas::fillRect):
2350         (WebCore::GLES2Canvas::concatCTM):
2351         (WebCore::GLES2Canvas::drawQuad):
2352         * platform/graphics/chromium/TransparencyWin.cpp:
2353         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
2354         (WebCore::TransparencyWin::setupTransformForKeepTransform):
2355         * platform/graphics/transforms/AffineTransform.cpp:
2356         (WebCore::AffineTransform::multiply):
2357         (WebCore::AffineTransform::rotate):
2358         * platform/graphics/transforms/AffineTransform.h:
2359         (WebCore::AffineTransform::operator*=):
2360         (WebCore::AffineTransform::operator*):
2361         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2362         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
2363         * platform/graphics/wince/SharedBitmap.cpp:
2364         (WebCore::SharedBitmap::drawPattern):
2365         * rendering/svg/RenderSVGResourceContainer.cpp:
2366         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
2367         * rendering/svg/RenderSVGResourceGradient.cpp:
2368         (WebCore::clipToTextMask):
2369         (WebCore::RenderSVGResourceGradient::applyResource):
2370         * rendering/svg/RenderSVGResourcePattern.cpp:
2371         (WebCore::RenderSVGResourcePattern::applyResource):
2372         * rendering/svg/RenderSVGRoot.cpp:
2373         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
2374         * rendering/svg/SVGImageBufferTools.cpp:
2375         (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem):
2376         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
2377         * rendering/svg/SVGTextLayoutEngine.cpp:
2378         (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
2379         * svg/SVGLocatable.cpp:
2380         (WebCore::SVGLocatable::computeCTM):
2381         (WebCore::SVGLocatable::getTransformToElement):
2382         * svg/SVGMatrix.h:
2383         (WebCore::SVGMatrix::multiply):
2384         * svg/SVGSVGElement.cpp:
2385         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
2386         (WebCore::SVGSVGElement::viewBoxToViewTransform):
2387         * svg/SVGStyledTransformableElement.cpp:
2388         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
2389         * svg/SVGTextElement.cpp:
2390         (WebCore::SVGTextElement::animatedLocalTransform):
2391         * svg/SVGTransformList.cpp:
2392         (WebCore::SVGTransformList::concatenate):
2393
2394 2011-01-19  Chang Shu  <chang.shu@nokia.com>
2395
2396         Reviewed by Darin Adler.
2397
2398         The return value of contentEditable() function should depend on the DOM attribute
2399         instead of render style userModify. The code change fixed test cases in the bug
2400         and partially fixed test cases in other contentEditable bugs;
2401
2402         https://bugs.webkit.org/show_bug.cgi?id=52056
2403
2404         * html/HTMLElement.cpp:
2405         (WebCore::HTMLElement::contentEditable):
2406
2407 2011-01-19  Levi Weintraub  <leviw@chromium.org>
2408
2409         Reviewed by Darin Adler.
2410
2411         Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
2412         logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
2413         resulted in the caret being placed incorrectly in overflowing editable IFrame content.
2414
2415         Long lines in non-white-space-pre editable documents show cursor in wrong place
2416         https://bugs.webkit.org/show_bug.cgi?id=48132
2417
2418         Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
2419
2420         * rendering/RenderText.cpp:
2421         (WebCore::RenderText::localCaretRect):
2422
2423 2011-01-19  Chris Marrin  <cmarrin@apple.com>
2424
2425         Reviewed by Simon Fraser.
2426
2427         WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
2428         https://bugs.webkit.org/show_bug.cgi?id=52695
2429
2430         Added ASSERTs to the places we assume a non-null superlayer.
2431
2432         * platform/graphics/ca/GraphicsLayerCA.cpp:
2433         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
2434         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
2435
2436 2011-01-18  Beth Dakin  <bdakin@apple.com>
2437
2438         Reviewed by Maciej Stachowiak.
2439
2440         Fix for <rdar://problem/8882916> Overlay scrollers require 
2441         content to layout underneath the scrollbar area
2442
2443         The render tree should not include scrollbar size for
2444         overlay scrollers. This patch will allow scrollers on
2445         the WebView to behave like overflow:overlay.
2446
2447         Treat overlay scrollers the same way as the !includeScrollbars
2448         case.
2449         * platform/ScrollView.cpp:
2450         (WebCore::ScrollView::visibleContentRect):
2451
2452         No corner rect for overlay scrollers.
2453         (WebCore::ScrollView::scrollCornerRect):
2454
2455         usesOverlayScrollbars() currently always returns no.
2456         * platform/ScrollbarTheme.h:
2457         (WebCore::ScrollbarTheme::usesOverlayScrollbars):
2458         * platform/mac/ScrollbarThemeMac.h:
2459         * platform/mac/ScrollbarThemeMac.mm:
2460         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2461
2462         includeVerticalScrollbarSize() and includeHorizontalScrollbarSize()
2463         should return false for overlay scrollers. They already return
2464         false for overflow:overlay.
2465         * rendering/RenderBox.cpp:
2466         (WebCore::RenderBox::includeVerticalScrollbarSize):
2467         (WebCore::RenderBox::includeHorizontalScrollbarSize):
2468         * rendering/RenderBox.h:
2469
2470         In the render tree, always treat overlay scrollers like
2471         they have a width and height of 0.
2472         * rendering/RenderLayer.cpp:
2473         (WebCore::RenderLayer::verticalScrollbarWidth):
2474         (WebCore::RenderLayer::horizontalScrollbarHeight):
2475         * rendering/RenderListBox.cpp:
2476         (WebCore::RenderListBox::verticalScrollbarWidth):
2477
2478 2011-01-18  Evan Martin  <evan@chromium.org>
2479
2480         Reviewed by Tony Chang.
2481
2482         [chromium] simplify complex text code, fixing a handful of layout tests
2483         https://bugs.webkit.org/show_bug.cgi?id=52661
2484
2485         Change ComplexTextControllerLinux to lay out RTL text to the left from
2486         the starting point.  (Previously it always went to the right.)  This allows
2487         us to map pixel offsets more directly into offsets within the text runs,
2488         simplifying a few of the text-fiddling functions (they no longer need to
2489         track the current position, as ComplexTextController now does it).
2490
2491         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
2492         (WebCore::ComplexTextController::ComplexTextController):
2493         (WebCore::ComplexTextController::reset):
2494         (WebCore::ComplexTextController::setGlyphXPositions):
2495         * platform/graphics/chromium/ComplexTextControllerLinux.h:
2496         (WebCore::ComplexTextController::offsetX):
2497         * platform/graphics/chromium/FontLinux.cpp:
2498         (WebCore::Font::drawComplexText):
2499         (WebCore::Font::floatWidthForComplexText):
2500         (WebCore::glyphIndexForXPositionInScriptRun):
2501         (WebCore::Font::offsetForPositionForComplexText):
2502         (WebCore::Font::selectionRectForComplexText):
2503
2504 2011-01-19  Pavel Feldman  <pfeldman@chromium.org>
2505
2506         Reviewed by Yury Semikhatsky.
2507
2508         Web Inspector: move methods from InjectedScript domain into DOM,
2509         Runtime and Debugger domains. Introduce InspectorRuntimeAgent.
2510         https://bugs.webkit.org/show_bug.cgi?id=52717
2511
2512         * CMakeLists.txt:
2513         * GNUmakefile.am:
2514         * WebCore.gypi:
2515         * WebCore.pro:
2516         * WebCore.vcproj/WebCore.vcproj:
2517         * WebCore.xcodeproj/project.pbxproj:
2518         * inspector/CodeGeneratorInspector.pm:
2519         * inspector/InjectedScript.cpp:
2520         (WebCore::InjectedScript::evaluateOnCallFrame):
2521         (WebCore::InjectedScript::getCompletions):
2522         (WebCore::InjectedScript::getCompletionsOnCallFrame):
2523         * inspector/InjectedScript.h:
2524         * inspector/InjectedScriptHost.cpp:
2525         (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
2526         * inspector/InjectedScriptHost.h:
2527         * inspector/InjectedScriptSource.js:
2528         (.):
2529         ():
2530         * inspector/Inspector.idl:
2531         * inspector/InspectorController.cpp:
2532         (WebCore::InspectorController::connectFrontend):
2533         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
2534         * inspector/InspectorController.h:
2535         * inspector/InspectorDOMAgent.cpp:
2536         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2537         (WebCore::InspectorDOMAgent::resolveNode):
2538         (WebCore::InspectorDOMAgent::getNodeProperties):
2539         (WebCore::InspectorDOMAgent::getNodePrototypes):
2540         (WebCore::InspectorDOMAgent::injectedScriptForNodeId):
2541         * inspector/InspectorDOMAgent.h:
2542         (WebCore::EventListenerInfo::EventListenerInfo):
2543         (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
2544         (WebCore::InspectorDOMAgent::create):
2545         (WebCore::InspectorDOMAgent::cast):
2546         (WebCore::InspectorDOMAgent::documents):
2547         * inspector/InspectorDebuggerAgent.cpp:
2548         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2549         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
2550         (WebCore::InspectorDebuggerAgent::injectedScriptForCallFrameId):
2551         * inspector/InspectorDebuggerAgent.h:
2552         * inspector/InspectorRuntimeAgent.cpp: Added.
2553         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
2554         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
2555         (WebCore::InspectorRuntimeAgent::evaluate):
2556         (WebCore::InspectorRuntimeAgent::getCompletions):
2557         (WebCore::InspectorRuntimeAgent::getProperties):
2558         (WebCore::InspectorRuntimeAgent::setPropertyValue):
2559         (WebCore::InspectorRuntimeAgent::pushNodeToFrontend):
2560         (WebCore::InspectorRuntimeAgent::injectedScriptForObjectId):
2561         * inspector/InspectorRuntimeAgent.h: Copied from Source/WebCore/inspector/InjectedScript.h.
2562         (WebCore::InspectorRuntimeAgent::create):
2563         * inspector/front-end/ConsoleView.js:
2564         (WebInspector.ConsoleView.prototype.completions):
2565         * inspector/front-end/ScriptsPanel.js:
2566         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
2567
2568 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
2569
2570         Reviewed by Yury Semikhatsky.
2571
2572         Web Inspector: add UglifyJS parser and formatter files
2573         https://bugs.webkit.org/show_bug.cgi?id=51702
2574
2575         * WebCore.gypi:
2576         * WebCore.vcproj/WebCore.vcproj:
2577         * inspector/front-end/ScriptFormatter.js:
2578         (WebInspector.ScriptFormatter.positionToLocation):
2579         (WebInspector.ScriptFormatter.prototype.format.messageHandler):
2580         (WebInspector.ScriptFormatter.prototype.format):
2581         (WebInspector.ScriptFormatter.prototype._buildMapping):
2582         (WebInspector.ScriptFormatter.prototype._convertPosition):
2583         * inspector/front-end/SourceFrame.js:
2584         (WebInspector.SourceFrame.prototype.formatSource.didFormat):
2585         (WebInspector.SourceFrame.prototype.formatSource):
2586         * inspector/front-end/WebKit.qrc:
2587         * inspector/front-end/parse-js.js: Added. UglifyJS parser.
2588         * inspector/front-end/process.js: Added. UglifyJS formatter.
2589         * inspector/front-end/scriptFormatterWorker.js: Added. Worker script that wraps UglifyJS code.
2590         (onmessage):
2591         (beautify):
2592         (loadModule):
2593         (require):
2594         * inspector/front-end/utilities.js:
2595         ():
2596
2597 2011-01-19  Pavel Podivilov  <podivilov@chromium.org>
2598
2599         Reviewed by Yury Semikhatsky.
2600
2601         Web Inspector: [JSC] scripts have incorrect starting line (always 1).
2602         https://bugs.webkit.org/show_bug.cgi?id=52721
2603
2604         Test: inspector/debugger-scripts.html
2605
2606         * bindings/js/ScriptDebugServer.cpp:
2607         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2608         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
2609         (WebCore::ScriptDebugServer::sourceParsed):
2610         * bindings/js/ScriptDebugServer.h:
2611         * bindings/js/ScriptSourceCode.h:
2612         (WebCore::ScriptSourceCode::ScriptSourceCode):
2613         * bindings/js/StringSourceProvider.h:
2614         (WebCore::StringSourceProvider::create):
2615         (WebCore::StringSourceProvider::startPosition):
2616         (WebCore::StringSourceProvider::StringSourceProvider):
2617
2618 2011-01-19  Satish Sampath  <satish@chromium.org>
2619
2620         Reviewed by Jeremy Orlow.
2621
2622         Send origin/url as part of speech input requests to the embedder.
2623         https://bugs.webkit.org/show_bug.cgi?id=52718
2624
2625         * page/SpeechInput.cpp:
2626         (WebCore::SpeechInput::startRecognition): Pass up additional origin parameter.
2627         * page/SpeechInput.h:
2628         * page/SpeechInputClient.h:
2629         * platform/mock/SpeechInputClientMock.cpp:
2630         (WebCore::SpeechInputClientMock::startRecognition): Updated prototype.
2631         * platform/mock/SpeechInputClientMock.h:
2632         * rendering/TextControlInnerElements.cpp:
2633         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Pass the frame origin to speech input request.
2634
2635 2011-01-19  Hans Wennborg  <hans@chromium.org>
2636
2637         Reviewed by Jeremy Orlow.
2638
2639         IndexedDB: Support auto-increment keys
2640         https://bugs.webkit.org/show_bug.cgi?id=52576
2641
2642         Add support for auto-increment keys.
2643
2644         Test: storage/indexeddb/objectstore-autoincrement.html
2645
2646         * storage/IDBDatabase.cpp:
2647         (WebCore::IDBDatabase::createObjectStore):
2648         * storage/IDBObjectStoreBackendImpl.cpp:
2649         (WebCore::genAutoIncrementKey):
2650         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2651
2652 2011-01-19  Csaba Osztrogonác  <ossy@webkit.org>
2653
2654         Reviewed by Laszlo Gombos and Tor Arne Vestbø.
2655
2656         [Qt] Remove unnecessary "../Source" from paths
2657         after moving source files into Source is finished.
2658
2659         * WebCore.pri:
2660         * WebCore.pro:
2661
2662 2011-01-19  Alexander Pavlov  <apavlov@chromium.org>
2663
2664         Reviewed by Pavel Feldman.
2665
2666         Web Inspector: Employ TextPrompt for CSS property name/value autocompletion
2667         https://bugs.webkit.org/show_bug.cgi?id=52212
2668
2669         WebInspector.CSSKeywordCompletions contains a hand-written list of accepted CSS property value keywords
2670         for each property. WebInspector.TextPrompt is used to suggest both the name and value keywords while
2671         editing styles, in place of the old custom suggestion code.
2672
2673         * inspector/front-end/CSSCompletions.js:
2674         (WebInspector.CSSCompletions.prototype.startsWith): Fix array-out-of-bounds error.
2675         * inspector/front-end/CSSKeywordCompletions.js: Added.
2676         (WebInspector.CSSKeywordCompletions.forProperty):
2677         * inspector/front-end/StylesSidebarPane.js:
2678         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
2679         (WebInspector.StylePropertyTreeElement.prototype):
2680         ():
2681         * inspector/front-end/TextPrompt.js:
2682         (WebInspector.TextPrompt):
2683         (WebInspector.TextPrompt.prototype.removeFromElement):
2684         (WebInspector.TextPrompt.prototype._onKeyDown):
2685         (WebInspector.TextPrompt.prototype.tabKeyPressed):
2686         (WebInspector.TextPrompt.prototype.upKeyPressed):
2687         (WebInspector.TextPrompt.prototype.downKeyPressed):
2688         (WebInspector.TextPrompt.prototype._moveBackInHistory):
2689         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
2690         * inspector/front-end/inspector.css:
2691         (.auto-complete-text, .editing .auto-complete-text):
2692         * inspector/front-end/inspector.html:
2693
2694 2011-01-19  Dai Mikurube  <dmikurube@google.com>
2695
2696         Reviewed by Kent Tamura.
2697
2698         Implement onformchange and onforminput event handlers
2699         https://bugs.webkit.org/show_bug.cgi?id=26141
2700
2701         Tests: fast/forms/formchange-event.html
2702                fast/forms/forminput-event.html
2703
2704         * bindings/scripts/CodeGeneratorGObject.pm: Added event names.
2705         * dom/Document.h: Added event definitions.
2706         * dom/Document.idl: Added event definitions.
2707         * dom/Element.h: Added event definitions.
2708         * dom/Element.idl: Added event definitions.
2709         * dom/Event.cpp:
2710         (WebCore::Event::fromUserGesture): Added a condition for a formchange event in handling user gestures.
2711         * dom/EventNames.h: Added event definitions.
2712         * dom/InputElement.cpp:
2713         (WebCore::InputElement::setValueFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(), a virtual function which broadcasts forminput events for HTML elements.
2714         * dom/Node.cpp:
2715         (WebCore::Node::dispatchInputEvents): Defined basic dispatchInputEvents() described above.
2716         (WebCore::Node::dispatchChangeEvents): Defined basic dispatchChangeEvents() described above.
2717         (WebCore::Node::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
2718         * dom/Node.h:
2719         * html/FormAssociatedElement.h: Added isResettable() to check the element is resettable or not.
2720         * html/HTMLAttributeNames.in: Added event names.
2721         * html/HTMLElement.cpp:
2722         (WebCore::HTMLElement::parseMappedAttribute): Added event handling.
2723         (WebCore::HTMLElement::shadowAncestorOwnerForm): Added to get an ancestor <form> element from a shadow element.
2724         (WebCore::HTMLElement::dispatchChangeEvents): Defined dispatchChangeEvents() for HTML elements described above.
2725         (WebCore::HTMLElement::dispatchInputEvents): Defined dispatchInputEvents() for HTML elements described above.
2726         * html/HTMLElement.h:
2727         * html/HTMLFormControlElement.cpp:
2728         (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Added calling dispatchFormChange() to broadcast formchange events.
2729         (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Defined newly to dispatch an input event with broadcasting forminput events.
2730         * html/HTMLFormControlElement.h: Added isResettable().
2731         * html/HTMLFormElement.cpp:
2732         (WebCore::HTMLFormElement::broadcastFormEvent): Added to broadcast forminput or formchange events.
2733         (WebCore::HTMLFormElement::dispatchFormInput): Defined newly to broadcast forminput events.
2734         (WebCore::HTMLFormElement::dispatchFormChange): Defined newly to broadcast formchange events.
2735         * html/HTMLFormElement.h:
2736         * html/HTMLFormElement.idl: Added dispatchFormInput() and dispatchFormChange() DOM API definitions.
2737         * html/HTMLInputElement.cpp:
2738         (WebCore::HTMLInputElement::stepUpFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents().
2739         * html/HTMLInputElement.h: Added isResettable().
2740         * html/HTMLKeygenElement.h: Added isResettable().
2741         * html/HTMLObjectElement.h: Added isResettable().
2742         * html/HTMLOutputElement.h: Added isResettable().
2743         * html/HTMLSelectElement.h: Added isResettable().
2744         * html/HTMLTextAreaElement.h: Added isResettable().
2745         * page/DOMWindow.h: Added event definitions.
2746         * page/DOMWindow.idl: Added event definitions.
2747         * rendering/TextControlInnerElements.cpp:
2748         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
2749
2750 2011-01-19  Andrey Kosyakov  <caseq@chromium.org>
2751
2752         Reviewed by Pavel Feldman.
2753
2754         Web Inspector: [Extensions API] delete pending callback from callback map before invoking it
2755         https://bugs.webkit.org/show_bug.cgi?id=52707
2756
2757         * inspector/front-end/ExtensionAPI.js:
2758         (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
2759
2760 2011-01-19  Levi Weintraub  <leviw@google.com>
2761
2762         Reviewed by Ryosuke Niwa.
2763
2764         Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent
2765         and simplified the logic a bit. Unfortunately, Tables and some legacy
2766         editing positions still need to be handled specifically.
2767
2768         remove rangeCompliantEquivalent and replace it with Position methods
2769         https://bugs.webkit.org/show_bug.cgi?id=25057
2770
2771         No new tests as this is a refactor that doesn't change behavior.
2772
2773         * WebCore.exp.in:
2774         * dom/Document.cpp:
2775         (WebCore::Document::caretRangeFromPoint):
2776         * dom/Position.cpp:
2777         (WebCore::Position::parentAnchoredEquivalent):
2778         * dom/Position.h:
2779         * editing/ApplyStyleCommand.cpp:
2780         (WebCore::ApplyStyleCommand::applyBlockStyle):
2781         * editing/CompositeEditCommand.cpp:
2782         (WebCore::CompositeEditCommand::insertNodeAt):
2783         (WebCore::CompositeEditCommand::moveParagraphs):
2784         * editing/DeleteSelectionCommand.cpp:
2785         (WebCore::DeleteSelectionCommand::initializePositionData):
2786         (WebCore::DeleteSelectionCommand::mergeParagraphs):
2787         * editing/Editor.cpp:
2788         (WebCore::Editor::textDirectionForSelection):
2789         (WebCore::Editor::advanceToNextMisspelling):
2790         * editing/InsertLineBreakCommand.cpp:
2791         (WebCore::InsertLineBreakCommand::shouldUseBreakElement):
2792         * editing/InsertParagraphSeparatorCommand.cpp:
2793         (WebCore::InsertParagraphSeparatorCommand::doApply):
2794         * editing/ReplaceSelectionCommand.cpp:
2795         (WebCore::handleStyleSpansBeforeInsertion):
2796         * editing/VisiblePosition.cpp:
2797         (WebCore::makeRange):
2798         (WebCore::setStart):
2799         (WebCore::setEnd):
2800         * editing/VisibleSelection.cpp:
2801         (WebCore::VisibleSelection::firstRange):
2802         (WebCore::VisibleSelection::toNormalizedRange):
2803         (WebCore::makeSearchRange):
2804         * editing/htmlediting.cpp:
2805         (WebCore::indexForVisiblePosition):
2806         * editing/htmlediting.h:
2807         * editing/visible_units.cpp:
2808         (WebCore::previousBoundary):
2809         (WebCore::nextBoundary):
2810         * page/DOMSelection.cpp:
2811         (WebCore::anchorPosition):
2812         (WebCore::focusPosition):
2813         (WebCore::basePosition):
2814         (WebCore::extentPosition):
2815
2816 2011-01-19  Peter Rybin  <peter.rybin@gmail.com>
2817
2818         Reviewed by Yury Semikhatsky.
2819
2820         Web Inspector: script column offset is incorrect
2821         https://bugs.webkit.org/show_bug.cgi?id=52580
2822
2823         Column is updated in 3 places, 2 less probable places contained error.
2824         Fixed now.
2825
2826         * platform/text/SegmentedString.cpp:
2827         (WebCore::SegmentedString::advanceSlowCase):
2828         * platform/text/SegmentedString.h:
2829         (WebCore::SegmentedString::advancePastNewline):
2830
2831 2011-01-18  Pavel Feldman  <pfeldman@chromium.org>
2832
2833         Reviewed by Yury Semikhatsky.
2834
2835         Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
2836         https://bugs.webkit.org/show_bug.cgi?id=52652
2837
2838         Calls served by the InjectedScript should be first class protocol
2839         citizens, not dispatched via single protocol message.
2840
2841         * WebCore.gypi:
2842         * WebCore.vcproj/WebCore.vcproj:
2843         * inspector/CodeGeneratorInspector.pm:
2844         * inspector/InjectedScript.cpp:
2845         (WebCore::InjectedScript::evaluate):
2846         (WebCore::InjectedScript::evaluateInCallFrame):
2847         (WebCore::InjectedScript::evaluateOnSelf):
2848         (WebCore::InjectedScript::getCompletions):
2849         (WebCore::InjectedScript::getProperties):
2850         (WebCore::InjectedScript::pushNodeToFrontend):
2851         (WebCore::InjectedScript::resolveNode):
2852         (WebCore::InjectedScript::getNodeProperties):
2853         (WebCore::InjectedScript::getNodePrototypes):
2854         (WebCore::InjectedScript::setPropertyValue):
2855         (WebCore::InjectedScript::makeCall):
2856         * inspector/InjectedScript.h:
2857         * inspector/InjectedScriptHost.cpp:
2858         (WebCore::InjectedScriptHost::evaluate):
2859         (WebCore::InjectedScriptHost::evaluateInCallFrame):
2860         (WebCore::InjectedScriptHost::evaluateOnSelf):
2861         (WebCore::InjectedScriptHost::getCompletions):
2862         (WebCore::InjectedScriptHost::getProperties):
2863         (WebCore::InjectedScriptHost::pushNodeToFrontend):
2864         (WebCore::InjectedScriptHost::resolveNode):
2865         (WebCore::InjectedScriptHost::getNodeProperties):
2866         (WebCore::InjectedScriptHost::getNodePrototypes):
2867         (WebCore::InjectedScriptHost::setPropertyValue):
2868         (WebCore::InjectedScriptHost::injectedScriptForObjectId):
2869         (WebCore::InjectedScriptHost::injectedScriptForNodeId):
2870         (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
2871         * inspector/InjectedScriptHost.h:
2872         * inspector/InjectedScriptSource.js:
2873         (.):
2874         * inspector/Inspector.idl:
2875         * inspector/InspectorController.cpp:
2876         * inspector/InspectorController.h:
2877         * inspector/InspectorValues.cpp:
2878         (WebCore::InspectorObject::getNumber):
2879         * inspector/InspectorValues.h:
2880         * inspector/front-end/AuditRules.js:
2881         (WebInspector.AuditRules.evaluateInTargetWindow):
2882         * inspector/front-end/ConsoleView.js:
2883         (WebInspector.ConsoleView.prototype.completions):
2884         (WebInspector.ConsoleView.prototype.doEvalInWindow):
2885         * inspector/front-end/ElementsTreeOutline.js:
2886         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
2887         * inspector/front-end/ExtensionPanel.js:
2888         (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
2889         * inspector/front-end/ExtensionServer.js:
2890         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2891         * inspector/front-end/InjectedScriptAccess.js: Removed.
2892         * inspector/front-end/PropertiesSidebarPane.js:
2893         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
2894         (WebInspector.PropertiesSidebarPane.prototype.update):
2895         * inspector/front-end/RemoteObject.js:
2896         (WebInspector.RemoteObject.resolveNode):
2897         (WebInspector.RemoteObject.prototype.getProperties):
2898         (WebInspector.RemoteObject.prototype.setPropertyValue):
2899         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
2900         * inspector/front-end/ScriptsPanel.js:
2901         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
2902         * inspector/front-end/WebKit.qrc:
2903         * inspector/front-end/inspector.html:
2904
2905 2011-01-18  Anton Muhin  <antonm@chromium.org>
2906
2907         Reviewed by Adam Barth.
2908
2909         [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map
2910         https://bugs.webkit.org/show_bug.cgi?id=51683
2911
2912         Covered by the existing tests.
2913
2914         * bindings/v8/DOMDataStore.cpp:
2915         (WebCore::DOMDataStore::weakNodeCallback):
2916         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
2917         * bindings/v8/DOMDataStore.h:
2918         * bindings/v8/V8DOMMap.h:
2919         (WebCore::WeakReferenceMap::removeIfPresent):
2920
2921 2011-01-18 MORITA Hajime  <morrita@google.com>
2922
2923         Reviewed by Ryosuke Niwa.
2924         
2925         Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools.
2926         https://bugs.webkit.org/show_bug.cgi?id=52608
2927
2928         No new tests. no behavioral change.
2929
2930         * GNUmakefile.am:
2931         * WebCore.gypi:
2932         * WebCore.pro:
2933         * WebCore.vcproj/WebCore.vcproj:
2934         * WebCore.xcodeproj/project.pbxproj:
2935         * dom/TextEvent.cpp:
2936         (WebCore::TextEvent::create):
2937         (WebCore::TextEvent::createForDrop):
2938         (WebCore::TextEvent::TextEvent):
2939         * dom/TextEvent.h:
2940         (WebCore::TextEvent::isLineBreak):
2941         (WebCore::TextEvent::isBackTab):
2942         (WebCore::TextEvent::isPaste):
2943         (WebCore::TextEvent::isDrop):
2944         * dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType.
2945         * editing/EditorCommand.cpp:
2946         (WebCore::executeInsertBacktab):
2947         (WebCore::executeInsertLineBreak):
2948         (WebCore::executeInsertNewline):
2949         (WebCore::executeInsertTab):
2950         * page/EventHandler.cpp:
2951         (WebCore::EventHandler::handleTextInputEvent):
2952         * page/EventHandler.h:
2953
2954 2011-01-18  Ben Vanik  <ben.vanik@gmail.com>
2955
2956         Reviewed by Kenneth Russell.
2957
2958         Updating ANGLE in WebKit to r533.
2959         https://bugs.webkit.org/show_bug.cgi?id=47194
2960
2961         * platform/graphics/ANGLEWebKitBridge.cpp:
2962         (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
2963         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
2964         (WebCore::ANGLEWebKitBridge::validateShaderSource):
2965         Update to new ANGLE API for shader validation.
2966         * platform/graphics/ANGLEWebKitBridge.h:
2967         (WebCore::ANGLEWebKitBridge::setResources): 
2968         Renaming types to new names.
2969         * platform/graphics/mac/GraphicsContext3DMac.mm:
2970         (WebCore::GraphicsContext3D::GraphicsContext3D):
2971         Initialize ANGLEResources with ANGLE init call to prevent uninitialized variables.
2972
2973 2011-01-18  MORITA Hajime  <morrita@google.com>
2974
2975         Reviewed by Simon Fraser.
2976
2977         Refactoring: Extract RoundedIntRect class
2978         https://bugs.webkit.org/show_bug.cgi?id=51664
2979
2980         RoundedIntRect is a pair of rect and four IntSize objects which represent
2981         corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
2982         Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
2983         return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
2984         and other functions accept RoundedIntRect as an argument.
2985
2986         * Android.mk:
2987         * CMakeLists.txt:
2988         * GNUmakefile.am:
2989         * WebCore.gypi:
2990         * WebCore.pro:
2991         * WebCore.vcproj/WebCore.vcproj:
2992         * WebCore.xcodeproj/project.pbxproj:
2993         * platform/graphics/GraphicsContext.cpp:
2994         (WebCore::GraphicsContext::addRoundedRectClip):
2995         (WebCore::GraphicsContext::clipOutRoundedRect):
2996         (WebCore::GraphicsContext::fillRoundedRect):
2997         * platform/graphics/GraphicsContext.h:
2998         * platform/graphics/RoundedIntRect.cpp: Added.
2999         (WebCore::RoundedIntRect::Radii::isZero):
3000         (WebCore::RoundedIntRect::Radii::scale):
3001         (WebCore::RoundedIntRect::Radii::expand):
3002         (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
3003         (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
3004         (WebCore::RoundedIntRect::RoundedIntRect):
3005         (WebCore::RoundedIntRect::includeLogicalEdges):
3006         (WebCore::RoundedIntRect::excludeLogicalEdges):
3007         * platform/graphics/RoundedIntRect.h: Added.
3008         (WebCore::RoundedIntRect::Radii::Radii):
3009         (WebCore::RoundedIntRect::Radii::setTopLeft):
3010         (WebCore::RoundedIntRect::Radii::setTopRight):
3011         (WebCore::RoundedIntRect::Radii::setBottomLeft):
3012         (WebCore::RoundedIntRect::Radii::setBottomRight):
3013         (WebCore::RoundedIntRect::Radii::topLeft):
3014         (WebCore::RoundedIntRect::Radii::topRight):
3015         (WebCore::RoundedIntRect::Radii::bottomLeft):
3016         (WebCore::RoundedIntRect::Radii::bottomRight):
3017         (WebCore::RoundedIntRect::Radii::expand):
3018         (WebCore::RoundedIntRect::Radii::shrink):
3019         (WebCore::RoundedIntRect::rect):
3020         (WebCore::RoundedIntRect::radii):
3021         (WebCore::RoundedIntRect::isRounded):
3022         (WebCore::RoundedIntRect::isEmpty):
3023         (WebCore::RoundedIntRect::setRect):
3024         (WebCore::RoundedIntRect::setRadii):
3025         (WebCore::RoundedIntRect::move):
3026         (WebCore::RoundedIntRect::inflate):
3027         (WebCore::RoundedIntRect::inflateWithRadii):
3028         (WebCore::RoundedIntRect::expandRadii):
3029         (WebCore::RoundedIntRect::shrinkRadii):
3030         * rendering/RenderBox.cpp:
3031         (WebCore::RenderBox::pushContentsClip):
3032         * rendering/RenderBoxModelObject.cpp:
3033         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3034         (WebCore::RenderBoxModelObject::paintBorder):
3035         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
3036         (WebCore::RenderBoxModelObject::paintBoxShadow):
3037         * rendering/RenderBoxModelObject.h:
3038         * rendering/RenderObject.cpp:
3039         (WebCore::RenderObject::drawBoxSideFromPath):
3040         * rendering/RenderReplaced.cpp:
3041         (WebCore::RenderReplaced::paint):
3042         * rendering/RenderThemeChromiumWin.cpp:
3043         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
3044         * rendering/RenderThemeMac.mm:
3045         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3046         (WebCore::RenderThemeMac::paintSliderTrack):
3047         * rendering/RenderThemeSafari.cpp:
3048         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
3049         (WebCore::RenderThemeSafari::paintSliderTrack):
3050         * rendering/RenderThemeWinCE.cpp:
3051         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
3052         * rendering/RenderWidget.cpp:
3053         (WebCore::RenderWidget::paint):
3054         * rendering/style/BorderData.h:
3055         * rendering/style/RenderStyle.cpp:
3056         (WebCore::calcRadiiFor):
3057         (WebCore::calcConstraintScaleFor):
3058         (WebCore::RenderStyle::getRoundedBorderFor):
3059         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
3060         * rendering/style/RenderStyle.h:
3061         (WebCore::InheritedFlags::setBorderRadius):
3062
3063 2011-01-18  MORITA Hajime  <morrita@google.com>
3064
3065         Reviewed by Simon Fraser.
3066
3067         Refactoring: Extract RoundedIntRect class
3068         https://bugs.webkit.org/show_bug.cgi?id=51664
3069
3070         RoundedIntRect is a pair of rect and four IntSize objects which represent
3071         corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
3072         Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
3073         return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
3074         and other functions accept RoundedIntRect as an argument.
3075
3076         No new tests. No behavioral change.
3077
3078         * Android.mk:
3079         * CMakeLists.txt:
3080         * WebCore.gypi:
3081         * WebCore.pro:
3082         * WebCore.xcodeproj/project.pbxproj:
3083         * platform/graphics/GraphicsContext.cpp:
3084         (WebCore::GraphicsContext::addRoundedRectClip):
3085         (WebCore::GraphicsContext::clipOutRoundedRect):
3086         (WebCore::GraphicsContext::fillRoundedRect):
3087         * platform/graphics/GraphicsContext.h:
3088         * platform/graphics/RoundedIntRect.cpp: Added.
3089         (WebCore::RoundedIntRect::Radii::isZero):
3090         (WebCore::RoundedIntRect::Radii::scale):
3091         (WebCore::RoundedIntRect::Radii::expand):
3092         (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
3093         (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
3094         (WebCore::RoundedIntRect::RoundedIntRect):
3095         (WebCore::RoundedIntRect::includeLogicalEdges):
3096         (WebCore::RoundedIntRect::excludeLogicalEdges):
3097         * platform/graphics/RoundedIntRect.h: Added.
3098         (WebCore::RoundedIntRect::Radii::Radii):
3099         (WebCore::RoundedIntRect::Radii::setTopLeft):
3100         (WebCore::RoundedIntRect::Radii::setTopRight):
3101         (WebCore::RoundedIntRect::Radii::setBottomLeft):
3102         (WebCore::RoundedIntRect::Radii::setBottomRight):
3103         (WebCore::RoundedIntRect::Radii::topLeft):
3104         (WebCore::RoundedIntRect::Radii::topRight):
3105         (WebCore::RoundedIntRect::Radii::bottomLeft):
3106         (WebCore::RoundedIntRect::Radii::bottomRight):
3107         (WebCore::RoundedIntRect::Radii::expand):
3108         (WebCore::RoundedIntRect::Radii::shrink):
3109         (WebCore::RoundedIntRect::rect):
3110         (WebCore::RoundedIntRect::radii):
3111         (WebCore::RoundedIntRect::isRounded):
3112         (WebCore::RoundedIntRect::isEmpty):
3113         (WebCore::RoundedIntRect::setRect):
3114         (WebCore::RoundedIntRect::setRadii):
3115         (WebCore::RoundedIntRect::move):
3116         (WebCore::RoundedIntRect::inflate):
3117         (WebCore::RoundedIntRect::inflateWithRadii):
3118         (WebCore::RoundedIntRect::expandRadii):
3119         (WebCore::RoundedIntRect::shrinkRadii):
3120         * rendering/RenderBox.cpp:
3121         (WebCore::RenderBox::pushContentsClip):
3122         * rendering/RenderBoxModelObject.cpp:
3123         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3124         (WebCore::RenderBoxModelObject::paintBorder):
3125         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
3126         (WebCore::RenderBoxModelObject::paintBoxShadow):
3127         * rendering/RenderBoxModelObject.h:
3128         * rendering/RenderObject.cpp:
3129         (WebCore::RenderObject::drawBoxSideFromPath):
3130         * rendering/RenderReplaced.cpp:
3131         (WebCore::RenderReplaced::paint):
3132         * rendering/RenderThemeChromiumWin.cpp:
3133         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
3134         * rendering/RenderThemeMac.mm:
3135         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3136         (WebCore::RenderThemeMac::paintSliderTrack):
3137         * rendering/RenderThemeSafari.cpp:
3138         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
3139         (WebCore::RenderThemeSafari::paintSliderTrack):
3140         * rendering/RenderThemeWinCE.cpp:
3141         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
3142         * rendering/RenderWidget.cpp:
3143         (WebCore::RenderWidget::paint):
3144         * rendering/style/BorderData.h:
3145         * rendering/style/RenderStyle.cpp:
3146         (WebCore::calcRadiiFor):
3147         (WebCore::calcConstraintScaleFor):
3148         (WebCore::RenderStyle::getRoundedBorderFor):
3149         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
3150         * rendering/style/RenderStyle.h:
3151         (WebCore::InheritedFlags::setBorderRadius):
3152
3153 2011-01-18  Victoria Kirst  <vrk@chromium.org>
3154
3155         Reviewed by Kenneth Russell.
3156
3157         [chromium] Adding support for YV16 video frame formats.
3158         https://bugs.webkit.org/show_bug.cgi?id=52345
3159
3160         * platform/graphics/chromium/VideoLayerChromium.cpp:
3161         (WebCore::VideoLayerChromium::determineTextureFormat):
3162         (WebCore::VideoLayerChromium::draw):
3163
3164 2011-01-18  David Hyatt  <hyatt@apple.com>
3165
3166         Reviewed by Dan Bernstein.
3167
3168         <rdar://problem/8479998> REGRESSION (r67660): broken button layout at devforums.apple.com
3169         
3170         Exclude floating objects from shrinking to avoid floats.  They should never do this.  Timing-related bugs could
3171         occur as a result of this mistake, and the change to rewrite pagination to defer layout of floats until they
3172         got encountered on the correct line exposed this issue.
3173
3174         Added /fast/block/float/float-overflow-hidden-containing-block-width.html.
3175
3176         * rendering/RenderBox.cpp:
3177         (WebCore::RenderBox::shrinkToAvoidFloats):
3178
3179 2011-01-18  Zhenyao Mo  <zmo@google.com>
3180
3181         Reviewed by Kenneth Russell.
3182
3183         Make CheckedInt<long> and CheckedInt<unsigned long> work
3184         https://bugs.webkit.org/show_bug.cgi?id=52401
3185
3186         * html/canvas/CheckedInt.h:
3187         (WebCore::CheckedInt::CheckedInt): Merge with the patch provided by Benoit Jacob.
3188         * html/canvas/WebGLBuffer.cpp:
3189         (WebCore::WebGLBuffer::associateBufferDataImpl): Use CheckedInt<long> instead of CheckedInt<int>.
3190         (WebCore::WebGLBuffer::associateBufferSubDataImpl): Ditto.
3191
3192 2011-01-18  Kenneth Russell  <kbr@google.com>
3193
3194         Reviewed by David Levin.
3195
3196         Must strip comments from WebGL shaders before enforcing character set
3197         https://bugs.webkit.org/show_bug.cgi?id=52390
3198
3199         Strip comments from incoming shaders, preserving line numbers,
3200         before validating that they conform to the ESSL character set.
3201         Revert changes from http://trac.webkit.org/changeset/75735 which
3202         allowed invalid characters to be passed to certain APIs.
3203
3204         Tested with WebGL layout tests, conformance test suite and several
3205         WebGL demos in both Safari and Chromium.
3206
3207         * html/canvas/WebGLRenderingContext.cpp:
3208         (WebCore::StripComments::StripComments::process):
3209         (WebCore::WebGLRenderingContext::shaderSource):
3210
3211 2011-01-18  Ryosuke Niwa  <rniwa@webkit.org>
3212
3213         Reviewed by Eric Seidel.
3214
3215         Stop instantiating legacy editing positions in DeleteSelectionCommand, IndentOudentCommand,
3216         InsertLineBreakCommand, InsertListCOmmand.cpp, InsertParagraphSeparatorCommand, and htmlediting.cpp
3217         https://bugs.webkit.org/show_bug.cgi?id=52644
3218
3219         This is a cleanup to stop instantiating legacy editing positions in the following tests.
3220         firstDeepEditingPositionForNode and lastDeepEditingPositionForNode in htmlediting.h are not updated
3221         because doing so requires significant code changes. They are tracked on the bug 52642.
3222
3223         * editing/DeleteSelectionCommand.cpp:
3224         (WebCore::DeleteSelectionCommand::initializeStartEnd):
3225         (WebCore::updatePositionForNodeRemoval):
3226         (WebCore::DeleteSelectionCommand::removeNode):
3227         (WebCore::updatePositionForTextRemoval):
3228         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3229         * editing/IndentOutdentCommand.cpp:
3230         (WebCore::IndentOutdentCommand::outdentParagraph):
3231         * editing/InsertLineBreakCommand.cpp:
3232         (WebCore::InsertLineBreakCommand::doApply):
3233         * editing/InsertListCommand.cpp:
3234         (WebCore::InsertListCommand::doApplyForSingleParagraph):
3235         (WebCore::InsertListCommand::unlistifyParagraph):
3236         (WebCore::InsertListCommand::listifyParagraph):
3237         * editing/InsertParagraphSeparatorCommand.cpp:
3238         (WebCore::InsertParagraphSeparatorCommand::doApply):
3239         * editing/htmlediting.cpp:
3240         (WebCore::enclosingBlock):
3241         (WebCore::enclosingList):
3242         (WebCore::enclosingListChild):
3243         (WebCore::indexForVisiblePosition):
3244         (WebCore::isNodeVisiblyContainedWithin):
3245         (WebCore::avoidIntersectionWithNode):
3246
3247 2011-01-18  Benjamin Kalman  <kalman@chromium.org>
3248
3249         Reviewed by Ryosuke Niwa.
3250
3251         Tweak style in visible_units.cpp and TextIterator.cpp in preparation for another patch
3252         https://bugs.webkit.org/show_bug.cgi?id=52610
3253
3254         This is a purely aesthetic change.
3255
3256         * editing/TextIterator.cpp:
3257         (WebCore::SimplifiedBackwardsTextIterator::advance):
3258         * editing/visible_units.cpp:
3259         (WebCore::previousBoundary):
3260
3261 2011-01-18  Adam Klein  <adamk@chromium.org>
3262
3263         Reviewed by Darin Fisher.
3264
3265         [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor
3266         https://bugs.webkit.org/show_bug.cgi?id=42236
3267
3268         * platform/chromium/ChromiumBridge.h:
3269         * platform/chromium/WidgetChromium.cpp:
3270         (WebCore::Widget::setCursor):
3271
3272 2011-01-18  Chris Fleizach  <cfleizach@apple.com>
3273
3274         Reviewed by Darin Adler.
3275
3276         REGRESSION: A problem with Voiceover and finding links
3277         https://bugs.webkit.org/show_bug.cgi?id=52324
3278
3279         Fallout from recent change to make WebCore return its own scroll view.
3280            1) There were two scroll views in the hierarchy, one which no needed to be ignored.
3281            2) Hit tests for sub frames needed to be offset.
3282            3) The check for whether an attachment is ignored must happen earlier than using
3283               the helpText to determine if an element should be ignored.
3284
3285         Test: platform/mac/accessibility/iframe-with-title-correct-hierarchy.html
3286
3287         * accessibility/AccessibilityObject.cpp:
3288         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
3289         * accessibility/AccessibilityRenderObject.cpp:
3290         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3291         * accessibility/mac/AccessibilityObjectWrapper.mm:
3292         (-[AccessibilityObjectWrapper scrollViewParent]):
3293
3294 2011-01-18  Adam Roben  <aroben@apple.com>
3295
3296         Call alternate CFHTTPCookie functions if available
3297
3298         Fixes <http://webkit.org/b/52637> <rdar://problem/8878984>.
3299
3300         Reviewed by Darin Adler.
3301
3302         * platform/network/cf/CookieJarCFNet.cpp: Added soft-linking macros to
3303         pull in the alternate CFHTTPCookie functions.
3304
3305         (WebCore::cookieDomain):
3306         (WebCore::cookieExpirationTime):
3307         (WebCore::cookieName):
3308         (WebCore::cookiePath):
3309         (WebCore::cookieValue):
3310         Added these wrappers around the CFHTTPCookie functions. We call the
3311         alternate functions if they exist, otherwise fall back to the current
3312         functions.
3313
3314         (WebCore::filterCookies):
3315         (WebCore::getRawCookies):
3316         (WebCore::deleteCookie):
3317         Changed to use the wrapper functions.
3318
3319 2011-01-18  Martin Robinson  <mrobinson@igalia.com>
3320
3321         Reviewed by Eric Seidel.
3322
3323         [GTK] Filenames are converted to URLs during edit drags
3324         https://bugs.webkit.org/show_bug.cgi?id=52096
3325
3326         * platform/gtk/DragDataGtk.cpp: Only advertise and deliver filenames as URLs if the
3327         conversion policy allows it.
3328         (WebCore::DragData::containsURL): Ditto.
3329         (WebCore::DragData::asURL): Ditto.
3330
3331 2011-01-18  Helder Correia  <helder@sencha.com>
3332
3333         Reviewed by Kenneth Rohde Christiansen.
3334
3335         [Qt] Incorrect shadow alpha with semi-transparent solid fillStyle
3336         https://bugs.webkit.org/show_bug.cgi?id=52611
3337
3338         This is related to bug 52559. The shadow color alpha must be multiplied
3339         by the context brush alpha.
3340
3341         Test: fast/canvas/canvas-fillPath-alpha-shadow.html
3342
3343         * platform/graphics/qt/GraphicsContextQt.cpp:
3344         (WebCore::GraphicsContext::fillPath):
3345
3346 2011-01-18  Andrey Kosyakov  <caseq@chromium.org>
3347
3348         Reviewed by Yury Semikhatsky.
3349
3350         Web Inspector: fail resource.requestContent() immediately for WebSocket resources
3351         https://bugs.webkit.org/show_bug.cgi?id=52628
3352
3353         * English.lproj/localizedStrings.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
3354         * inspector/front-end/ExtensionServer.js: Do not expose webInspector.resources.Types in extensions API (obsolete)
3355         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
3356         * inspector/front-end/Resource.js:
3357         (WebInspector.Resource.Type.toUIString): Remove ResourceType.Media as it's not used.
3358         (WebInspector.Resource.Type.toString): ditto.
3359         (WebInspector.Resource.prototype.requestContent): Fail immediately for WebSocket resources.
3360         * inspector/front-end/inspector.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
3361
3362 2011-01-18  Helder Correia  <helder@sencha.com>
3363
3364         Reviewed by Dirk Schulze.
3365
3366         REGRESSION(75139): SVG gradients are not applied to texts
3367         https://bugs.webkit.org/show_bug.cgi?id=52531
3368
3369         r75139 caused a problem with filling and stroking text with a gradient
3370         fill in SVG. The order of CGContextConcatCTM and CGContextClipToRect
3371         was mixed up.
3372
3373         Test: svg/css/text-gradient-shadow.svg
3374
3375         * platform/graphics/cg/GraphicsContextCG.cpp:
3376         (WebCore::GraphicsContext::fillRect):
3377
3378 2011-01-18  Leo Yang  <leo.yang@torchmobile.com.cn>
3379
3380         Reviewed by Nikolas Zimmermann.
3381
3382         Unable to indirectly animate visibility of SVGUseElement
3383         https://bugs.webkit.org/show_bug.cgi?id=50240
3384
3385         SVGUseElement::recalcStyle should take care of its shadow
3386         tree's style recalculation when it is called with change >= Inherit
3387         or when childNeedsStyleRecalc() is true because in these two
3388         cases needStyleRecalc() may not be true.
3389
3390         Test: svg/custom/use-inherit-style.svg
3391
3392         * svg/SVGUseElement.cpp:
3393         (WebCore::SVGUseElement::recalcStyle):
3394
3395 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
3396
3397         Reviewed by Yury Semikhatsky.
3398
3399         Web Inspector: provide script length to frontend.
3400         https://bugs.webkit.org/show_bug.cgi?id=52620
3401
3402         * inspector/Inspector.idl:
3403         * inspector/InspectorDebuggerAgent.cpp:
3404         (WebCore::InspectorDebuggerAgent::didParseSource):
3405         * inspector/front-end/DebuggerModel.js:
3406         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
3407         (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
3408         * inspector/front-end/Script.js:
3409         (WebInspector.Script):
3410
3411 2011-01-18  Zoltan Herczeg  <zherczeg@webkit.org>
3412
3413         Rubber-stamped by Csaba Osztrogonác
3414
3415         Fixing ChangeLog
3416
3417         Removing a line introduced by
3418         http://trac.webkit.org/changeset/75743/trunk/Source/WebCore/ChangeLog
3419         Removing an unnecessary space before a time stamp.
3420
3421 2011-01-17  Andrey Kosyakov  <caseq@chromium.org>
3422
3423         Reviewed by Yury Semikhatsky.
3424
3425         Web Inspector: [refactoring] use events to notify NetworkManager clients
3426         https://bugs.webkit.org/show_bug.cgi?id=52588
3427
3428         * inspector/front-end/AuditLauncherView.js:
3429         (WebInspector.AuditLauncherView): Do not expose public interface to resource count. Do not reset resource count upon reset().
3430         (WebInspector.AuditLauncherView.prototype._resetResourceCount):
3431         (WebInspector.AuditLauncherView.prototype._onResourceStarted):
3432         (WebInspector.AuditLauncherView.prototype._onResourceFinished):
3433         * inspector/front-end/AuditsPanel.js: Do not expose public interface to resource start/finish events.
3434         * inspector/front-end/ExtensionServer.js:
3435         (WebInspector.ExtensionServer):
3436         (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
3437         (WebInspector.ExtensionServer.prototype.initExtensions):
3438         * inspector/front-end/NetworkManager.js: Dispatch events rather than directly call clients.
3439         (WebInspector.NetworkManager):
3440         (WebInspector.NetworkManager.prototype.willSendRequest):
3441