Keyboard scrolling doesn’t work in WebKit2
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-01-28  Sam Weinig  <sam@webkit.org>
2
3         Reviewed by Anders Carlsson.
4
5         Keyboard scrolling doesn’t work in WebKit2
6         <rdar://problem/8909672>
7
8         * platform/mac/ScrollAnimatorMac.mm:
9         (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
10         (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
11         Add additional necessary delegate methods.
12
13 2011-01-29  Darin Adler  <darin@apple.com>
14
15         Reviewed by Dan Bernstein.
16
17         Re-land this patch with the missing null check that caused crashes in layout tests.
18
19         Changing cursor style has no effect until the mouse moves
20         https://bugs.webkit.org/show_bug.cgi?id=14344
21         rdar://problem/7563712
22
23         No tests added because we don't have infrastructure for testing actual cursor
24         changes (as opposed to cursor style computation) at this time. We might add it later.
25
26         * page/EventHandler.cpp:
27         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
28         * page/EventHandler.h: Ditto.
29
30         * rendering/RenderObject.cpp:
31         (WebCore::areNonIdenticalCursorListsEqual): Added.
32         (WebCore::areCursorsEqual): Added.
33         (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
34         cursor styles changed.
35
36 2011-01-28  Justin Schuh  <jschuh@chromium.org>
37
38         Reviewed by Eric Seidel.
39
40         We should hold RefPtrs to SVG font faces
41         https://bugs.webkit.org/show_bug.cgi?id=53270
42
43         Test: svg/custom/use-multiple-on-nested-disallowed-font.html
44
45         * css/CSSFontFaceSource.cpp:
46         (WebCore::CSSFontFaceSource::getFontData):
47         * css/CSSFontFaceSource.h:
48         * svg/SVGFontFaceElement.cpp:
49         (WebCore::SVGFontFaceElement::associatedFontElement):
50         * svg/SVGFontFaceElement.h:
51
52 2011-01-28  Zhenyao Mo  <zmo@google.com>
53
54         Reviewed by Kenneth Russell.
55
56         uniformN*v should generate INVALID_VALUE of the array size is not a multiple of N
57         https://bugs.webkit.org/show_bug.cgi?id=53306
58
59         * html/canvas/WebGLRenderingContext.cpp:
60         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
61
62 2011-01-28  Tom Sepez  <tsepez@chromium.org>
63
64         Reviewed by Eric Seidel.
65
66         NULL pointer crash in TextIterator::handleTextBox()
67         https://bugs.webkit.org/show_bug.cgi?id=53267
68
69         Test: fast/css/rtl-nth-child-first-letter-crash.html
70
71         * editing/TextIterator.cpp:
72         (WebCore::TextIterator::handleTextBox):
73
74 2011-01-28  Adrienne Walker  <enne@google.com>
75
76         Reviewed by Kenneth Russell.
77
78         [chromium] Remove a spurious diagnostic CRASH check.
79         https://bugs.webkit.org/show_bug.cgi?id=52379
80
81         * platform/graphics/chromium/LayerTilerChromium.cpp:
82         (WebCore::LayerTilerChromium::invalidateRect):
83
84 2011-01-28  Dan Bernstein  <mitz@apple.com>
85
86         Reviewed by Sam Weinig.
87
88         <rdar://problem/4761512> <select> can't display right-to-left (rtl) languages
89         https://bugs.webkit.org/show_bug.cgi?id=19785
90
91         Changed <select> pop-up menus on Mac OS X Snow Leopard and later to have their items aligned in the
92         direction corresponding to the writing direction of the <select> element, with the checkmarks
93         on the "start" side, and use the <option>'s writing direction rather than "natural". Made the
94         pop-up button match the menu by adding a Chrome boolean function, selectItemAlignmentFollowsMenuWritingDirection(),
95         which returns true for this pop-up behavior.
96
97         * loader/EmptyClients.h:
98         (WebCore::EmptyChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
99         * manual-tests/pop-up-alignment-and-direction.html: Added.
100         * page/Chrome.cpp:
101         (WebCore::Chrome::selectItemAlignmentFollowsMenuWritingDirection): Added. Calls through to the
102         client.
103         * page/Chrome.h:
104         * page/ChromeClient.h:
105         * platform/PopupMenuStyle.h:
106         (WebCore::PopupMenuStyle::PopupMenuStyle): Added hasTextDirectionOverride parameter and member
107         variable initialization.
108         (WebCore::PopupMenuStyle::hasTextDirectionOverride): Added this accessor.
109         * platform/mac/PopupMenuMac.mm:
110         (WebCore::PopupMenuMac::populate): Set the pop-up's layout direction and items' text alignment
111         to match the menu's writing direction. Set items' writing direction and direction override
112         according to their styles.
113         * rendering/RenderMenuList.cpp:
114         (WebCore::RenderMenuList::RenderMenuList): Removed unncesaary initialization of a smart pointer.
115         (WebCore::RenderMenuList::adjustInnerStyle): If the alignment of items in the menu follows the
116         menu's writing direction, use that alignment for the button as well. Also in this mode, use the
117         item's writing direction and override setting.
118         (WebCore::RenderMenuList::setTextFromOption): Store the option element's style.
119         (WebCore::RenderMenuList::itemStyle): Pass the text direction override value.
120         (WebCore::RenderMenuList::menuStyle): Ditto. Also use the button's direction, not the inner text's.
121         * rendering/RenderMenuList.h:
122         * rendering/RenderTextControlSingleLine.cpp:
123         (WebCore::RenderTextControlSingleLine::menuStyle): Pass the text direction override value.
124
125 2011-01-28  Adam Barth  <abarth@webkit.org>
126
127         Reviewed by Daniel Bates.
128
129         Teach XSSFilter how to filter <script> elements
130         https://bugs.webkit.org/show_bug.cgi?id=53279
131
132         This patch adds the ability for the XSSFilter to block injected
133         <script> elements.  Handling script elements is slightly subtle because
134         these elements act very differently depending on whether they have a
135         src attribute.
136         
137         In the "src case", which check whether the src attribute was present in
138         the request.  In the "non-src case", we check whether the start tag and
139         the body of the script element was included in the request.  Checking
140         for the whole start tag means we miss out on some attribute splitting
141         attacks inside of script tags, but that doesn't seem like that big a
142         deal.
143
144         This patch also introduces some amount of state into the XSSFilter
145         because inline script elements span multiple tokens.  There's a lot of
146         tuning and optimization left in these cases, some of which I've noted
147         with FIXMEs.
148
149         To test this patch, I played around with some of the existing
150         XSSAuditor tests.  Hopefully I'll be able to run the test suite more
151         systematically in the future.
152
153         * html/parser/HTMLToken.h:
154         (WebCore::HTMLToken::eraseCharacters):
155         (WebCore::HTMLToken::eraseValueOfAttribute):
156         * html/parser/XSSFilter.cpp:
157         (WebCore::HTMLNames::hasName):
158         (WebCore::HTMLNames::findAttributeWithName):
159         (WebCore::HTMLNames::isNameOfScriptCarryingAttribute):
160         (WebCore::XSSFilter::XSSFilter):
161         (WebCore::XSSFilter::filterToken):
162         (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
163         (WebCore::XSSFilter::filterScriptToken):
164         (WebCore::XSSFilter::snippetForRange):
165         (WebCore::XSSFilter::snippetForAttribute):
166         * html/parser/XSSFilter.h:
167
168 2011-01-28  Adam Barth  <abarth@webkit.org>
169
170         Reviewed by Daniel Bates.
171
172         Sketch out new XSS filter design (disabled by default)
173         https://bugs.webkit.org/show_bug.cgi?id=53205
174
175         This patch adds a basic sketch of the new XSS filter design.  Rather
176         than watching scripts as they execute, in this design, we watch tokens
177         emitted by the tokenizer.  We then map the tokens directly back into
178         input characters, which lets us skip all the complicated logic related
179         to HTML entities and double-decoding of JavaScript URLs.
180
181         This patch contains only the bare essentially machinery.  I'll add more
182         in future patches and eventually remove the previous code once this
183         code is up and running correctly.
184
185         * Android.mk:
186         * CMakeLists.txt:
187         * GNUmakefile.am:
188         * WebCore.gypi:
189         * WebCore.pro:
190         * WebCore.vcproj/WebCore.vcproj:
191         * WebCore.xcodeproj/project.pbxproj:
192         * html/parser/HTMLDocumentParser.cpp:
193         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
194         (WebCore::HTMLDocumentParser::pumpTokenizer):
195         (WebCore::HTMLDocumentParser::sourceForToken):
196         * html/parser/HTMLDocumentParser.h:
197         * html/parser/XSSFilter.cpp: Added.
198         * html/parser/XSSFilter.h: Added.
199
200 2011-01-28  Michael Saboff  <msaboff@apple.com>
201
202         Reviewed by Geoffrey Garen.
203
204         Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
205         https://bugs.webkit.org/show_bug.cgi?id=53271
206
207         Reapplying this patch with the change that the second ASSERT in 
208         RootObject::removeRuntimeObject was changed to use
209         .uncheckedGet() instead of the failing .get().  The object in question
210         could be in the process of being GC'ed.  The get() call will not return
211         such an object while the uncheckedGet() call will return the (unsafe) 
212         object.  This is the behavior we want.
213
214         Precautionary change.
215         Changed RootObject to use WeakGCMap instead of HashSet.
216         Found will looking for another issue, but can't produce a test case
217         that is problematic.  THerefore there aren't any new tests.
218
219         * bridge/runtime_root.cpp:
220         (JSC::Bindings::RootObject::invalidate):
221         (JSC::Bindings::RootObject::addRuntimeObject):
222         (JSC::Bindings::RootObject::removeRuntimeObject):
223         * bridge/runtime_root.h:
224
225 2011-01-28  Adam Roben  <aroben@apple.com>
226
227         Notify CACFLayerTreeHost when the context is flushed
228
229         LegacyCACFLayerTreeHost was keeping this a secret, which meant that WebCore's animation
230         timers were never starting.
231
232         Fixes <http://webkit.org/b/53302> [Windows 7 Release Tests] changesets 76853, 76856, and
233         76858 broke ~36 animations, compositing, and transitions tests
234
235         Reviewed by Sam Weinig.
236
237         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
238         (WebCore::LegacyCACFLayerTreeHost::contextDidChange): Call up to the base class after we
239         start our render timer.
240
241 2011-01-28  Antti Koivisto  <antti@apple.com>
242
243         Reviewed by Dan Bernstein.
244
245         Remove dead code that tried to map from CSS values to parser values
246         https://bugs.webkit.org/show_bug.cgi?id=53318
247
248         * css/CSSFunctionValue.cpp:
249         * css/CSSFunctionValue.h:
250         * css/CSSPrimitiveValue.cpp:
251         * css/CSSPrimitiveValue.h:
252         * css/CSSValue.h:
253         * css/CSSValueList.cpp:
254         * css/CSSValueList.h:
255
256 2011-01-28  Enrica Casucci  <enrica@apple.com>
257
258         Reviewed by Adam Roben.
259
260         Some drag and drop tests fail since r76824
261         https://bugs.webkit.org/show_bug.cgi?id=53304
262
263         There were '||' instead of '&&' in the checks for valid
264         clipboard content.
265         
266         * platform/win/ClipboardWin.cpp:
267         (WebCore::ClipboardWin::getData):
268         (WebCore::ClipboardWin::types):
269         (WebCore::ClipboardWin::files):
270
271 2011-01-28  Martin Robinson  <mrobinson@igalia.com>
272
273         [GTK] AudioProcessingEvent.h and JSJavaScriptAudioNode.h: No such file or directory
274         https://bugs.webkit.org/show_bug.cgi?id=52889
275
276         Build fix for WebAudio. Include WebAudio source files on the source
277         list when WebAudio is enabled.
278
279         * GNUmakefile.am: Include missing source files.
280
281 2011-01-28  Sam Weinig  <sam@webkit.org>
282
283         Reviewed by Maciej Stachowiak.
284
285         Add basic rubber banding support
286         <rdar://problem/8219429>
287         https://bugs.webkit.org/show_bug.cgi?id=53277
288
289         * page/EventHandler.cpp:
290         (WebCore::EventHandler::handleGestureEvent):
291         Pass gesture events to the FrameView.
292
293         * platform/ScrollAnimator.cpp:
294         (WebCore::ScrollAnimator::handleGestureEvent):
295         * platform/ScrollAnimator.h:
296         Add stubbed out implementation.
297
298         * platform/ScrollView.cpp:
299         (WebCore::ScrollView::ScrollView):
300         (WebCore::ScrollView::overhangAmount):
301         (WebCore::ScrollView::wheelEvent):
302         * platform/ScrollView.h:
303         * platform/ScrollableArea.cpp:
304         (WebCore::ScrollableArea::ScrollableArea):
305         (WebCore::ScrollableArea::handleGestureEvent):
306         * platform/ScrollableArea.h:
307         (WebCore::ScrollableArea::constrainsScrollingToContentEdge):
308         (WebCore::ScrollableArea::setConstrainsScrollingToContentEdge):
309         Move constrains scrolling bit to ScrollableArea from ScrollView.
310
311         (WebCore::ScrollableArea::contentsSize):
312         (WebCore::ScrollableArea::overhangAmount):
313         Add additional virtual functions for information needed by the animator.
314
315         * platform/mac/ScrollAnimatorMac.h:
316         * platform/mac/ScrollAnimatorMac.mm:
317         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
318         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
319         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
320         (WebCore::elasticDeltaForTimeDelta):
321         (WebCore::elasticDeltaForReboundDelta):
322         (WebCore::reboundDeltaForElasticDelta):
323         (WebCore::scrollWheelMultiplier):
324         (WebCore::ScrollAnimatorMac::handleWheelEvent):
325         (WebCore::ScrollAnimatorMac::handleGestureEvent):
326         (WebCore::ScrollAnimatorMac::pinnedInDirection):
327         (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
328         (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
329         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
330         (WebCore::ScrollAnimatorMac::beginScrollGesture):
331         (WebCore::ScrollAnimatorMac::endScrollGesture):
332         (WebCore::ScrollAnimatorMac::snapRubberBand):
333         (WebCore::roundTowardZero):
334         (WebCore::roundToDevicePixelTowardZero):
335         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
336         Implement basic rubber banding.
337
338 2011-01-28  Dan Bernstein  <mitz@apple.com>
339
340         Reviewed by Anders Carlsson.
341
342         Changing unicode-bidi doesn’t force layout
343         https://bugs.webkit.org/show_bug.cgi?id=53311
344
345         Test: fast/dynamic/unicode-bidi.html
346
347         * rendering/style/RenderStyle.cpp:
348         (WebCore::RenderStyle::diff): Return a layout difference if unicode-bidi values differ.
349
350 2011-01-27  Dimitri Glazkov  <dglazkov@chromium.org>
351
352         Reviewed by Kent Tamura.
353
354         Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
355         https://bugs.webkit.org/show_bug.cgi?id=53122
356
357         This is the first step in converting HTMLMediaElement to the new shadow DOM.
358
359         Should not regress any existing tests. No observable change in behavior.
360
361         * css/CSSSelector.cpp:
362         (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
363         (WebCore::nameToPseudoTypeMap): Ditto.
364         (WebCore::CSSSelector::extractPseudoType): Ditto.
365         * css/CSSSelector.h: Ditto.
366         * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
367         * rendering/MediaControlElements.cpp:
368         (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
369             which is now replaced with virtual shadowPseudoId on each corresponding class.
370         (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
371         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
372             display type in constructor.
373         (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
374             constructor argument.
375         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
376         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
377             to disambiguate from the MediaControlMuteButtonElement.
378         (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
379         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
380         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
381             constructor argument.
382         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
383         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
384             constructor argument.
385         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
386         (WebCore::MediaControlSeekForwardButtonElement::create): Added.
387         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
388         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
389         (WebCore::MediaControlSeekBackButtonElement::create): Added.
390         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
391         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
392         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
393         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
394             constructor argument.
395         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
396         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
397             constructor argument.
398         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
399         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
400             constructor argument.
401         (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
402         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
403             constructor argument.
404         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
405         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
406             constructor argument.
407         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
408         * rendering/MediaControlElements.h:
409         (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
410         (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
411         * rendering/RenderMedia.cpp:
412         (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
413         (WebCore::RenderMedia::createSeekBackButton): Ditto.
414         (WebCore::RenderMedia::createSeekForwardButton): Ditto.
415         (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
416         * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
417
418 2011-01-27  Dimitri Glazkov  <dglazkov@chromium.org>
419
420         Reviewed by Eric Carlson.
421
422         Split MediaControls out of RenderMedia.
423         https://bugs.webkit.org/show_bug.cgi?id=53252
424
425         Near-mechanical moving of stuff, no change in behavior, thus no new tests.
426
427         * Android.mk: Added MediaControls to build system.
428         * CMakeLists.txt: Ditto.
429         * GNUmakefile.am: Ditto.
430         * WebCore.gypi: Ditto.
431         * WebCore.pro: Ditto.
432         * WebCore.vcproj/WebCore.vcproj: Ditto.
433         * WebCore.xcodeproj/project.pbxproj: Ditto.
434         * html/HTMLMediaElement.cpp:
435         (WebCore::HTMLMediaElement::defaultEventHandler): Changed to forward events to MediaControls.
436         * html/shadow/MediaControls.cpp: Copied all controls-related methods from
437             Source/WebCore/rendering/RenderMedia.cpp, pulled them into their own class called MediaControls. 
438         * html/shadow/MediaControls.h: Ditto from Source/WebCore/rendering/RenderMedia.h.
439         * rendering/MediaControlElements.cpp:
440         (WebCore::MediaControlTimelineElement::defaultEventHandler): Changed to use MediaControls.
441         * rendering/RenderMedia.cpp:
442         (WebCore::RenderMedia::RenderMedia): Moved relevant constructor initializers out to MediaControls.
443         (WebCore::RenderMedia::destroy): Changed to use MediaControls.
444         (WebCore::RenderMedia::styleDidChange): Ditto.
445         (WebCore::RenderMedia::layout): Ditto.
446         (WebCore::RenderMedia::updateFromElement): Ditto.
447         * rendering/RenderMedia.h: Updated defs accordingly and removed player() accessor, which
448             is only used by sub-class RenderVideo.
449         (WebCore::RenderMedia::controls): Added.
450         * rendering/RenderVideo.cpp:
451         (WebCore::RenderVideo::~RenderVideo): Changed to access MediaPlayer* directly from mediaElement().
452         (WebCore::RenderVideo::calculateIntrinsicSize): Ditto.
453         (WebCore::RenderVideo::paintReplaced): Ditto.
454         (WebCore::RenderVideo::updatePlayer): Ditto.
455         (WebCore::RenderVideo::supportsAcceleratedRendering): Ditto.
456         (WebCore::RenderVideo::acceleratedRenderingStateChanged): Ditto.
457
458 2011-01-28  Pavel Feldman  <pfeldman@chromium.org>
459
460         Reviewed by Yury Semikhatsky.
461
462         Web Inspector: allow remote debugging with front-end
463         served from the cloud.
464         https://bugs.webkit.org/show_bug.cgi?id=53303
465
466         * inspector/front-end/inspector.js:
467
468 2011-01-28  Aparna Nandyal  <aparna.nand@wipro.com>
469
470         Reviewed by Andreas Kling.
471
472         Setting value of m_PressedPos to make scrolling smooth
473
474         Page scroll popup menu "Scroll here" option not working when cliking above scroll slider/handler.
475         https://bugs.webkit.org/show_bug.cgi?id=51349
476
477         The value of m_PressedPos was getting set before moveThumb() call
478         in all other scenarios except when "Scroll Here" option is used.
479         Hence scrolling with this option was not as expected even in cases
480         where scrolling was happening. The thumb would move in unexpected
481         direction. m_PressedPos is now set to pressed position so delta is
482         calculated.
483         Unable to write a test case as the test needs to click on "Scroll
484         Here" option of context sensitive menu and QTest is unable to do it.
485         Besides no new functionality introduced.
486
487         * platform/qt/ScrollbarQt.cpp:
488         (WebCore::Scrollbar::contextMenu):
489
490 2011-01-28  Andrey Kosyakov  <caseq@chromium.org>
491
492         Reviewed by Pavel Feldman.
493
494         Web Inspector: [Extensions API] add JSON schema for extensions API
495         https://bugs.webkit.org/show_bug.cgi?id=53236
496
497         * inspector/front-end/ExtensionAPISchema.json: Added.
498
499 2011-01-27  Zhenyao Mo  <zmo@google.com>
500
501         Reviewed by Kenneth Russell.
502
503         Remove _LENGTH enumerants
504         https://bugs.webkit.org/show_bug.cgi?id=53259
505
506         * html/canvas/WebGLRenderingContext.cpp: Remove queries for *LENGTH.
507         (WebCore::WebGLRenderingContext::getProgramParameter):
508         (WebCore::WebGLRenderingContext::getShaderParameter):
509         * html/canvas/WebGLRenderingContext.idl: Remove *LENGTH.
510
511 2011-01-28  Alexander Pavlov  <apavlov@chromium.org>
512
513         Reviewed by Yury Semikhatsky.
514
515         Web Inspector: syntax highlight inline JS and CSS in HTML resources
516         https://bugs.webkit.org/show_bug.cgi?id=30831
517
518         * inspector/front-end/SourceHTMLTokenizer.js:
519         (WebInspector.SourceHTMLTokenizer):
520         (WebInspector.SourceHTMLTokenizer.prototype.set line):
521         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
522         * inspector/front-end/SourceHTMLTokenizer.re2js:
523
524 2011-01-28  Alexander Pavlov  <apavlov@chromium.org>
525
526         Reviewed by Yury Semikhatsky.
527
528         Web Inspector: [STYLES] Up/Down-suggestion breaks an existing keyword
529         https://bugs.webkit.org/show_bug.cgi?id=53295
530
531         Select the current word suffix before switching to the next suggestion.
532
533         * inspector/front-end/StylesSidebarPane.js:
534         ():
535
536 2011-01-28  Alejandro G. Castro  <alex@igalia.com>
537
538         Reviewed by Xan Lopez.
539
540         [GTK] Fix dist compilation for the release
541         https://bugs.webkit.org/show_bug.cgi?id=53290
542
543         * GNUmakefile.am: Added inspector files to the extra dist.
544
545 2011-01-28  Ilya Sherman  <isherman@chromium.org>
546
547         Reviewed by Andreas Kling.
548
549         Const-correct HTMLSelectElement and WebSelectElement
550         https://bugs.webkit.org/show_bug.cgi?id=53293
551
552         * html/HTMLSelectElement.cpp:
553         (WebCore::HTMLSelectElement::value): const.
554         * html/HTMLSelectElement.h:
555
556 2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
557
558         Unreviewed, rolling out r76893.
559         http://trac.webkit.org/changeset/76893
560         https://bugs.webkit.org/show_bug.cgi?id=53287
561
562         It made some tests crash on GTK and Qt debug bots (Requested
563         by Ossy on #webkit).
564
565         * bridge/runtime_root.cpp:
566         (JSC::Bindings::RootObject::invalidate):
567         (JSC::Bindings::RootObject::addRuntimeObject):
568         (JSC::Bindings::RootObject::removeRuntimeObject):
569         * bridge/runtime_root.h:
570
571 2011-01-27  Greg Coletta  <greg.coletta@nokia.com>
572
573         Reviewed by Laszlo Gombos.
574
575         Get rid of prefix header dependency for WebKit2 build system
576         https://bugs.webkit.org/show_bug.cgi?id=50174
577
578         Guard EmptyProtocalDefinitions.h to make sure it's not included twice.
579
580         * platform/mac/EmptyProtocolDefinitions.h:
581
582 2011-01-27  Abhishek Arya  <inferno@chromium.org>
583
584         Reviewed by Dan Bernstein.
585
586         Recalc table sections if needed before calculating the first line
587         box baseline.
588         https://bugs.webkit.org/show_bug.cgi?id=53265
589
590         When we try to calculate the baseline position of a table cell,
591         we recurse through all the child sibling boxes (when children are
592         non inline) and add their first linebox baseline values. If one of
593         the children is a table with pending section recalc, we will access
594         wrong table section values. We recalc table sections if it is needed.
595
596         Test: fast/table/recalc-section-first-body-crash-main.html
597
598         * rendering/RenderTable.cpp:
599         (WebCore::RenderTable::firstLineBoxBaseline):
600
601 2011-01-27  Adrienne Walker  <enne@google.com>
602
603         Reviewed by Kenneth Russell.
604
605         [chromium] Add CRASH calls to further debug tiled compositor memcpy crash.
606         https://bugs.webkit.org/show_bug.cgi?id=52379
607
608         Test: LayoutTests/compositing (to verify these weren't triggered)
609
610         * platform/graphics/chromium/LayerTilerChromium.cpp:
611         (WebCore::LayerTilerChromium::invalidateRect):
612         (WebCore::LayerTilerChromium::update):
613
614 2011-01-27  Alexander Pavlov  <apavlov@chromium.org>
615
616         Reviewed by Pavel Feldman.
617
618         Web Inspector: [STYLES] Cancelled suggestion of a property name results in a visual artifact
619         https://bugs.webkit.org/show_bug.cgi?id=53242
620
621         * inspector/front-end/StylesSidebarPane.js:
622         (WebInspector.StylePropertyTreeElement.prototype):
623
624 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
625
626         Unreviewed, rolling out r76891.
627         http://trac.webkit.org/changeset/76891
628         https://bugs.webkit.org/show_bug.cgi?id=53280
629
630         Makes every layout test crash (Requested by othermaciej on
631         #webkit).
632
633         * page/EventHandler.cpp:
634         * page/EventHandler.h:
635         * rendering/RenderObject.cpp:
636         (WebCore::RenderObject::styleDidChange):
637
638 2011-01-27  Ryosuke Niwa  <rniwa@webkit.org>
639
640         Unreviewed, rolling out r76839.
641         http://trac.webkit.org/changeset/76839
642         https://bugs.webkit.org/show_bug.cgi?id=49744
643
644         broke pixel tests
645
646         * rendering/RenderBox.cpp:
647         (WebCore::RenderBox::localCaretRect):
648
649 2011-01-27  Emil A Eklund  <eae@chromium.org>
650
651         Reviewed by Darin Adler.
652
653         contentEditable formatBlock crashes on divs with contenteditable="false"
654         https://bugs.webkit.org/show_bug.cgi?id=53263
655
656         Check if editableRootForPosition returns null for position.
657
658         Test: editing/execCommand/format-block-contenteditable-false.html
659
660         * editing/FormatBlockCommand.cpp:
661         (WebCore::FormatBlockCommand::formatRange):
662
663 2011-01-27  Dimitri Glazkov  <dglazkov@chromium.org>
664
665         Reviewed by Darin Adler.
666
667         Remove RenderMedia members that aren't used.
668         https://bugs.webkit.org/show_bug.cgi?id=53245
669
670         Refactoring, no change in behavior, so no new tests.
671
672         * rendering/RenderMedia.h: Removed unused member variables.
673
674 2011-01-27  Michael Saboff  <msaboff@apple.com>
675
676         Reviewed by Darin Adler.
677
678         Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
679         https://bugs.webkit.org/show_bug.cgi?id=53271
680
681         Precautionary change.
682         Changed RootObject to use WeakGCMap instead of HashSet.
683         Found will looking for another issue, but can't produce a test case
684         that is problematic.  THerefore there aren't any new tests.
685
686         * bridge/runtime_root.cpp:
687         (JSC::Bindings::RootObject::invalidate):
688         (JSC::Bindings::RootObject::addRuntimeObject):
689         (JSC::Bindings::RootObject::removeRuntimeObject):
690         * bridge/runtime_root.h:
691
692 2011-01-27  Kenneth Russell  <kbr@google.com>
693
694         Reviewed by James Robinson.
695
696         Rename Typed Array slice() to subset()
697         https://bugs.webkit.org/show_bug.cgi?id=53273
698
699         * bindings/js/JSArrayBufferViewHelper.h:
700         (WebCore::constructArrayBufferView):
701         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
702         (WebCore::constructWebGLArray):
703         * html/canvas/Float32Array.cpp:
704         (WebCore::Float32Array::subset):
705         * html/canvas/Float32Array.h:
706         * html/canvas/Float32Array.idl:
707         * html/canvas/Int16Array.cpp:
708         (WebCore::Int16Array::subset):
709         * html/canvas/Int16Array.h:
710         * html/canvas/Int16Array.idl:
711         * html/canvas/Int32Array.cpp:
712         (WebCore::Int32Array::subset):
713         * html/canvas/Int32Array.h:
714         * html/canvas/Int32Array.idl:
715         * html/canvas/Int8Array.cpp:
716         (WebCore::Int8Array::subset):
717         * html/canvas/Int8Array.h:
718         * html/canvas/Int8Array.idl:
719         * html/canvas/TypedArrayBase.h:
720         (WebCore::TypedArrayBase::subsetImpl):
721         * html/canvas/Uint16Array.cpp:
722         (WebCore::Uint16Array::subset):
723         * html/canvas/Uint16Array.h:
724         * html/canvas/Uint16Array.idl:
725         * html/canvas/Uint32Array.cpp:
726         (WebCore::Uint32Array::subset):
727         * html/canvas/Uint32Array.h:
728         * html/canvas/Uint32Array.idl:
729         * html/canvas/Uint8Array.cpp:
730         (WebCore::Uint8Array::subset):
731         * html/canvas/Uint8Array.h:
732         * html/canvas/Uint8Array.idl:
733
734 2011-01-27  Darin Adler  <darin@apple.com>
735
736         Reviewed by Dan Bernstein.
737
738         Changing cursor style has no effect until the mouse moves
739         https://bugs.webkit.org/show_bug.cgi?id=14344
740         rdar://problem/7563712
741
742         No tests added because we don't have infrastructure for testing actual cursor
743         changes (as opposed to cursor style computation) at this time. We might add it later.
744
745         * page/EventHandler.cpp:
746         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
747         * page/EventHandler.h: Ditto.
748
749         * rendering/RenderObject.cpp:
750         (WebCore::areNonIdenticalCursorListsEqual): Added.
751         (WebCore::areCursorsEqual): Added.
752         (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
753         cursor styles changed.
754
755 2011-01-27  Leo Yang  <leo.yang@torchmobile.com.cn>
756
757         Reviewed by Dirk Schulze.
758
759         SVG Use Cycle is not detected
760         https://bugs.webkit.org/show_bug.cgi?id=52544
761
762         We should check if SVGUseElement::buildInstanceTree finds problem
763         for every child node. If it finds problem for any children we must
764         return immediately because otherwise the foundProblem variable may
765         be rewritten to false.
766
767         Test: svg/custom/recursive-use2.svg
768
769         * svg/SVGUseElement.cpp:
770         (WebCore::SVGUseElement::buildInstanceTree):
771
772 2011-01-27  Zhenyao Mo  <zmo@google.com>
773
774         Reviewed by Kenneth Russell.
775
776         texSubImage2D's format/type needs to match the internalformat/type from the previous texImage2D call
777         https://bugs.webkit.org/show_bug.cgi?id=53054
778
779         Test: fast/canvas/webgl/tex-sub-image-2d-bad-args.html
780
781         * html/canvas/WebGLRenderingContext.cpp:
782         (WebCore::WebGLRenderingContext::texSubImage2DBase): Check format/type match.
783
784 2011-01-27  Yi Shen  <yi.4.shen@nokia.com>, Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
785
786         Reviewed by Andreas Kling.
787
788         [Qt] Add fullscreen media control button for html video
789         https://bugs.webkit.org/show_bug.cgi?id=51543
790
791         Implement media control fullscreen button for QtWebKit html5 video.
792
793         * css/mediaControlsQt.css:
794         (video::-webkit-media-controls-fullscreen-button):
795         * platform/qt/RenderThemeQt.cpp:
796         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
797
798 2011-01-27  Nate Chapin  <japhet@chromium.org>
799
800         Reviewed by Adam Barth.
801
802         Remove FrameLoader::url() and update callers to use
803         Document::url().
804         https://bugs.webkit.org/show_bug.cgi?id=41165
805
806         Refactor, no new tests.
807
808         * WebCore.exp.in:
809         * dom/Document.cpp:
810         (WebCore::Document::processHttpEquiv):
811         (WebCore::Document::removePendingSheet):
812         * history/CachedFrame.cpp:
813         (WebCore::CachedFrameBase::CachedFrameBase):
814         * history/PageCache.cpp:
815         (WebCore::logCanCacheFrameDecision):
816         (WebCore::PageCache::canCachePageContainingThisFrame):
817         * html/HTMLFrameElementBase.cpp:
818         (WebCore::HTMLFrameElementBase::isURLAllowed):
819         * html/HTMLPlugInImageElement.cpp:
820         (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
821         * inspector/InspectorAgent.cpp:
822         (WebCore::InspectorAgent::inspectedURL):
823         * inspector/InspectorResourceAgent.cpp:
824         (WebCore::buildObjectForFrame):
825         * loader/DocumentWriter.cpp:
826         (WebCore::DocumentWriter::replaceDocument):
827         (WebCore::DocumentWriter::deprecatedFrameEncoding):
828         * loader/FrameLoader.cpp:
829         * loader/FrameLoader.h:
830         * loader/HistoryController.cpp:
831         (WebCore::HistoryController::updateForStandardLoad):
832         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
833         (WebCore::HistoryController::updateForSameDocumentNavigation):
834         * loader/NavigationScheduler.cpp:
835         (WebCore::ScheduledHistoryNavigation::fire):
836         (WebCore::NavigationScheduler::scheduleLocationChange):
837         (WebCore::NavigationScheduler::scheduleRefresh):
838         * page/FrameView.cpp:
839         (WebCore::FrameView::updateControlTints):
840         * page/Location.cpp:
841         (WebCore::Location::url):
842         (WebCore::Location::setProtocol):
843         (WebCore::Location::setHost):
844         (WebCore::Location::setHostname):
845         (WebCore::Location::setPort):
846         (WebCore::Location::setPathname):
847         (WebCore::Location::setSearch):
848         (WebCore::Location::setHash):
849         (WebCore::Location::reload):
850         * page/Page.cpp:
851         (WebCore::Page::goToItem):
852
853 2011-01-27  Stephen White  <senorblanco@chromium.org>
854
855         Reviewed by Darin Adler.
856
857         Fix performance regression in ImageQualityController::objectDestroyed().
858         https://bugs.webkit.org/show_bug.cgi?id=52645
859
860         In r72282, I inadvertently introduced this regression by using a
861         linear search through the hash map on object destruction.  This was
862         because the hash key consisted of both object pointer and layer id,
863         but on object destruction we only know the object pointer, requiring
864         a search to find all the layers. 
865         By replacing the hash map with two nested hash maps, where the outer key
866         is the object and the inner key is the layer, we can find all the
867         relevant data for an object in one hash lookup.
868
869         * rendering/RenderBoxModelObject.cpp:
870         Replace the (object,layer)->size HashMap with object->layer and
871         layer->size HashMaps.
872         (WebCore::ImageQualityController::isEmpty):
873         Implement isEmpty() for the outer HashMap.
874         (WebCore::ImageQualityController::removeLayer):
875         When a layer is removed, remove it from the inner hash map.
876         (WebCore::ImageQualityController::set):
877         Implement set():  if the inner map exists, set the layer->size tuple
878         directly.  If not, create a new inner map, set the tuple, and insert
879         it in the outer map.
880         (WebCore::ImageQualityController::objectDestroyed):
881         Look up the object in the outer map only.
882         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
883         Cosmetic changes for the renamed now-outer hash map.
884         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
885         Do both outer and inner hash map lookups.  Call set() to add/update
886         entries to the hash maps.  keyDestroyed() is now removeLayer().
887         (WebCore::imageQualityController):
888         Make the ImageQualityController a file-static global, so it can be
889         created and destroyed on the fly.
890         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
891         If there is no ImageQualityController, don't call objectDestroyed().
892         If it's empty, delete it.
893         * rendering/RenderImage.cpp:
894         (WebCore::RenderImage::paintIntoRect):
895         Also pass the Image* as the (void*) layer, since 0 is not a valid
896         HashMap key.
897
898 2011-01-27  Adrienne Walker  <enne@google.com>
899
900         Reviewed by James Robinson.
901
902         [chromium] Tiled compositor crashes if compositing turned off mid-paint
903         https://bugs.webkit.org/show_bug.cgi?id=53198
904
905         * platform/graphics/chromium/LayerRendererChromium.cpp:
906         (WebCore::LayerRendererChromium::drawLayers):
907         * platform/graphics/chromium/LayerTilerChromium.cpp:
908         (WebCore::LayerTilerChromium::update):
909         (WebCore::LayerTilerChromium::draw):
910
911 2011-01-27  Carol Szabo <carol.szabo@nokia.com>
912
913         Reviewed by David Hyatt.
914
915         A corrupted counter tree is created when renderers are added to the
916         tree bypassing RenderObject::addChild
917         https://bugs.webkit.org/show_bug.cgi?id=51270
918
919         No new tests. This patch reimplements the fix for bugs 43812 and
920         51637 and hence all tests are already there as part of the original
921         fixes for those bugs.
922
923         * rendering/RenderCounter.cpp:
924         (WebCore::findPlaceForCounter):
925         Removed old workaround as this patch hopefully fixes the real
926         problem.
927         * rendering/RenderObject.cpp:
928         (WebCore::RenderObject::addChild):
929         Removed call to counter updater as it was moved to a lower level.
930         (WebCore::RenderObject::destroy):
931         Moved attached counter nodes destruction to after the node is
932         removed from the tree.
933         * rendering/RenderObjectChildList.cpp:
934         (WebCore::RenderObjectChildList::removeChildNode):
935         (WebCore::RenderObjectChildList::appendChildNode):
936         (WebCore::RenderObjectChildList::insertChildNode):
937         Added notifications to the Counter system such that the
938         CounterForest reflects the changes to the RendererTree.
939         * rendering/RenderWidget.cpp:
940         (WebCore::RenderWidget::destroy):
941         Applied the same changes as for RenderObject::destroy()
942         since RenderObject::destroy() is not called from here.
943
944 2011-01-27  Adam Roben  <aroben@apple.com>
945
946         Add WKCACFViewLayerTreeHost
947
948         This is a class that derives from CACFLayerTreeHost and uses a WKCACFView to render.
949
950         Fixes <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost should use
951         WKCACFView for rendering
952
953         * WebCore.vcproj/WebCore.vcproj: Added WKCACFViewLayerTreeHost.{cpp,h}.
954
955         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
956         (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Make the test window have a
957         non-zero size. WKCACFView will always say it can't render if you pass it a 0-sized window,
958         so we need a non-empty window to perform a valid test.
959         (WebCore::CACFLayerTreeHost::create): First try to create a WKCACFViewLayerTreeHost, then
960         fall back to a LegacyCACFLayerTreeHost.
961         (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to react to the
962         context flush from here...
963         (WebCore::CACFLayerTreeHost::contextDidChange): ...to here. Derived classes are required to
964         call this function whenever changes are flushed to the context.
965
966         * platform/graphics/ca/win/CACFLayerTreeHost.h: Added contextDidChange.
967
968         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
969         (WebCore::LegacyCACFLayerTreeHost::createRenderer):
970         (WebCore::LegacyCACFLayerTreeHost::resize):
971         Changed to use flushContext instead of flushing the context manually so that we will always
972         notify the base class when the context gets flushed.
973
974         (WebCore::LegacyCACFLayerTreeHost::flushContext): Added a call to contextDidChange so the
975         base class will know what happened. Moved code to schedule a render from here...
976         (WebCore::LegacyCACFLayerTreeHost::contextDidChange): ...to here.
977
978         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added contextDidChange.
979
980         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Added.
981         (WebCore::WKCACFViewLayerTreeHost::create): If WebKitQuartzCoreAdditions, which provides
982         WKCACFView, isn't present, bail. Otherwise allocate and return a new host.
983         (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Initialize members.
984         (WebCore::WKCACFViewLayerTreeHost::updateViewIfNeeded): Update the view if we previously
985         marked that we needed to do so, and flush the context if our layer's bounds have changed.
986         (WebCore::WKCACFViewLayerTreeHost::contextDidChangeCallback): Call through to
987         contextDidChange.
988         (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Tell the WKCACFView to start rendering
989         (if we didn't already), then call up to the base class.
990         (WebCore::WKCACFViewLayerTreeHost::initializeContext): Set the context's user data, the
991         view's layer, and hook up our "context did change" callback.
992         (WebCore::WKCACFViewLayerTreeHost::resize): Mark that the view needs to be updated the next
993         time we paint.
994         (WebCore::WKCACFViewLayerTreeHost::createRenderer): Update our view and return whether it is
995         able to render or not.
996         (WebCore::WKCACFViewLayerTreeHost::destroyRenderer): Clear out all the info we passed down
997         to the view.
998         (WebCore::WKCACFViewLayerTreeHost::lastCommitTime): Call through to the view.
999         (WebCore::WKCACFViewLayerTreeHost::flushContext): Ditto.
1000         (WebCore::WKCACFViewLayerTreeHost::paint): Update the view so it will draw at the right
1001         size, then call up to the base class.
1002         (WebCore::WKCACFViewLayerTreeHost::render): Invalidate the view using the passed-in dirty
1003         rects, then ask it to draw.
1004
1005         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/ca/win/LegacyCACFLayerTreeHost.h.
1006
1007 2011-01-27  Adam Roben  <aroben@apple.com>
1008
1009         Move LegacyCACFLayerTreeHost into its own files
1010
1011         More preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
1012         should use WKCACFView for rendering
1013
1014         Reviewed by Simon Fraser.
1015
1016         * WebCore.vcproj/WebCore.vcproj: Added LegacyCACFLayerTreeHost.{cpp,h}.
1017
1018         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Moved code from here to new files.
1019
1020         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Added.
1021         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added.
1022
1023 2011-01-27  Patrick Gansterer  <paroga@webkit.org>
1024
1025         Unreviewed WinCE build fix for r76824.
1026
1027         * platform/wince/DragDataWinCE.cpp:
1028         (WebCore::DragData::dragDataMap):
1029
1030 2011-01-27  Adam Roben  <aroben@apple.com>
1031
1032         Split CACFLayerTreeHost into base and derived classes
1033
1034         The derived class, LegacyCACFLayerTreeHost, contains all the D3D-related code. A later patch
1035         will add a new derived class that replaces the D3D code with a different rendering API.
1036
1037         For now, LegacyCACFLayerTreeHost lives in CACFLayerTreeHost.cpp. This keeps the diff a
1038         little smaller. A later patch will move it to its own source files.
1039
1040         Preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
1041         should use WKCACFView for rendering
1042
1043         Reviewed by Simon Fraser.
1044
1045         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
1046         (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Clear the window before
1047         destroying the host, as that is now the API contract that clients must fulfill.
1048         (WebCore::LegacyCACFLayerTreeHost::create): Added. Simple creator.
1049         (WebCore::CACFLayerTreeHost::create): Now instantiates a LegacyCACFLayerTreeHost. Calls the
1050         new initialize function to perform initialization that has to happen after the vtable has
1051         been set up.
1052
1053         (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost):
1054         (WebCore::CACFLayerTreeHost::CACFLayerTreeHost):
1055         (WebCore::LegacyCACFLayerTreeHost::initializeContext):
1056         (WebCore::CACFLayerTreeHost::initialize):
1057         Moved some initialization code from the CACFLayerTreeHost constructor into these new
1058         functions.
1059
1060         (WebCore::LegacyCACFLayerTreeHost::~LegacyCACFLayerTreeHost): Added. Moved code here from
1061         ~CACFLayerTreeHost.
1062         (WebCore::CACFLayerTreeHost::~CACFLayerTreeHost): Rather than clearing the window at this
1063         point (which would be too late, since we won't be able to call into the derived class's
1064         virtual functions), just assert that it has already been cleared (or was never set in the
1065         first place).
1066         (WebCore::LegacyCACFLayerTreeHost::createRenderer): Renamed from
1067         CACFLayerTreeHost::createRenderer, and changed to use getters instead of accessing
1068         CACFLayerTreeHost's data members directly.
1069
1070         (WebCore::LegacyCACFLayerTreeHost::destroyRenderer):
1071         (WebCore::CACFLayerTreeHost::destroyRenderer):
1072         Moved some code to the new LegacyCACFLayerTreeHost function.
1073
1074         (WebCore::LegacyCACFLayerTreeHost::resize):
1075         (WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
1076         Moved these functions to LegacyCACFLayerTreeHost.
1077
1078         (WebCore::LegacyCACFLayerTreeHost::paint):
1079         (WebCore::CACFLayerTreeHost::paint):
1080         Moved some code to the new LegacyCACFLayerTreeHost function.
1081
1082         (WebCore::LegacyCACFLayerTreeHost::render):
1083         (WebCore::LegacyCACFLayerTreeHost::renderSoon):
1084         Moved these functions to LegacyCACFLayerTreeHost.
1085
1086         (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to flush the context
1087         from here...
1088         (WebCore::LegacyCACFLayerTreeHost::flushContext): ...to this new function.
1089
1090         (WebCore::LegacyCACFLayerTreeHost::lastCommitTime): Moved code to get the last commit time
1091         to this new function...
1092         (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): ...from here.
1093
1094         (WebCore::LegacyCACFLayerTreeHost::initD3DGeometry):
1095         (WebCore::LegacyCACFLayerTreeHost::resetDevice):
1096         Moved these functions to LegacyCACFLayerTreeHost.
1097
1098         * platform/graphics/ca/win/CACFLayerTreeHost.h: Made some functions virtual, removed some
1099         members that have moved to LegacyCACFLayerTreeHost, grouped remaining members more
1100         logically, and added some getters used by LegacyCACFLayerTreeHost.
1101
1102 2011-01-27  Adam Roben  <aroben@apple.com>
1103
1104         Move CACFLayerTreeHostClient to its own header file
1105
1106         Rubber-stamped by Steve Falkenburg.
1107
1108         * WebCore.vcproj/WebCore.vcproj: Added CACFLayerTreeHostClient.h. Also let VS have its way
1109         with the file.
1110
1111         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include.
1112
1113         * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed CACFLayerTreeHostClient.
1114
1115         * platform/graphics/ca/win/CACFLayerTreeHostClient.h: Added.
1116
1117         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Moved some #includes here
1118         from the header file.
1119
1120         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Replaced broader #includes
1121         with more specific ones, plus a forward-declaration.
1122
1123 2011-01-27  James Simonsen  <simonjam@chromium.org>
1124
1125         Reviewed by Tony Chang.
1126
1127         [Chromium] Simplify small caps logic in complex text on linux
1128         https://bugs.webkit.org/show_bug.cgi?id=53207
1129
1130         Test: fast/text/atsui-multiple-renderers.html
1131               fast/text/atsui-small-caps-punctuation-size.html
1132
1133         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1134         (WebCore::ComplexTextController::nextScriptRun): Remove redundant logic. Case changes in a text run imply FontData changes.
1135         (WebCore::ComplexTextController::setupFontForScriptRun): Update comment to reflect above.
1136
1137 2011-01-27  Adam Barth  <abarth@webkit.org>
1138
1139         In which I attempt to fix the EFL build.
1140
1141         * CMakeLists.txt:
1142
1143 2011-01-25  Levi Weintraub  <leviw@chromium.org>
1144
1145         Reviewed by Darin Adler.
1146
1147         Adding border and padding to the calculation of the local caret rect for RenderBoxes.
1148         Corrected for mistake in r76625
1149
1150         Undo moves caret to invalid position
1151         https://bugs.webkit.org/show_bug.cgi?id=49744
1152
1153         Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
1154                editing/selection/caret-painting-after-paste-undo.html
1155
1156         * rendering/RenderBox.cpp:
1157         (WebCore::RenderBox::localCaretRect):
1158
1159 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1160
1161         Unreviewed, rolling out r76825.
1162         http://trac.webkit.org/changeset/76825
1163         https://bugs.webkit.org/show_bug.cgi?id=53256
1164
1165         "caused crashes on GTK and chromium" (Requested by rniwa on
1166         #webkit).
1167
1168         * rendering/RenderBoxModelObject.cpp:
1169         (WebCore::ImageQualityController::keyDestroyed):
1170         (WebCore::ImageQualityController::objectDestroyed):
1171         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
1172         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
1173         (WebCore::imageQualityController):
1174         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
1175
1176 2011-01-27  Adam Barth  <abarth@webkit.org>
1177
1178         Reviewed by Eric Seidel.
1179
1180         Generalize the mechanism view-source uses to remember the source for an HTMLToken
1181         https://bugs.webkit.org/show_bug.cgi?id=53200
1182
1183         Currently view-source tracks the source associated with each HTMLToken.
1184         We want to re-use this mechanism for the new XSS auditor.  This patch
1185         moves this code into its own class so it can be shared between the
1186         view-source parser and the general HTML parser.  This patch also add
1187         support for tracking the source of tokens that span document.write
1188         boundaries.
1189
1190         No functional change.  This code change is somewhat tested by our
1191         view-source layout tests.
1192
1193         * Android.mk:
1194         * GNUmakefile.am:
1195         * WebCore.gypi:
1196         * WebCore.pro:
1197         * WebCore.vcproj/WebCore.vcproj:
1198         * WebCore.xcodeproj/project.pbxproj:
1199             - Fun with updating build files.
1200         * html/parser/HTMLDocumentParser.cpp:
1201         (WebCore::HTMLDocumentParser::pumpTokenizer):
1202             - Teach HTMLDocumentParser to track the source for HTMLTokens.
1203               Currently, this information isn't used, but it will be shortly.
1204               I ran the HTML parser benchmark and this change didn't have a
1205               measurable effect.
1206         * html/parser/HTMLDocumentParser.h:
1207             - Composite in the HTMLSourceTracker.
1208         * html/parser/HTMLSourceTracker.cpp: Added.
1209         (WebCore::HTMLSourceTracker::HTMLSourceTracker):
1210         (WebCore::HTMLSourceTracker::start):
1211         (WebCore::HTMLSourceTracker::end):
1212             - This function should eventualy be folded into HTMLTokenizer.
1213         (WebCore::HTMLSourceTracker::sourceForToken):
1214         * html/parser/HTMLSourceTracker.h: Added.
1215         * html/parser/HTMLToken.h:
1216             - Now HTMLTokens always have a start index of zero.  To do the job
1217               of the old start index, this patch introduces the notion of a
1218               baseOffset.  Unlike the start index (which was used as the base
1219               offset for all the other indicies), the baseOffset can change
1220               over the lifetime of the token.  We need the flexibility to
1221               change the offset for tokens that span document.write boundaries.
1222               Values are now normalized to zero-offset when stored.
1223         (WebCore::HTMLToken::clear):
1224         (WebCore::HTMLToken::setBaseOffset):
1225         (WebCore::HTMLToken::end):
1226         (WebCore::HTMLToken::beginAttributeName):
1227         (WebCore::HTMLToken::endAttributeName):
1228         (WebCore::HTMLToken::beginAttributeValue):
1229         (WebCore::HTMLToken::endAttributeValue):
1230         * html/parser/HTMLViewSourceParser.cpp:
1231             - Updates the HTMLViewSourceParser to use the new
1232               HTMLSourceTracker.
1233         (WebCore::HTMLViewSourceParser::pumpTokenizer):
1234         (WebCore::HTMLViewSourceParser::append):
1235         (WebCore::HTMLViewSourceParser::sourceForToken):
1236             - This function now just calls through to HTMLSourceTracker.
1237         * html/parser/HTMLViewSourceParser.h:
1238         * platform/text/SegmentedString.cpp:
1239         (WebCore::SegmentedString::currentColumn):
1240         (WebCore::SegmentedString::setCurrentPosition):
1241         * platform/text/SegmentedString.h:
1242         (WebCore::SegmentedString::numberOfCharactersConsumed):
1243             - We need to handle the general case now.  The "slow" version
1244               doesn't turn out to be any slower in practice anyway.
1245
1246 2011-01-27  Sam Weinig  <sam@webkit.org>
1247
1248         Fix all the builds.
1249
1250         * platform/ScrollView.cpp:
1251         (WebCore::ScrollView::paintOverhangAreas): Add parameters.
1252
1253 2011-01-27  Sam Weinig  <sam@webkit.org>
1254
1255         Reviewed by Dave Hyatt.
1256
1257         Add ability to do an unconstrained scroll on a ScrollView
1258         https://bugs.webkit.org/show_bug.cgi?id=53249
1259
1260         * platform/ScrollView.cpp:
1261         (WebCore::ScrollView::ScrollView):
1262         Initialize m_constrainsScrollingToContentEdge to true.
1263
1264         (WebCore::ScrollView::setScrollOffset):
1265         Only constrain the offset if the m_constrainsScrollingToContentEdge is set.
1266
1267         (WebCore::ScrollView::updateScrollbars):
1268         Simplify expression converting an IntSize to an IntPoint.
1269         
1270         (WebCore::ScrollView::paint):
1271         Paint the overhang if there is any.
1272         
1273         (WebCore::ScrollView::calculateOverhangAreasForPainting):
1274         Calculate the overhang in viewport coordinates for painting.
1275
1276         * platform/ScrollView.h:
1277         (WebCore::ScrollView::constrainsScrollingToContentEdge):
1278         (WebCore::ScrollView::setConstrainsScrollingToContentEdge):
1279         Add bit to control whether the scroll position should be constrained
1280         to the content edge when set.
1281
1282         * platform/ScrollbarThemeComposite.cpp:
1283         (WebCore::usedTotalSize):
1284         (WebCore::ScrollbarThemeComposite::thumbPosition):
1285         (WebCore::ScrollbarThemeComposite::thumbLength):
1286         * platform/mac/ScrollbarThemeMac.mm:
1287         (WebCore::ScrollbarThemeMac::paint):
1288         Improve calculations of thumb size and position to take overhang into account.
1289
1290 2011-01-27  Dirk Schulze  <krit@webkit.org>
1291
1292         Reviewed by Nikolas Zimmermann.
1293
1294         SVG animation of Paths with segments of different coordinate modes on begin and end
1295         https://bugs.webkit.org/show_bug.cgi?id=52984
1296
1297         At the moment we just support SVG path animations, if the number of segments on the given start path
1298         is the same as the number of segments on the given end path. But a segment on a given position must be identical
1299         on both paths as well. Not only the segment type, also the coordinate mode of the segments must be identical.
1300         If MoveToRel is on the second position on the start path a MoveToRel must be on the second position
1301         of the end path too. According to the SVG spec, at least the coordinate mode can differ. Means, if we have MoveToRel
1302         in the start path, we can use MoveToAbs on the same position in the end path.
1303
1304         This patch fixes the blending code to follow the spec here. It was necessary to track the current position of
1305         both paths, transform coordinates to the same coordinate mode and transform the resulting animation coordinate back
1306         to the coordinate mode of either the start or the end path. Which mode is taken depends on the progress of the
1307         animation.
1308
1309         Tests: svg/animations/animate-path-animation-Cc-Ss.html
1310                svg/animations/animate-path-animation-Ll-Vv-Hh.html
1311                svg/animations/animate-path-animation-Qq-Tt.html
1312                svg/animations/animate-path-animation-cC-sS-inverse.html
1313                svg/animations/animate-path-animation-lL-vV-hH-inverse.html
1314                svg/animations/animate-path-animation-qQ-tT-inverse.html
1315
1316         * svg/SVGPathBlender.cpp:
1317         (WebCore::blendFloatPoint):
1318         (WebCore::blendAnimatedFloat):
1319         (WebCore::SVGPathBlender::blendAnimatedDimensionalFloat):
1320         (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
1321         (WebCore::SVGPathBlender::blendMoveToSegment):
1322         (WebCore::SVGPathBlender::blendLineToSegment):
1323         (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
1324         (WebCore::SVGPathBlender::blendLineToVerticalSegment):
1325         (WebCore::SVGPathBlender::blendCurveToCubicSegment):
1326         (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
1327         (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
1328         (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
1329         (WebCore::SVGPathBlender::blendArcToSegment):
1330         (WebCore::coordinateModeOfCommand):
1331         (WebCore::isSegmentEqual):
1332         (WebCore::SVGPathBlender::blendAnimatedPath):
1333         (WebCore::SVGPathBlender::cleanup):
1334         * svg/SVGPathBlender.h:
1335
1336 2011-01-27  Cris Neckar  <cdn@chromium.org>
1337
1338         Reviewed by Dimitri Glazkov.
1339
1340         Clear the parent on a css keyframe's m_style when removing it from the stylesheet.
1341         https://bugs.webkit.org/show_bug.cgi?id=52320
1342
1343         Test: fast/css/css-keyframe-style-crash.html
1344
1345         * css/CSSRuleList.cpp:
1346         (WebCore::CSSRuleList::deleteRule):
1347         * css/WebKitCSSKeyframesRule.cpp:
1348         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
1349
1350 2011-01-27  Rob Buis  <rwlbuis@gmail.com>
1351
1352         Reviewed by Kent Tamura.
1353
1354         Color changes to option elements in a select multiple aren't drawn immediately
1355         https://bugs.webkit.org/show_bug.cgi?id=49790
1356
1357         Redirect style changes on <option> element to the owner <select> element.
1358
1359         Test: fast/repaint/select-option-background-color.html
1360
1361         * html/HTMLOptionElement.cpp:
1362         (WebCore::HTMLOptionElement::setRenderStyle):
1363
1364 2011-01-19  Stephen White  <senorblanco@chromium.org>
1365
1366         Reviewed by Darin Adler.
1367
1368         Fix performance regression in ImageQualityController::objectDestroyed().
1369         https://bugs.webkit.org/show_bug.cgi?id=52645
1370
1371         In r72282, I inadvertently introduced this regression by using a
1372         linear search through the hash map on object destruction.  This was
1373         because the hash key consisted of both object pointer and layer id,
1374         but on object destruction we only know the object pointer, requiring
1375         a search to find all the layers. 
1376         By replacing the hash map with two nested hash maps, where the outer key
1377         is the object and the inner key is the layer, we can find all the
1378         relevant data for an object in one hash lookup.
1379
1380         * rendering/RenderBoxModelObject.cpp:
1381         Replace the (object,layer)->size HashMap with object->layer and
1382         layer->size HashMaps.
1383         (WebCore::ImageQualityController::isEmpty):
1384         Implement isEmpty() for the outer HashMap.
1385         (WebCore::ImageQualityController::removeLayer):
1386         When a layer is removed, remove it from the inner hash map.
1387         (WebCore::ImageQualityController::set):
1388         Implement set():  if the inner map exists, set the layer->size tuple
1389         directly.  If not, create a new inner map, set the tuple, and insert
1390         it in the outer map.
1391         (WebCore::ImageQualityController::objectDestroyed):
1392         Look up the object in the outer map only.
1393         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
1394         Cosmetic changes for the renamed now-outer hash map.
1395         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
1396         Do both outer and inner hash map lookups.  Call set() to add/update
1397         entries to the hash maps.  keyDestroyed() is now removeLayer().
1398         (WebCore::imageQualityController):
1399         Make the ImageQualityController a file-static global, so it can be
1400         created and destroyed on the fly.
1401         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
1402         If there is no ImageQualityController, don't call objectDestroyed().
1403         If it's empty, delete it.
1404
1405
1406 2011-01-26  Enrica Casucci  <enrica@apple.com>
1407
1408         Reviewed by Darin Adler and Adam Roben.
1409
1410         WebKit2: add support for drag and drop on Windows
1411         https://bugs.webkit.org/show_bug.cgi?id=52775
1412         <rdar://problem/8514409>
1413         
1414         On Windows the access to the content being dragged is
1415         provided via the IDataObject interface that is made available
1416         to the window that registers itself as drop target.
1417         Since this interface cannot be accessed from the WebProcess,
1418         in every call to one of the methods of the IDropTarget interface
1419         we serialize the content of the drag clipboard and send it over to
1420         the WebProcess.
1421         The bulk of this patch consists in the refactoring needed in DragData
1422         and ClipboardWin classes to extract the data from the serialized object.
1423         
1424         * platform/DragData.cpp:
1425         * platform/DragData.h:
1426         * platform/win/ClipboardUtilitiesWin.cpp:
1427         (WebCore::getWebLocData):
1428         (WebCore::getURL):
1429         (WebCore::getPlainText):
1430         (WebCore::getTextHTML):
1431         (WebCore::getCFHTML):
1432         (WebCore::fragmentFromFilenames):
1433         (WebCore::containsFilenames):
1434         (WebCore::fragmentFromHTML):
1435         (WebCore::containsHTML):
1436         (WebCore::getClipboardData):
1437         * platform/win/ClipboardUtilitiesWin.h:
1438         * platform/win/ClipboardWin.cpp:
1439         (WebCore::Clipboard::create):
1440         (WebCore::ClipboardWin::ClipboardWin):
1441         (WebCore::ClipboardWin::getData):
1442         (WebCore::ClipboardWin::types):
1443         (WebCore::ClipboardWin::files):
1444         (WebCore::ClipboardWin::hasData):
1445         * platform/win/ClipboardWin.h:
1446         (WebCore::ClipboardWin::create):
1447         * platform/win/DragDataWin.cpp:
1448         (WebCore::DragData::DragData):
1449         (WebCore::DragData::containsURL):
1450         (WebCore::DragData::dragDataMap):
1451         (WebCore::DragData::asURL):
1452         (WebCore::DragData::containsFiles):
1453         (WebCore::DragData::asFilenames):
1454         (WebCore::DragData::containsPlainText):
1455         (WebCore::DragData::asPlainText):
1456         (WebCore::DragData::canSmartReplace):
1457         (WebCore::DragData::containsCompatibleContent):
1458         (WebCore::DragData::asFragment):
1459
1460 2011-01-27  Mario Sanchez Prada  <msanchez@igalia.com>
1461
1462         Reviewed by Martin Robinson.
1463
1464         [GTK] Space characters in source document interfere with reported caret offset
1465         https://bugs.webkit.org/show_bug.cgi?id=53033
1466
1467         Calculate caret offset from rendered text instead of from node contents.
1468
1469         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1470         (objectAndOffsetUnignored): Calculate the caret offset based only
1471         on positions and ranges, instead of using the computed offset in
1472         the container node.
1473
1474 2011-01-26  Alexey Proskuryakov  <ap@apple.com>
1475
1476         Reviewed by Darin Adler.
1477
1478         https://bugs.webkit.org/show_bug.cgi?id=53197
1479         <rdar://problem/8895682> Make WebKit2 printing asynchronous
1480
1481         * WebCore.exp.in: Export more PrintContext methods that we didn't use on Mac before.
1482
1483         * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Changed to make the same
1484         transformation as spoolPages does for consistency.
1485
1486 2011-01-27  David Grogan  <dgrogan@google.com>
1487
1488         Reviewed by Jeremy Orlow.
1489
1490         initial support for close() in indexeddb backend
1491         https://bugs.webkit.org/show_bug.cgi?id=53150
1492
1493         Test: storage/indexeddb/transaction-after-close.html
1494
1495         * storage/IDBDatabase.cpp:
1496         (WebCore::IDBDatabase::IDBDatabase):
1497         (WebCore::IDBDatabase::transaction):
1498         (WebCore::IDBDatabase::close):
1499         * storage/IDBDatabase.h:
1500         * storage/IDBDatabase.idl:
1501         * storage/IDBDatabaseBackendImpl.cpp:
1502         (WebCore::IDBDatabaseBackendImpl::transaction):
1503         (WebCore::IDBDatabaseBackendImpl::close):
1504
1505 2011-01-27  Dirk Schulze  <krit@webkit.org>
1506
1507         Reviewed by Nikolas Zimmermann.
1508
1509         SVG animation doesn't support calcMode discrete for number and color values.
1510         https://bugs.webkit.org/show_bug.cgi?id=53189
1511
1512         Add support for calcMode discrete on number and color animation.
1513
1514         Tests: svg/animations/animate-color-calcMode-discrete.html
1515                svg/animations/animate-number-calcMode-discrete.html
1516
1517         * svg/SVGAnimateElement.cpp:
1518         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1519
1520 2011-01-26  Zhenyao Mo  <zmo@google.com>
1521
1522         Reviewed by Kenneth Russell.
1523
1524         shaderSource needs to preserve original source
1525         https://bugs.webkit.org/show_bug.cgi?id=52833
1526
1527         Test: fast/canvas/webgl/gl-getshadersource.html
1528
1529         * html/canvas/WebGLRenderingContext.cpp:
1530         (WebCore::WebGLRenderingContext::getShaderParameter): Intercept SHADER_SOURCE_LENGTH.
1531         (WebCore::WebGLRenderingContext::getShaderSource): Intercept the call.
1532         (WebCore::WebGLRenderingContext::shaderSource): Cache the source.
1533         * html/canvas/WebGLShader.cpp: Cache shader source.
1534         (WebCore::WebGLShader::WebGLShader):
1535         * html/canvas/WebGLShader.h: Ditto.
1536         (WebCore::WebGLShader::getSource):
1537         (WebCore::WebGLShader::setSource):
1538
1539 2011-01-27  Patrick Gansterer  <paroga@webkit.org>
1540
1541         Unreviewed WinCE build fix for r76743.
1542
1543         * platform/graphics/wince/FontWinCE.cpp:
1544         (WebCore::TextRunComponent::TextRunComponent):
1545
1546 2011-01-27  Pavel Podivilov  <podivilov@chromium.org>
1547
1548         Reviewed by Pavel Feldman.
1549
1550         Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
1551         https://bugs.webkit.org/show_bug.cgi?id=53234
1552
1553         * inspector/front-end/ScopeChainSidebarPane.js:
1554         (WebInspector.ScopeChainSidebarPane):
1555         (WebInspector.ScopeChainSidebarPane.prototype.update):
1556
1557 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1558
1559         Unreviewed, rolling out r76789.
1560         http://trac.webkit.org/changeset/76789
1561         https://bugs.webkit.org/show_bug.cgi?id=53238
1562
1563         Broke GTK layout tests (Requested by podivilov on #webkit).
1564
1565         * inspector/front-end/ScopeChainSidebarPane.js:
1566         (WebInspector.ScopeChainSidebarPane):
1567         (WebInspector.ScopeChainSidebarPane.prototype.update):
1568
1569 2011-01-27  Yury Semikhatsky  <yurys@chromium.org>
1570
1571         Reviewed by Pavel Feldman.
1572
1573         Web Inspector: store all settings related to the agents on the frontend side
1574         https://bugs.webkit.org/show_bug.cgi?id=53174
1575
1576         * CMakeLists.txt:
1577         * GNUmakefile.am:
1578         * WebCore.exp.in:
1579         * WebCore.gypi:
1580         * WebCore.pro:
1581         * WebCore.vcproj/WebCore.vcproj:
1582         * WebCore.xcodeproj/project.pbxproj:
1583         * bindings/js/ScriptDebugServer.cpp:
1584         * bindings/js/ScriptDebugServer.h:
1585         * bindings/js/ScriptProfiler.cpp:
1586         * bindings/js/ScriptProfiler.h:
1587         * bindings/v8/ScriptDebugServer.cpp:
1588         * bindings/v8/ScriptDebugServer.h:
1589         * bindings/v8/ScriptProfiler.cpp:
1590         * bindings/v8/ScriptProfiler.h:
1591         * inspector/Inspector.idl:
1592         * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
1593         on the front-end side and will be pushed to the backend when the frontend is loaded.
1594         (WebCore::InspectorAgent::InspectorAgent):
1595         (WebCore::InspectorAgent::disconnectFrontend):
1596         (WebCore::InspectorAgent::restoreDebugger):
1597         (WebCore::InspectorAgent::restoreProfiler):
1598         (WebCore::InspectorAgent::enableProfiler):
1599         (WebCore::InspectorAgent::disableProfiler):
1600         (WebCore::InspectorAgent::showAndEnableDebugger):
1601         (WebCore::InspectorAgent::enableDebugger):
1602         (WebCore::InspectorAgent::disableDebugger):
1603         * inspector/InspectorAgent.h:
1604         * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
1605         if the front-end was opened during current browser session and XHR logging is turned on
1606         there.
1607         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
1608         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1609         * inspector/InspectorDebuggerAgent.cpp:
1610         * inspector/InspectorDebuggerAgent.h:
1611         * inspector/InspectorInstrumentation.cpp:
1612         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
1613         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
1614         * inspector/InspectorProfilerAgent.cpp:
1615         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1616         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
1617         * inspector/InspectorSettings.cpp: Removed.
1618         * inspector/InspectorSettings.h: Removed.
1619         * inspector/InspectorState.cpp:
1620         (WebCore::InspectorState::InspectorState):
1621         * inspector/InspectorState.h:
1622         * inspector/front-end/ConsoleView.js:
1623         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
1624         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
1625         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
1626         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
1627         * inspector/front-end/ProfilesPanel.js:
1628         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
1629         * inspector/front-end/ScriptsPanel.js:
1630         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1631         * inspector/front-end/Settings.js:
1632         (WebInspector.Settings):
1633         * inspector/front-end/inspector.js:
1634
1635 2011-01-27  Pavel Podivilov  <podivilov@chromium.org>
1636
1637         Reviewed by Pavel Feldman.
1638
1639         Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
1640         https://bugs.webkit.org/show_bug.cgi?id=53234
1641
1642         * inspector/front-end/ScopeChainSidebarPane.js:
1643         (WebInspector.ScopeChainSidebarPane):
1644         (WebInspector.ScopeChainSidebarPane.prototype.update):
1645
1646 2011-01-27  Alexander Pavlov  <apavlov@chromium.org>
1647
1648         Reviewed by Pavel Feldman.
1649
1650         Web Inspector: [Elements panel] Tooltip for relative links incorrectly identifies current URL
1651         https://bugs.webkit.org/show_bug.cgi?id=53171
1652
1653         * inspector/front-end/inspector.js:
1654         (WebInspector.completeURL): Taught to understand partial href's that start with "?" (contain GET parameters only)
1655
1656 2011-01-27  Yury Semikhatsky  <yurys@chromium.org>
1657
1658         Reviewed by Pavel Feldman.
1659
1660         [V8] Crash in WebCore::addMessageToConsole
1661         https://bugs.webkit.org/show_bug.cgi?id=53227
1662
1663         * bindings/v8/V8Proxy.cpp: check that the Frame where the error
1664         occured still has a page before getting a console object from it.
1665         (WebCore::V8Proxy::reportUnsafeAccessTo):
1666
1667 2011-01-27  Hans Wennborg  <hans@chromium.org>
1668
1669         Reviewed by Jeremy Orlow.
1670
1671         IndexedDB: Remove IDBCallbacks::onSuccess() used for null values.
1672         https://bugs.webkit.org/show_bug.cgi?id=53178
1673
1674         Remove the IDBCallbacks::onSuccess() function that was used for
1675         null values, and replace such calls with calls to
1676         IDBCallBacks::onSuccess(SerializedScriptValue::nullValue())
1677         instead.
1678
1679         No new functionality, so no new tests.
1680
1681         * storage/IDBCallbacks.h:
1682         * storage/IDBCursorBackendImpl.cpp:
1683         (WebCore::IDBCursorBackendImpl::updateInternal):
1684         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
1685         * storage/IDBIndexBackendImpl.cpp:
1686         (WebCore::IDBIndexBackendImpl::openCursorInternal):
1687         * storage/IDBObjectStoreBackendImpl.cpp:
1688         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
1689         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1690         * storage/IDBRequest.cpp:
1691         * storage/IDBRequest.h:
1692
1693 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1694
1695         Unreviewed, rolling out r76773.
1696         http://trac.webkit.org/changeset/76773
1697         https://bugs.webkit.org/show_bug.cgi?id=53230
1698
1699         breaks multiple GTK media tests (Requested by philn-tp on
1700         #webkit).
1701
1702         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1703         (WebCore::mimeTypeCache):
1704
1705 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1706
1707         Unreviewed, rolling out r76770.
1708         http://trac.webkit.org/changeset/76770
1709         https://bugs.webkit.org/show_bug.cgi?id=53229
1710
1711         Some inspector tests fail (Requested by yurys on #webkit).
1712
1713         * CMakeLists.txt:
1714         * GNUmakefile.am:
1715         * WebCore.exp.in:
1716         * WebCore.gypi:
1717         * WebCore.pro:
1718         * WebCore.vcproj/WebCore.vcproj:
1719         * WebCore.xcodeproj/project.pbxproj:
1720         * bindings/js/ScriptDebugServer.cpp:
1721         (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
1722         * bindings/js/ScriptDebugServer.h:
1723         * bindings/js/ScriptProfiler.cpp:
1724         (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
1725         * bindings/js/ScriptProfiler.h:
1726         * bindings/v8/ScriptDebugServer.cpp:
1727         (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
1728         * bindings/v8/ScriptDebugServer.h:
1729         * bindings/v8/ScriptProfiler.cpp:
1730         (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
1731         * bindings/v8/ScriptProfiler.h:
1732         * inspector/Inspector.idl:
1733         * inspector/InspectorAgent.cpp:
1734         (WebCore::InspectorAgent::InspectorAgent):
1735         (WebCore::InspectorAgent::disconnectFrontend):
1736         (WebCore::InspectorAgent::restoreDebugger):
1737         (WebCore::InspectorAgent::restoreProfiler):
1738         (WebCore::InspectorAgent::ensureSettingsLoaded):
1739         (WebCore::InspectorAgent::enableProfiler):
1740         (WebCore::InspectorAgent::disableProfiler):
1741         (WebCore::InspectorAgent::showAndEnableDebugger):
1742         (WebCore::InspectorAgent::enableDebugger):
1743         (WebCore::InspectorAgent::disableDebugger):
1744         * inspector/InspectorAgent.h:
1745         (WebCore::InspectorAgent::settings):
1746         * inspector/InspectorConsoleAgent.cpp:
1747         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
1748         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1749         * inspector/InspectorDebuggerAgent.cpp:
1750         (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
1751         * inspector/InspectorDebuggerAgent.h:
1752         * inspector/InspectorInstrumentation.cpp:
1753         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
1754         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
1755         * inspector/InspectorProfilerAgent.cpp:
1756         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1757         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
1758         * inspector/InspectorSettings.cpp: Added.
1759         (WebCore::InspectorSettings::InspectorSettings):
1760         (WebCore::InspectorSettings::getBoolean):
1761         (WebCore::InspectorSettings::setBoolean):
1762         (WebCore::InspectorSettings::getLong):
1763         (WebCore::InspectorSettings::setLong):
1764         (WebCore::InspectorSettings::registerBoolean):
1765         (WebCore::InspectorSettings::registerLong):
1766         * inspector/InspectorSettings.h: Copied from Source/WebCore/bindings/v8/ScriptProfiler.h.
1767         * inspector/InspectorState.cpp:
1768         (WebCore::InspectorState::InspectorState):
1769         * inspector/InspectorState.h:
1770         * inspector/front-end/ConsoleView.js:
1771         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
1772         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
1773         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
1774         * inspector/front-end/ProfilesPanel.js:
1775         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
1776         * inspector/front-end/ScriptsPanel.js:
1777         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1778         * inspector/front-end/Settings.js:
1779         (WebInspector.Settings):
1780         * inspector/front-end/inspector.js:
1781
1782 2011-01-26  Philippe Normand  <pnormand@igalia.com>
1783
1784         Reviewed by Martin Robinson.
1785
1786         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
1787         https://bugs.webkit.org/show_bug.cgi?id=53125
1788
1789         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1790         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
1791
1792 2011-01-26  Yury Semikhatsky  <yurys@chromium.org>
1793
1794         Reviewed by Pavel Feldman.
1795
1796         Web Inspector: store all settings related to the agents on the frontend side
1797         https://bugs.webkit.org/show_bug.cgi?id=53174
1798
1799         * CMakeLists.txt:
1800         * GNUmakefile.am:
1801         * WebCore.exp.in:
1802         * WebCore.gypi:
1803         * WebCore.pro:
1804         * WebCore.vcproj/WebCore.vcproj:
1805         * WebCore.xcodeproj/project.pbxproj:
1806         * inspector/Inspector.idl:
1807         * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
1808         on the front-end side and will be pushed to the backend when the frontend is loaded.
1809         (WebCore::InspectorAgent::InspectorAgent):
1810         (WebCore::InspectorAgent::disconnectFrontend):
1811         (WebCore::InspectorAgent::restoreDebugger):
1812         (WebCore::InspectorAgent::restoreProfiler):
1813         (WebCore::InspectorAgent::enableProfiler):
1814         (WebCore::InspectorAgent::disableProfiler):
1815         (WebCore::InspectorAgent::showAndEnableDebugger):
1816         (WebCore::InspectorAgent::enableDebugger):
1817         (WebCore::InspectorAgent::disableDebugger):
1818         * inspector/InspectorAgent.h:
1819         * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
1820         if the front-end was opened during current browser session and XHR logging is turned on
1821         there.
1822         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
1823         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1824         * inspector/InspectorInstrumentation.cpp:
1825         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
1826         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
1827         * inspector/InspectorProfilerAgent.cpp:
1828         (WebCore::InspectorProfilerAgent::enable):
1829         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
1830         * inspector/InspectorProfilerAgent.h:
1831         * inspector/InspectorSettings.cpp: Removed.
1832         * inspector/InspectorSettings.h: Removed.
1833         * inspector/InspectorState.cpp:
1834         (WebCore::InspectorState::InspectorState):
1835         * inspector/InspectorState.h:
1836         * inspector/front-end/ConsoleView.js:
1837         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
1838         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
1839         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
1840         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
1841         * inspector/front-end/ProfilesPanel.js:
1842         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
1843         * inspector/front-end/ScriptsPanel.js:
1844         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1845         * inspector/front-end/Settings.js:
1846         (WebInspector.Settings):
1847         * inspector/front-end/inspector.js:
1848
1849 2011-01-27  Dan Bernstein  <mitz@apple.com>
1850
1851         Reviewed by Sam Weinig.
1852
1853         REGRESSION (r76743): Uneven spacing in right-to-left justified text
1854         https://bugs.webkit.org/show_bug.cgi?id=53225
1855
1856         Fixes failure in fast/text/atsui-spacing-features.html
1857
1858         There was an inconsistency between rendering code and font code in the interpretation of
1859         'after expansion' and 'trailing expansion'. Changed all code to interpret these in terms of
1860         visual order rather than logical.
1861
1862         * platform/graphics/Font.cpp:
1863         (WebCore::Font::expansionOpportunityCount): Added a text direction parameter and changed to
1864         iterate in visual order accordingly.
1865         * platform/graphics/Font.h:
1866         * platform/graphics/WidthIterator.cpp:
1867         (WebCore::WidthIterator::WidthIterator): Pass the run direction to expansionOpportunityCount().
1868         (WebCore::WidthIterator::advance): For right-to-left runs, evaluate the trailing expansion
1869         condition with respect to the first character, which is the trailing character in visual order.
1870         * platform/graphics/mac/ComplexTextController.cpp:
1871         (WebCore::ComplexTextController::ComplexTextController): Pass the run direction to
1872         expansionOpportunityCount().
1873         * rendering/RenderBlockLineLayout.cpp:
1874         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
1875
1876 2011-01-26  Adam Roben  <aroben@apple.com>
1877
1878         Don't create the Direct3D device before it's first needed
1879
1880         We only need the device once we decide to render. There's no point in creating it before
1881         then.
1882
1883         Reviewed by Sam Weinig.
1884
1885         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
1886         (WebCore::CACFLayerTreeHost::setWindow): Removed the call to createRenderer() from here.
1887         We already have code to create it when we first try to draw.
1888         (WebCore::CACFLayerTreeHost::createRenderer): Flush the context after we set our layer's
1889         bounds so that the bounds will take effect the next time we render (which could be just
1890         after this function returns).
1891
1892 2011-01-26  Adam Roben  <aroben@apple.com>
1893
1894         Add assertions that CACFLayerTreeHost gains and loses an HWND only once
1895
1896         CACFLayerTreeHost doesn't support any other use pattern.
1897
1898         Reviewed by Sam Weinig.
1899
1900         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
1901         (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
1902         (WebCore::CACFLayerTreeHost::setWindow): Assert that we transition from not having a window,
1903         to having a window, to not having a window just once over the lifetime of this object.
1904
1905         * platform/graphics/ca/win/CACFLayerTreeHost.h: Added m_state.
1906
1907 2011-01-26  Adam Roben  <aroben@apple.com>
1908
1909         Notify layers that their animations have started when we flush the context, not when we
1910         render
1911
1912         r76372 separated context flushing from rendering, but this bit of code got left behind.
1913
1914         Reviewed by Sam Weinig.
1915
1916         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
1917         (WebCore::CACFLayerTreeHost::render): Moved code to notify the layers from here to
1918         notifyAnimationsStarted.
1919         (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added a call to
1920         notifyAnimationsStarted after we flush the context.
1921         (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): Added. Code came from render. Changed
1922         to call PlatformCALayer::animationStarted rather than calling through to the client
1923         directly.
1924
1925         * platform/graphics/ca/win/CACFLayerTreeHost.h: Added notifyAniamtionsStarted.
1926
1927 2011-01-26  Adam Roben  <aroben@apple.com>
1928
1929         Small cleanup in MediaPlayerPrivateFullscreenWindow
1930
1931         Reviewed by Sam Weinig.
1932
1933         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
1934         (WebCore::MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow): Moved
1935         code here from close(), since this was the only place that called it after the following
1936         change to createWindow.
1937         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Replaced code that handled the
1938         case where we had already created the window with an assertion that we have not already done
1939         so. Our single caller (FullscreenVideoController) did not require this behavior.
1940
1941         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Removed layerView.
1942
1943 2011-01-26  Sam Weinig  <sam@webkit.org>
1944
1945         Reviewed by Adam Roben.
1946
1947         Move ScrollView scroll wheel code to ScrollAnimator.
1948
1949         * platform/ScrollAnimator.cpp:
1950         (WebCore::ScrollAnimator::handleWheelEvent):
1951         * platform/ScrollAnimator.h:
1952         Moved implementation of handleWheelEvent from ScrollView::wheelEvent.
1953
1954         * platform/ScrollView.cpp:
1955         (WebCore::ScrollView::wheelEvent):
1956         Call down to the ScrollableArea.
1957
1958         * platform/ScrollableArea.cpp:
1959         (WebCore::ScrollableArea::handleWheelEvent):
1960         Call down to the ScrollAnimator.
1961
1962         * platform/ScrollableArea.h:
1963         (WebCore::ScrollableArea::scrollPosition):
1964         (WebCore::ScrollableArea::minimumScrollPosition):
1965         (WebCore::ScrollableArea::maximumScrollPosition):
1966         (WebCore::ScrollableArea::visibleContentRect):
1967         (WebCore::ScrollableArea::visibleHeight):
1968         (WebCore::ScrollableArea::visibleWidth):
1969         Add functions needed to implement wheel event in the animator.
1970
1971 2011-01-26  David Kilzer  <ddkilzer@apple.com>
1972
1973         <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
1974         <rdar://problem/8821760>
1975
1976         Reviewed by Antti Koivisto.
1977
1978         This adds support for HTTP pipelining in CFNetwork, but does not
1979         enable it.  To enable it post-SnowLeopard, use this command:
1980
1981             defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
1982
1983         Once enabled, it is possible to force the same load priority
1984         (high) to be sent to CFNetwork to allow WebCore to handle the
1985         scheduling:
1986
1987             defaults write BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh -bool YES
1988
1989         * WebCore.exp.in: Export _wkGetHTTPPipeliningPriority and
1990         _wkSetHTTPPipeliningPriority.
1991
1992         * loader/DocumentThreadableLoader.cpp:
1993         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
1994         Copy the priority to preflightRequest.
1995
1996         * loader/ResourceLoadScheduler.cpp:
1997         (WebCore::ResourceLoadScheduler::scheduleLoad): Refactored code
1998         at the end of the method to use an early return.
1999
2000         * loader/cache/CachedResourceRequest.cpp:
2001         (WebCore::CachedResourceRequest::load): Set the priority on the
2002         ResourceRequest object based on the priority of the
2003         CachedResourceRequest before calling
2004         ResourceLoadScheduler::scheduleSubresourceLoad().
2005
2006         * loader/icon/IconLoader.cpp:
2007         (WebCore::IconLoader::startLoading): Create a ResourceRequest
2008         object and set its priority to ResourceLoadPriorityLow before
2009         passing it to ResourceLoadScheduler::scheduleSubresourceLoad().
2010
2011         * platform/mac/WebCoreSystemInterface.h:
2012         (wkGetHTTPPipeliningPriority): Added.
2013         (wkSetHTTPPipeliningPriority): Added.
2014         * platform/mac/WebCoreSystemInterface.mm:
2015         (wkGetHTTPPipeliningPriority): Added.
2016         (wkSetHTTPPipeliningPriority): Added.
2017
2018         * platform/network/ResourceRequestBase.cpp:
2019         (WebCore::ResourceRequestBase::adopt): Set m_priority when
2020         adopting a CrossThreadResourceRequestData.
2021         (WebCore::ResourceRequestBase::copyData): Set m_priority when
2022         creating a CrossThreadResourceRequestData.
2023         (WebCore::ResourceRequestBase::priority): Added.
2024         (WebCore::ResourceRequestBase::setPriority): Added.
2025         (WebCore::equalIgnoringHeaderFields): Priorities must match when
2026         comparing two ResourceRequest objects.
2027
2028         * platform/network/ResourceRequestBase.h:
2029         (WebCore::ResourceRequestBase::ResourceRequestBase): Set default
2030         priority of new objects to ResourceLoadPriorityLow.
2031         (WebCore::ResourceRequestBase::priority): Added declaration.
2032         (WebCore::ResourceRequestBase::setPriority): Added declaration.
2033         (WebCore::isHTTPPipeliningEnabled): Added.
2034         (WebCore::shouldUseHTTPPipeliningPriority): Added.
2035
2036         * platform/network/cf/ResourceRequestCFNet.cpp: Updated so that
2037         Mac OS X and Windows share code.
2038         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Always
2039         set the HTTP connection count per host, but return an
2040         'unlimited' value when using HTTP pipelining.  This method used
2041         to be defined in ResourceRequestMac.mm for Mac OS X.
2042         (WebCore::readBooleanPreference): Added.  Helper method for
2043         reading boolean user defaults.
2044         (WebCore::isHTTPPipeliningEnabled): Returns value of user
2045         default key WebKitEnableHTTPPipelining, or false if not set.
2046         (WebCore::shouldUseHTTPPipeliningPriority): Returns value of
2047         user default key WebKitForceHTTPPipeliningPriorityHigh, or false
2048         if not set.
2049         * platform/network/cf/ResourceRequestCFNet.h: Updated so that
2050         Mac OS X and Windows share code.  Fixed indentation.
2051         (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): Added.
2052         (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): Added.
2053
2054         * platform/network/mac/ResourceRequestMac.mm:
2055         (WebCore::ResourceRequest::doUpdatePlatformRequest): Update
2056         HTTP pipelining priority on NSMutableFURLRequest object.
2057         (WebCore::ResourceRequest::doUpdateResourceRequest): Update
2058         m_priority from the NSURLRequest object.
2059         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Removed.
2060         Code is now shared with Windows in ResourceRequestCFNet.cpp.
2061
2062 2011-01-26  Beth Dakin  <bdakin@apple.com>
2063
2064         Reviewed by Darin Adler.
2065
2066         Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics 
2067         when using WKScrollbars.
2068
2069         New WebKitSystemInterface Functionality.
2070         * WebCore.exp.in:
2071         * platform/mac/WebCoreSystemInterface.h:
2072         * platform/mac/WebCoreSystemInterface.mm:
2073
2074         Some of the terrible static arrays are now only needed in the 
2075         old non-WK code, so they are if-def'd now.
2076         * platform/mac/ScrollbarThemeMac.mm:
2077         
2078         Just patching this function in a better way than I did
2079         before.
2080         (WebCore::updateArrowPlacement):
2081         
2082         Call into WK for the right values.
2083         (WebCore::ScrollbarThemeMac::scrollbarThickness):
2084         (WebCore::ScrollbarThemeMac::hasThumb):
2085         (WebCore::ScrollbarThemeMac::minimumThumbLength):
2086         
2087         Return false if there are no buttons.
2088         (WebCore::ScrollbarThemeMac::hasButtons):
2089
2090         Return an empty IntRect if there are not buttons.
2091         (WebCore::buttonRepaintRect):
2092
2093 2011-01-26  Sam Weinig  <sam@webkit.org>
2094
2095         Reviewed by Maciej Stachowiak.
2096
2097         Add events to represent the start/end of a gesture scroll
2098         https://bugs.webkit.org/show_bug.cgi?id=53215
2099
2100         * WebCore.exp.in: 
2101         Add new file.
2102
2103         * WebCore.xcodeproj/project.pbxproj:
2104         Add new file.
2105
2106         * page/EventHandler.cpp:
2107         (WebCore::EventHandler::handleGestureEvent):
2108         * page/EventHandler.h:
2109         Add entry point for handling gesture events.
2110
2111         * platform/PlatformGestureEvent.h: Added.
2112         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
2113         (WebCore::PlatformGestureEvent::type):
2114         (WebCore::PlatformGestureEvent::position):
2115         (WebCore::PlatformGestureEvent::globalPosition):
2116         (WebCore::PlatformGestureEvent::timestamp):
2117         Add platform agnostic representation of a gesture event.
2118
2119 2011-01-26  Dan Bernstein  <mitz@apple.com>
2120
2121         Reviewed by Dave Hyatt.
2122
2123         <rdar://problem/8446709> Allow inter-ideograph justification for CJK
2124         https://bugs.webkit.org/show_bug.cgi?id=53184
2125
2126         Tests: fast/text/justify-ideograph-complex.html
2127                fast/text/justify-ideograph-simple.html
2128                fast/text/justify-ideograph-vertical.html
2129
2130         * html/canvas/CanvasRenderingContext2D.cpp:
2131         (WebCore::CanvasRenderingContext2D::drawTextInternal): Corrected the type of the third parameter
2132         passed to the TextRun constructor and added the trailingExpansionBehavior parameter.
2133         * platform/graphics/Font.cpp:
2134         (WebCore::Font::expansionOpportunityCount): Added. Returns the number of expansion opportunities
2135         for text justification. On entry, isAfterExpansion says whether an expansion opportunity exists
2136         before the first character. On return, isAfterExpansion says whether an expansion opportunity
2137         exists after the last character.
2138         * platform/graphics/Font.h: 
2139         * platform/graphics/GlyphBuffer.h:
2140         (WebCore::GlyphBuffer::expandLastAdvance): Added.
2141         * platform/graphics/TextRun.h:
2142         (WebCore::TextRun::TextRun): Added a TrailingExpansionBehavior parameter to the constructors.
2143         Renamed padding to expansion.
2144         (WebCore::TextRun::expansion): Renamed padding() to this.
2145         (WebCore::TextRun::allowsTrailingExpansion): Added this accessor.
2146         * platform/graphics/WidthIterator.cpp:
2147         (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion. Use Font::expansionOpportunityCount()
2148         and adjust the count if it includes a trailing expansion opportunity but the run disallows trailing
2149         expansion.
2150         (WebCore::WidthIterator::advance): Apply expansion before and after CJK ideographs.
2151         (WebCore::WidthIterator::advanceOneCharacter): Changed to not clear the GlyphBuffer so that advance()
2152         can expand the last advance if it is followed by a CJK ideograph.
2153         * platform/graphics/WidthIterator.h: Renamed m_padding to m_expansion and m_padPerSpace
2154         to m_expansionPerOpportunity.
2155         * platform/graphics/chromium/FontChromiumWin.cpp:
2156         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
2157         * platform/graphics/chromium/FontLinux.cpp:
2158         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
2159         * platform/graphics/efl/FontEfl.cpp:
2160         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
2161         * platform/graphics/gtk/FontGtk.cpp:
2162         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
2163         * platform/graphics/haiku/FontHaiku.cpp:
2164         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
2165         * platform/graphics/mac/ComplexTextController.cpp:
2166         (WebCore::ComplexTextController::ComplexTextController): Initialize m_isAfterExpansion. Use
2167         Font::expansionOpportunityCount() and adjust the count if it includes a trailing expansion
2168         opportunity but the run disallows trailing expansion.
2169         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Moved the definition and initialization
2170         of hasExtraSpacing outside the loop. Apply expansion before and after CJK ideographs.
2171         * platform/graphics/mac/ComplexTextController.h: Renamed m_padding to m_expansion and m_padPerSpace
2172         to m_expansionPerOpportunity.
2173         * platform/graphics/mac/FontMac.mm:
2174         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
2175         * platform/graphics/qt/FontQt.cpp:
2176         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
2177         * platform/graphics/win/FontWin.cpp:
2178         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
2179         * platform/graphics/win/UniscribeController.cpp:
2180         (WebCore::UniscribeController::UniscribeController): Updated for rename.
2181         * platform/graphics/wince/FontWinCE.cpp:
2182         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
2183         * platform/graphics/wx/FontWx.cpp:
2184         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
2185         * rendering/EllipsisBox.cpp:
2186         (WebCore::EllipsisBox::paint): Pass a TrailingExpansionBehavior to the TextRun constructor.
2187         (WebCore::EllipsisBox::selectionRect): Ditto.
2188         (WebCore::EllipsisBox::paintSelection): Ditto.
2189         * rendering/InlineBox.h:
2190         (WebCore::InlineBox::InlineBox): Renamed m_toAdd to m_expansion.
2191         (WebCore::InlineBox::expansion): Renamed toAdd() to this.
2192         * rendering/InlineTextBox.cpp:
2193         (WebCore::InlineTextBox::selectionRect): Pass a TrailingExpansionBehavior to the TextRun constructor.
2194         (WebCore::InlineTextBox::paint): Ditto.
2195         (WebCore::InlineTextBox::paintSelection): Ditto.
2196         (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
2197         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
2198         (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
2199         (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
2200         (WebCore::InlineTextBox::offsetForPosition): Ditto.
2201         (WebCore::InlineTextBox::positionForOffset): Ditto.
2202         * rendering/InlineTextBox.h:
2203         (WebCore::InlineTextBox::setExpansion): Renamed setSpaceAdd() to this.
2204         (WebCore::InlineTextBox::trailingExpansionBehavior): Added. Trailing expansion is allowed if this
2205         is not the last leaf box on the line.
2206         * rendering/RenderBlockLineLayout.cpp:
2207         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Keep expansion opportunity counts
2208         in a vector instead of computing them twice. Discard the trailing expansion opportunity in the
2209         last text box.
2210         * rendering/RenderFileUploadControl.cpp:
2211         (WebCore::RenderFileUploadControl::paintObject): Pass a TrailingExpansionBehavior to the TextRun constructor.
2212         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Ditto.
2213         * rendering/RenderListBox.cpp:
2214         (WebCore::RenderListBox::updateFromElement): Ditto.
2215         (WebCore::RenderListBox::paintItemForeground): Ditto. Also corrected the type of the second parameter.
2216         * rendering/RenderTextControl.cpp:
2217         (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
2218         (WebCore::RenderTextControl::paintPlaceholder): Ditto.
2219         * rendering/svg/SVGInlineTextBox.cpp:
2220         (WebCore::SVGInlineTextBox::constructTextRun): Ditto.
2221
2222 2011-01-26  Andy Estes  <aestes@apple.com>
2223
2224         Rubber-stamped by Darin Adler.
2225
2226         Inline HTMLObjectElement::hasValidClassId().
2227
2228         * html/HTMLObjectElement.cpp:
2229         (WebCore::HTMLObjectElement::hasValidClassId):
2230
2231 2011-01-26  Evan Martin  <evan@chromium.org>
2232
2233         Reviewed by Tony Chang.
2234
2235         [chromium] crash on getBoundingClientRect in complex text
2236         https://bugs.webkit.org/show_bug.cgi?id=53199
2237
2238         Use the correct array bound; we want the number of characters processed by
2239         the shaper, not the longest continuous script run length.
2240
2241         Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html
2242
2243         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
2244         (WebCore::ComplexTextController::nextScriptRun):
2245         * platform/graphics/chromium/ComplexTextControllerLinux.h:
2246         (WebCore::ComplexTextController::numCodePoints):
2247
2248 2011-01-26  Emil A Eklund  <eae@chromium.org>
2249
2250         Reviewed by Alexey Proskuryakov.
2251
2252         Remove cached document reference from CSSStyleSheet and XSLStyleSheet.
2253         https://bugs.webkit.org/show_bug.cgi?id=52084
2254
2255         Test: fast/dom/css-delete-doc.html
2256
2257         * css/CSSMediaRule.cpp:
2258         (WebCore::CSSMediaRule::insertRule):
2259         (WebCore::CSSMediaRule::deleteRule):
2260         * css/CSSStyleSheet.cpp:
2261         (WebCore::CSSStyleSheet::CSSStyleSheet):
2262         (WebCore::CSSStyleSheet::document):
2263         * css/CSSStyleSheet.h:
2264         * xml/XSLStyleSheet.h:
2265         (WebCore::XSLStyleSheet::parentStyleSheet):
2266         * xml/XSLStyleSheetLibxslt.cpp:
2267         (WebCore::XSLStyleSheet::XSLStyleSheet):
2268         (WebCore::XSLStyleSheet::cachedResourceLoader):
2269         (WebCore::XSLStyleSheet::setParentStyleSheet):
2270         (WebCore::XSLStyleSheet::ownerDocument):
2271         * xml/XSLStyleSheetQt.cpp:
2272         (WebCore::XSLStyleSheet::XSLStyleSheet):
2273         (WebCore::XSLStyleSheet::cachedResourceLoader):
2274         (WebCore::XSLStyleSheet::ownerDocument):
2275
2276 2011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
2277
2278         Reviewed by Kent Tamura.
2279
2280         Reduce ref-count churn in shadowPseudoId.
2281         https://bugs.webkit.org/show_bug.cgi?id=53136
2282
2283         Refactoring, so no new tests.
2284
2285         * dom/Element.h:
2286         (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString&
2287         * html/ValidationMessage.cpp:
2288         (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto.
2289         * html/shadow/SliderThumbElement.cpp:
2290         (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file.
2291         * html/shadow/SliderThumbElement.h: Ditto.
2292         * rendering/MediaControlElements.cpp:
2293         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto.
2294         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto.
2295         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto.
2296         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto.
2297         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto.
2298         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto.
2299         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto.
2300         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto.
2301         (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto.
2302         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto.
2303         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto.
2304         * rendering/MediaControlElements.h: Ditto.
2305
2306 2011-01-26  Dave Hyatt  <hyatt@apple.com>
2307
2308         Reviewed by Dan Bernstein.
2309
2310         https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text.
2311
2312         Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl.
2313
2314         * css/html.css:
2315         Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those
2316         elements work properly.
2317
2318         * rendering/InlineFlowBox.cpp:
2319         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2320         Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk
2321         in some cases (causing lines to all stack on top of one another).
2322
2323         * rendering/InlineTextBox.h:
2324         (WebCore::InlineTextBox::calculateBoundaries):
2325         Fix calculateBoundaries to be physical rather than logical.
2326
2327         * rendering/LayoutState.cpp:
2328         (WebCore::LayoutState::addForcedColumnBreak):
2329         * rendering/LayoutState.h:
2330         Rename childY to childLogicalOffset.
2331
2332         * rendering/RenderBlock.cpp:
2333         (WebCore::RenderBlock::layoutBlock):
2334         (WebCore::RenderBlock::addOverflowFromChildren):
2335         (WebCore::RenderBlock::addOverflowFromFloats):
2336         (WebCore::RenderBlock::collapseMargins):
2337         (WebCore::RenderBlock::estimateLogicalTopPosition):
2338         (WebCore::RenderBlock::layoutBlockChild):
2339         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
2340         (WebCore::RenderBlock::paintColumnRules):
2341         (WebCore::RenderBlock::paintColumnContents):
2342         (WebCore::RenderBlock::paintFloats):
2343         (WebCore::RenderBlock::selectionGaps):
2344         (WebCore::RenderBlock::removeFloatingObjectsBelow):
2345         (WebCore::RenderBlock::addOverhangingFloats):
2346         (WebCore::RenderBlock::hitTestFloats):
2347         (WebCore::RenderBlock::hitTestColumns):
2348         (WebCore::RenderBlock::calcColumnWidth):
2349         (WebCore::RenderBlock::desiredColumnWidth):
2350         (WebCore::RenderBlock::columnRectAt):
2351         (WebCore::RenderBlock::layoutColumns):
2352         (WebCore::RenderBlock::adjustPointToColumnContents):
2353         (WebCore::RenderBlock::adjustRectForColumns):
2354         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2355         (WebCore::RenderBlock::adjustForColumns):
2356         (WebCore::RenderBlock::adjustForBorderFit):
2357         (WebCore::RenderBlock::nextPageLogicalTop):
2358         (WebCore::RenderBlock::applyBeforeBreak):
2359         (WebCore::RenderBlock::applyAfterBreak):
2360         (WebCore::RenderBlock::adjustForUnsplittableChild):
2361         (WebCore::RenderBlock::adjustLinePositionForPagination):
2362         * rendering/RenderBlock.h:
2363         (WebCore::RenderBlock::logicalRightOffsetForContent):
2364         (WebCore::RenderBlock::logicalLeftOffsetForContent):
2365         (WebCore::RenderBlock::leftForFloatIncludingMargin):
2366         (WebCore::RenderBlock::topForFloatIncludingMargin):
2367         * rendering/RenderBlockLineLayout.cpp:
2368         (WebCore::RenderBlock::layoutInlineChildren):
2369         (WebCore::RenderBlock::determineStartPosition):
2370         Reworking of all the RenderBlock column functions to support flipping and vertical modes.
2371
2372         * rendering/RenderBox.cpp:
2373         (WebCore::RenderBox::offsetFromContainer):
2374         (WebCore::RenderBox::flipForWritingModeIncludingColumns):
2375         Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts.
2376
2377         * rendering/RenderBox.h:
2378         (WebCore::RenderBox::clientLogicalBottom):
2379         Fix a bug in clientLogicalBottom where it didn't add in the right border/padding.
2380         
2381         * rendering/RenderFlexibleBox.cpp:
2382         (WebCore::RenderFlexibleBox::layoutBlock):
2383         Better terminology for pagination.
2384
2385         * rendering/RenderInline.cpp:
2386         (WebCore::RenderInline::offsetFromContainer):
2387         (WebCore::RenderInline::mapLocalToContainer):
2388         * rendering/RenderLayer.cpp:
2389         (WebCore::RenderLayer::paintChildLayerIntoColumns):
2390         (WebCore::RenderLayer::hitTestChildLayerColumns):
2391         (WebCore::RenderLayer::localBoundingBox):
2392         (WebCore::RenderLayer::boundingBox):
2393         Patch painting in RenderLayers to be vertical-text-aware.
2394     
2395         * rendering/RenderObject.cpp:
2396         (WebCore::RenderObject::mapLocalToContainer):
2397         Add code to be flipped block-aware with columns.
2398
2399         * rendering/RenderTable.cpp:
2400         (WebCore::RenderTable::layout):
2401         * rendering/RenderTableRow.cpp:
2402         (WebCore::RenderTableRow::layout):
2403         * rendering/RenderTableSection.cpp:
2404         (WebCore::RenderTableSection::layoutRows):
2405         Fix pagination to use better terminology.
2406         
2407         * rendering/RenderText.cpp:
2408         (WebCore::RenderText::absoluteQuads):
2409         (WebCore::RenderText::absoluteQuadsForRange):
2410         Fix a bug where vertical text wasn't taken into account.
2411
2412 2011-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
2413
2414         Unreviewed, rolling out r76719.
2415         http://trac.webkit.org/changeset/76719
2416         https://bugs.webkit.org/show_bug.cgi?id=53122
2417
2418         Broke a bunch of media tests in Chromium/Qt/GTK.
2419
2420 2011-01-26  Tony Chang  <tony@chromium.org>
2421
2422         Reviewed by Ryosuke Niwa.
2423
2424         [gtk] strip NUL characters when copying text/html on GTK+
2425         https://bugs.webkit.org/show_bug.cgi?id=52508
2426
2427         Putting NUL characters in the text/html clipboard doesn't work in
2428         WebKit GTK+ (the pasted value is truncated at the NUL).  Since we're
2429         already stripping this character for plain text (for Windows), strip
2430         it in text/html too.
2431
2432         * editing/MarkupAccumulator.h: mark function as virtual
2433         * editing/markup.cpp:
2434         (WebCore::StyledMarkupAccumulator::appendString):
2435         (WebCore::StyledMarkupAccumulator::takeResults): strip nulls
2436
2437 2011-01-26  Mario Sanchez Prada  <msanchez@igalia.com>
2438
2439         Reviewed by Martin Robinson.
2440
2441         [GTK] Reliable crash with getTextAtOffset()
2442         https://bugs.webkit.org/show_bug.cgi?id=53131
2443
2444         Properly calculate length in bytes for a UTF8 substring.
2445
2446         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2447         (utf8Substr): Use character instead of bytes as units to
2448         calculate the length in bytes for the UTF8 string.
2449
2450 2011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
2451
2452         Reviewed by Kent Tamura.
2453
2454         Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
2455         https://bugs.webkit.org/show_bug.cgi?id=53122
2456
2457         This is the first step in converting HTMLMediaElement to the new shadow DOM.
2458
2459         Should not regress any existing tests. No observable change in behavior.
2460
2461         * css/CSSSelector.cpp:
2462         (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
2463         (WebCore::nameToPseudoTypeMap): Ditto.
2464         (WebCore::CSSSelector::extractPseudoType): Ditto.
2465         * css/CSSSelector.h: Ditto.
2466         * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
2467         * rendering/MediaControlElements.cpp:
2468         (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
2469             which is now replaced with virtual shadowPseudoId on each corresponding class.
2470         (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
2471         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
2472             display type in constructor.
2473         (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
2474             constructor argument.
2475         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
2476         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
2477             to disambiguate from the MediaControlMuteButtonElement.
2478         (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
2479         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
2480         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
2481             constructor argument.
2482         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
2483         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
2484             constructor argument.
2485         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
2486         (WebCore::MediaControlSeekForwardButtonElement::create): Added.
2487         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
2488         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
2489         (WebCore::MediaControlSeekBackButtonElement::create): Added.
2490         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
2491         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
2492         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
2493         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
2494             constructor argument.
2495         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
2496         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
2497             constructor argument.
2498         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
2499         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
2500             constructor argument.
2501         (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
2502         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
2503             constructor argument.
2504         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
2505         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
2506             constructor argument.
2507         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
2508         * rendering/MediaControlElements.h:
2509         (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
2510         (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
2511         * rendering/RenderMedia.cpp:
2512         (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
2513         (WebCore::RenderMedia::createSeekBackButton): Ditto.
2514         (WebCore::RenderMedia::createSeekForwardButton): Ditto.
2515         (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
2516         * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
2517
2518 2011-01-26  Kenneth Russell  <kbr@google.com>
2519
2520         Reviewed by James Robinson.
2521
2522         Fix multisampling support in DrawingBuffer
2523         https://bugs.webkit.org/show_bug.cgi?id=53154
2524
2525         In DrawingBuffer's multisampling code path, fixed enum usage and a
2526         bug where it would incorrectly redefine the depth and stencil
2527         buffers. Hooked up multisampling code path in Chromium port.
2528
2529         Tested manually with some accelerated 2D canvas content.
2530         Multisampling isn't being switched on for the accelerated 2D
2531         canvas at the current time because it will increase fill rate
2532         requirements and cause a large number of rebaselines.
2533
2534         * platform/graphics/Extensions3D.h:
2535         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2536         (WebCore::DrawingBuffer::publishToPlatformLayer):
2537         * platform/graphics/chromium/Extensions3DChromium.h:
2538         * platform/graphics/gpu/DrawingBuffer.cpp:
2539         (WebCore::DrawingBuffer::create):
2540         (WebCore::DrawingBuffer::reset):
2541         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2542         (WebCore::Extensions3DOpenGL::supports):
2543
2544 2011-01-26  Tony Chang  <tony@chromium.org>
2545
2546         Unreviewed.
2547
2548         [chromium] revert r68310 because of race conditions detected by tsans
2549         https://bugs.webkit.org/show_bug.cgi?id=53185
2550
2551         Causes stability problems for Chromium, http://crbug.com/70589
2552
2553         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
2554         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
2555
2556 2011-01-26  Justin Schuh  <jschuh@chromium.org>
2557
2558         Reviewed by Adam Barth.
2559
2560         Make fireEventsAndUpdateStyle use stack local vectors. 
2561         https://bugs.webkit.org/show_bug.cgi?id=46760
2562
2563         Test: animations/animation-add-events-in-handler.html
2564
2565         * page/animation/AnimationController.cpp:
2566         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
2567
2568 2011-01-26  Nate Chapin  <japhet@chromium.org>
2569
2570         Reviewed by Adam Barth.
2571
2572         Remove m_URL from FrameLoader and depend on Document::url()
2573         instead. FrameLoader::url() will be removed in a followup patch.
2574         https://bugs.webkit.org/show_bug.cgi?id=41165
2575
2576         Refactor only, no new tests.
2577
2578         * WebCore.exp.in:
2579         * dom/Document.cpp:
2580         (WebCore::Document::Document):
2581         (WebCore::Document::updateURLForPushOrReplaceState):
2582         * loader/DocumentWriter.cpp:
2583         (WebCore::DocumentWriter::begin):
2584         * loader/FrameLoader.cpp:
2585         (WebCore::FrameLoader::iconURL):
2586         (WebCore::FrameLoader::didOpenURL):
2587         (WebCore::FrameLoader::didExplicitOpen):
2588         (WebCore::FrameLoader::receivedFirstData):
2589         (WebCore::FrameLoader::url):
2590         (WebCore::FrameLoader::setOutgoingReferrer):
2591         (WebCore::FrameLoader::startIconLoader):
2592         (WebCore::FrameLoader::commitIconURLToIconDatabase):
2593         (WebCore::FrameLoader::finishedParsing):
2594         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
2595         (WebCore::FrameLoader::checkIfRunInsecureContent):
2596         (WebCore::FrameLoader::updateFirstPartyForCookies):
2597         (WebCore::FrameLoader::loadInSameDocument):
2598         (WebCore::FrameLoader::commitProvisionalLoad):
2599         (WebCore::FrameLoader::open):
2600         (WebCore::FrameLoader::shouldScrollToAnchor):
2601         * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer().
2602
2603 2011-01-25  Brian Weinstein  <bweinstein@apple.com>
2604
2605         Reviewed by Antti Koivisto.
2606
2607         Crashes loading pages when cancelling subresource loads through WebKit
2608         https://bugs.webkit.org/show_bug.cgi?id=53123
2609         <rdar://problem/8914361>
2610         
2611         Fix a crash that happened when cancelling subresource loads through WebKit.
2612         
2613         When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource 
2614         can be called recursively on the same function, either leading to infinite recursion, or deleting 
2615         an object when it is not done being used.
2616         
2617         The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when 
2618         CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously).
2619
2620         Test: fast/loader/willSendRequest-null-for-preload.html
2621
2622         * loader/DocumentLoader.cpp:
2623         (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame 
2624             if our new URL is non-null.
2625         * loader/cache/CachedResourceLoader.cpp:
2626         (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer.
2627         (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this 
2628             function was called synchronously
2629             from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously, 
2630             so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous.
2631         (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests.
2632         (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector, 
2633             so use Deque methods.
2634         * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque.
2635
2636 2011-01-25  Pavel Podivilov  <podivilov@chromium.org>
2637
2638         Reviewed by Pavel Feldman.
2639
2640         Web Inspector: evaluate in console may not work when window.console is substituted or deleted.
2641         https://bugs.webkit.org/show_bug.cgi?id=53072
2642
2643         Test: inspector/console-substituted.html
2644
2645         * inspector/InjectedScriptSource.js:
2646         (.):
2647
2648 2011-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
2649
2650         Reviewed by Martin Robinson.
2651
2652         [cairo] Use CAIRO_OPERATOR_DARKEN when available
2653         https://bugs.webkit.org/show_bug.cgi?id=53084
2654
2655         Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of
2656         CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10.
2657
2658         * platform/graphics/cairo/CairoUtilities.cpp:
2659         (WebCore::toCairoOperator):
2660
2661 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
2662
2663         Reviewed by Yury Semikhatsky.
2664
2665         Web Inspector: visualize \n in strings as unicode cr
2666         symbol in stack variables sidebar.
2667         https://bugs.webkit.org/show_bug.cgi?id=53162
2668
2669         * inspector/front-end/ObjectPropertiesSection.js:
2670         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2671
2672 2011-01-26  Andrey Kosyakov  <caseq@chromium.org>
2673
2674         Reviewed by Pavel Feldman.
2675
2676         Web Inspector: size is wrong for cached resources in Network panel
2677         - Set the size for 304/not modified resources from cached resource.
2678         - Add response headers size to resource transfer size.
2679         https://bugs.webkit.org/show_bug.cgi?id=52886
2680
2681         * inspector/InspectorResourceAgent.cpp:
2682         (WebCore::InspectorResourceAgent::didReceiveResponse):
2683         * inspector/front-end/Resource.js:
2684         (WebInspector.Resource):
2685         (WebInspector.Resource.prototype.get transferSize):
2686         (WebInspector.Resource.prototype.set responseHeaders):
2687         (WebInspector.Resource.prototype._headersSize):
2688         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
2689
2690 2011-01-26  Carol Szabo  <carol.szabo@nokia.com>
2691
2692         Reviewed by Simon Hausmann.
2693
2694         Fixed TiledBacking store to take into account new dirty regions caused by
2695         paint time layouts.
2696
2697         Flawed rendering design for QtWebKit resulting in artifacts being displayed
2698         https://bugs.webkit.org/show_bug.cgi?id=49184
2699
2700         There are no new tests as this patch aims at fixing flicker that
2701         happen randomly, mostly on slow hardware, thus are hard to reproduce
2702         consistently in an automated test.
2703
2704         This patch does not fully address the said bug but it is a step in the
2705         right direction. A full solution to the bug, as currently perceived,
2706         requires either a Qt GUI API change, a performance hit for QtWebKit,
2707         or a hack, until a full solution is provided this patch is progress.
2708
2709         * platform/graphics/TiledBackingStore.cpp:
2710         (WebCore::TiledBackingStore::updateTileBuffers):
2711         Changed to take into account newly dirtied areas created during
2712         tile update initiated layouts during the same update.
2713
2714 2011-01-26  Patrick Gansterer  <paroga@webkit.org>
2715
2716         Reviewed by Andreas Kling.
2717
2718         [SKIA] Remove "current path" of GraphicsContext
2719         https://bugs.webkit.org/show_bug.cgi?id=53124
2720
2721         * platform/graphics/GraphicsContext.h:
2722         * platform/graphics/skia/GraphicsContextSkia.cpp:
2723         (WebCore::GraphicsContext::clipPath):
2724         (WebCore::GraphicsContext::fillPath):
2725         (WebCore::GraphicsContext::strokePath):
2726         * platform/graphics/skia/PathSkia.cpp:
2727         (WebCore::Path::strokeBoundingRect):
2728         * platform/graphics/skia/PlatformContextSkia.cpp:
2729         * platform/graphics/skia/PlatformContextSkia.h:
2730
2731 2011-01-26  Zalan Bujtas <zbujtas@gmail.com>
2732
2733         Reviewed by Andreas Kling.
2734
2735         [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3.
2736
2737         QPainterPath returns angle values with the origo being at the top left corner,
2738         we need to account for this in normalAngleAtLength().
2739         This Regressed with r66979.
2740
2741         No new tests as this is already covered by ACID3.
2742
2743         * platform/graphics/qt/PathQt.cpp:
2744         (WebCore::Path::normalAngleAtLength):
2745
2746 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
2747
2748         Reviewed by Yury Semikhatsky.
2749
2750         Web Inspector: live edit does not update source snippet.
2751         https://bugs.webkit.org/show_bug.cgi?id=53097
2752
2753         * inspector/front-end/ScriptsPanel.js:
2754         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
2755
2756 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
2757
2758         Reviewed by Yury Semikhatsky.
2759
2760         Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'.
2761         https://bugs.webkit.org/show_bug.cgi?id=53018
2762
2763         * inspector/InjectedScript.cpp:
2764         (WebCore::InjectedScript::evaluate):
2765         (WebCore::InjectedScript::evaluateOnCallFrame):
2766         (WebCore::InjectedScript::getCompletions):
2767         (WebCore::InjectedScript::getCompletionsOnCallFrame):
2768         * inspector/InjectedScript.h:
2769         * inspector/InjectedScriptSource.js:
2770         (.):
2771         * inspector/Inspector.idl:
2772         * inspector/InspectorDebuggerAgent.cpp:
2773         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2774         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
2775         * inspector/InspectorDebuggerAgent.h:
2776         * inspector/InspectorRuntimeAgent.cpp:
2777         (WebCore::InspectorRuntimeAgent::evaluate):
2778         (WebCore::InspectorRuntimeAgent::getCompletions):
2779         * inspector/InspectorRuntimeAgent.h:
2780         * inspector/front-end/ConsoleView.js:
2781         (WebInspector.ConsoleView.prototype.completions):
2782         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
2783         (WebInspector.ConsoleView.prototype._enterKeyPressed):
2784         * inspector/front-end/ScriptsPanel.js:
2785         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
2786         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2787         * inspector/front-end/SourceFrame.js:
2788         (WebInspector.SourceFrame.prototype._showPopup):
2789         * inspector/front-end/WatchExpressionsSidebarPane.js:
2790         (WebInspector.WatchExpressionsSection.prototype.update):
2791
2792 2011-01-26  Hironori Bono  <hbono@chromium.org>
2793
2794         Reviewed by Kent Tamura.
2795
2796         A speculative fix for Bug 52422 - [chromium] More crash in
2797         FontFallbackList::determinePitch(const Font* font)
2798         https://bugs.webkit.org/show_bug.cgi?id=52422
2799
2800         My previous change may not work on non-US Windows whose system fonts
2801         have localized aliases matching to the system locale because of a
2802         font-name mismatch in createFontIndirectAndGetWinName(). This change
2803         tries all the fonts installed in a PC and returns the first font that we
2804         can create without errors.
2805
2806         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2807         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
2808         Added a struct used for getLastResortFallbackFontProc().
2809         (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies().
2810         (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font.
2811
2812 2011-01-26  James Robinson  <jamesr@chromium.org>
2813
2814         Reviewed by Nate Chapin.
2815
2816         Add a DOMTimeStamp parameter to the requestAnimationFrame callback
2817         https://bugs.webkit.org/show_bug.cgi?id=53142
2818
2819         This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more
2820         closely match mozilla's proposal.  This is useful if the page has multiple imperative animations
2821         and wants to ensure that they all remain synchronized.  If each callback used Date.now() to
2822         update its animation state, they would potentially be out of sync with each other.  If they use
2823         the timestamp then all callbacks for the same "frame" will update to the same state.
2824
2825         Test: fast/animation/request-animation-frame-timestamps.html
2826
2827         * bindings/scripts/CodeGeneratorV8.pm:
2828         * bindings/scripts/test/V8/V8TestCallback.cpp:
2829         (WebCore::V8TestCallback::callbackWithClass2Param):
2830         * dom/Document.cpp:
2831         (WebCore::Document::serviceScriptedAnimations):
2832         * dom/Document.h:
2833         * dom/RequestAnimationFrameCallback.h:
2834         * dom/RequestAnimationFrameCallback.idl:
2835         * page/FrameView.cpp:
2836         (WebCore::FrameView::serviceScriptedAnimations):
2837         * page/FrameView.h:
2838
2839 2011-01-25  Yuzo Fujishima  <yuzo@google.com>
2840
2841         Unreviewed attempt to fix compilation error for Chromium Clang.
2842
2843         * platform/graphics/mac/ComplexTextController.cpp:
2844         (WebCore::ComplexTextController::advance):
2845
2846 2011-01-25  Ned Holbrook  <nholbrook@apple.com>
2847
2848         Reviewed by Dan Bernstein.
2849
2850         ComplexTextController incorrectly conflates string length and range of indexes
2851         https://bugs.webkit.org/show_bug.cgi?id=52760
2852
2853         Test: fast/text/offsetForPosition-complex-fallback.html
2854
2855         * platform/graphics/mac/ComplexTextController.cpp:
2856         (WebCore::ComplexTextController::offsetForPosition):
2857         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
2858         (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
2859         (WebCore::ComplexTextController::advance):
2860         * platform/graphics/mac/ComplexTextController.h:
2861         (WebCore::ComplexTextController::ComplexTextRun::create):
2862         (WebCore::ComplexTextController::ComplexTextRun::indexEnd):
2863         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
2864         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
2865         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
2866         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
2867         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2868
2869 2011-01-25  Sam Weinig  <sam@webkit.org>
2870
2871         Reviewed by David Hyatt.
2872
2873         Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area
2874         https://bugs.webkit.org/show_bug.cgi?id=53048
2875
2876         Test: fast/overflow/overflow-rtl-vertical-origin.html
2877
2878         * rendering/RenderLayer.cpp:
2879         (WebCore::RenderLayer::scrollPosition):
2880         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2881         Take the scroll origin into account when calculating scrollbars in more places.
2882
2883 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
2884
2885         Windows production build fix.
2886         Use correct configuration-specific path in makefile.
2887
2888         * WebCore.vcproj/WebCore.make:
2889
2890 2011-01-25  Kent Tamura  <tkent@chromium.org>
2891
2892         Reviewed by Dimitri Glazkov.
2893
2894         Radio button group state is not restored correctly
2895         https://bugs.webkit.org/show_bug.cgi?id=50442
2896
2897         Fixes a bug that radio button states are not restored correctly in
2898         a case that non-first radio button in a group is checked.
2899
2900         If "checked" attribute is present, the radio button is checked and
2901         other radio buttons in the group are unchecked. This behavior
2902         disturbs form state restoring. This patch changes this behavior so
2903         that the "checked" attribute handling is delayed after form state
2904         restoring.
2905
2906         Test: fast/forms/state-restore-radio-group.html
2907
2908         * html/HTMLFormControlElement.h:
2909          Make finishParsingChildren() protected so that HTMLInpuElement can call it.
2910         * html/HTMLInputElement.cpp:
2911         (WebCore::HTMLInputElement::HTMLInputElement):
2912          - Add createdByParser parameter.
2913          - Initialize m_stateRestored and m_parsingInProgress.
2914         (WebCore::HTMLInputElement::create): Sync with the constructor.
2915         (WebCore::HTMLInputElement::restoreFormControlState):
2916          Set m_stateRestored in order to refer it in finishParsingChildren().
2917         (WebCore::HTMLInputElement::parseMappedAttribute):
2918          Don't call setChecked() during parsing. Move setNeedsValidityCheck()
2919          to setChecked().
2920         (WebCore::HTMLInputElement::finishParsingChildren):
2921          Call setChecked() if form state is not restored.
2922         (WebCore::HTMLInputElement::setChecked):
2923          Move setNeedsValidityCheck() from parseMappedAttribute() because
2924          finishParsingChildren() also needs to call setNeedsValidityCheck().
2925         * html/HTMLInputElement.h:
2926          - Remove the default value of HTMLFormElement* of the HTMLInputElement
2927            constructor, and add createdByParser parameter.
2928          - Introduce m_parsingInProgress and m_stateRestored.
2929         * html/HTMLIsIndexElement.cpp:
2930         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
2931          Sync with the HTMLInputElement constructor change.
2932         * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag.
2933         * rendering/MediaControlElements.cpp:
2934         (WebCore::MediaControlInputElement::MediaControlInputElement):
2935          Sync with the HTMLInputElement constructor change.
2936         * rendering/ShadowElement.cpp:
2937         (WebCore::ShadowInputElement::ShadowInputElement): ditto.
2938         * rendering/ShadowElement.h:
2939         (WebCore::ShadowElement::ShadowElement): ditto.
2940
2941 2011-01-25  Kent Tamura  <tkent@chromium.org>
2942
2943         Reviewed by Dimitri Glazkov.
2944
2945         HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled.
2946         https://bugs.webkit.org/show_bug.cgi?id=52565
2947
2948         * html/HTMLFormElement.cpp:
2949         (WebCore::HTMLFormElement::validateInteractively):
2950           Check checkInvalidControlsAndCollectUnhandled() result instead of
2951           checking emptiness of unhandled invalid controls list.
2952         (WebCore::HTMLFormElement::checkValidity): ditto.
2953         (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
2954           Renamed from collectUnhandledInvalidControls().
2955           Returns true if there is any invalid control regardless of event canceling.
2956         * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to
2957           checkInvalidControlsAndCollectUnhandled().
2958
2959 2011-01-25  Kent Tamura  <tkent@chromium.org>
2960
2961         Reviewed by Dimitri Glazkov.
2962
2963         Range and number inputs should reject increment and decrement by
2964         keyboard or mouse wheel if they are disabled or read-only
2965         https://bugs.webkit.org/show_bug.cgi?id=53151
2966
2967         * html/RangeInputType.cpp:
2968         (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly().
2969         * html/TextFieldInputType.cpp:
2970         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
2971         (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto.
2972
2973 2011-01-25  Kent Tamura  <tkent@chromium.org>
2974
2975         Reviewed by Dimitri Glazkov.
2976
2977         API to support localized numbers for <input type=number>
2978         https://bugs.webkit.org/show_bug.cgi?id=45730
2979
2980         Introduce platform/text/LocalizedNumber.h, and
2981         LocalizedNumberNone.cpp, which is an empty implementation of the
2982         functions in LocalizedNumber.h.  We use LocalizedNumberNone.cpp in
2983         all platforms for now.
2984
2985         A string in a type=number field is parsed as a localized number
2986         first. If the parsing fails, it is parsed as the HTML5 number.
2987
2988         We introduce HTMLInputElement::visibleValue(). It represents a value
2989         which should be drawn by a renderer. HTMLInputElement::value() always
2990         returns a number formatted for HTML5, and visibleValue() may return a
2991         localized number.
2992
2993         No new tests because this doesn't change any behavior.
2994
2995         * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp.
2996         * CMakeLists.txt: ditto.
2997         * GNUmakefile.am: ditto.
2998         * WebCore.gypi: ditto.
2999         * WebCore.pro: ditto.
3000         * WebCore.vcproj/WebCore.vcproj: ditto.
3001         * WebCore.xcodeproj/project.pbxproj: ditto.
3002         * dom/InputElement.h: Add visibleValue().
3003         * html/HTMLInputElement.cpp:
3004         (WebCore::HTMLInputElement::visibleValue): Added.  Just call InputType::visibleValue().
3005         * html/HTMLInputElement.h: Declare visibleValue().
3006         * html/InputType.cpp:
3007         (WebCore::InputType::visibleValue): Add the default implementation of
3008           visibleValue(), which returns HTMLInputElement::value().
3009         * html/InputType.h: Add declarations.
3010         * html/NumberInputType.cpp:
3011         (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter().
3012         (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter().
3013         (WebCore::NumberInputType::visibleValue):
3014           Returns a localized number string produced by formatLocalizedNumber().
3015         (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber().
3016         (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber().
3017         * html/NumberInputType.h: Add declarations.
3018         * platform/text/LocalizedNumber.h: Added.
3019         * platform/text/LocalizedNumberNone.cpp: Added.
3020         (WebCore::parseLocalizedNumber):
3021         (WebCore::formatLocalizedNumber):
3022         (WebCore::isLocalizedNumberCharacter):
3023         * rendering/RenderTextControlSingleLine.cpp:
3024         (WebCore::RenderTextControlSingleLine::updateFromElement):
3025           Calls InputElement::visibleValue() instead of value().
3026         * wml/WMLInputElement.h:
3027         (WebCore::WMLInputElement::visibleValue): Added. It just calls value().
3028
3029 2011-01-25  Alexey Proskuryakov  <ap@apple.com>
3030
3031         Reviewed by Darin Adler.
3032
3033         https://bugs.webkit.org/show_bug.cgi?id=53143
3034         Add IntRectHash
3035
3036         * WebCore.xcodeproj/project.pbxproj:
3037         * platform/graphics/IntRectHash.h: Added.
3038
3039         * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"!
3040
3041 2011-01-25  Ilya Sherman  <isherman@chromium.org>
3042
3043         Reviewed by Ryosuke Niwa.
3044
3045         Remove trailing whitespace in HTMLInputElement.cpp
3046         https://bugs.webkit.org/show_bug.cgi?id=53152
3047
3048         * html/HTMLInputElement.cpp:
3049         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
3050         (WebCore::HTMLInputElement::applyStep):
3051         (WebCore::HTMLInputElement::updateFocusAppearance):
3052         (WebCore::HTMLInputElement::mapToEntry):
3053         (WebCore::HTMLInputElement::setAutofilled):
3054         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
3055         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
3056
3057 2011-01-25  Mike Reed  <reed@google.com>
3058
3059         Reviewed by James Robinson.
3060
3061         DrawingBufer::reset() today checks if the new size is the same as its
3062         m_size, and if so, returns immediately. This does not match the
3063         semantics of <canvas>, which wants to clear its contents anytime the
3064         size is specified.
3065         https://bugs.webkit.org/show_bug.cgi?id=53149
3066
3067         Test: Covered by existing <canvas> tests using gpu.
3068
3069         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3070         (WebCore::DrawingBuffer::DrawingBuffer):
3071         * platform/graphics/gpu/DrawingBuffer.cpp:
3072         (WebCore::DrawingBuffer::reset):
3073
3074 2011-01-25  Cris Neckar  <cdn@chromium.org>
3075
3076         Reviewed by Adam Barth.
3077
3078         Add a hashset of DOMURLs to ScriptExecutionContext to track back references.
3079         https://bugs.webkit.org/show_bug.cgi?id=53038
3080
3081         Test: fast/dom/window-domurl-crash.html
3082
3083         * dom/ScriptExecutionContext.cpp:
3084         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3085         (WebCore::ScriptExecutionContext::createdDomUrl):
3086         (WebCore::ScriptExecutionContext::destroyedDomUrl):
3087         * dom/ScriptExecutionContext.h:
3088         (WebCore::ScriptExecutionContext::domUrls):
3089         * html/DOMURL.cpp:
3090         (WebCore::DOMURL::DOMURL):
3091         (WebCore::DOMURL::~DOMURL):
3092         (WebCore::DOMURL::contextDestroyed):
3093         * html/DOMURL.h:
3094         (WebCore::DOMURL::scriptExecutionContext):
3095
3096 2011-01-23  Antti Koivisto  <antti@apple.com>
3097
3098         Reviewed by Darin Adler.
3099
3100         https://bugs.webkit.org/show_bug.cgi?id=52983
3101         Eliminate m_tagHistory pointer from CSSSelector
3102
3103         Keep the component selectors in the array in CSSSelectorList instead
3104         of maintaining a linked list between them. This allows eliminating
3105         m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance
3106         seems to improve some too due to better locality).
3107
3108         * WebCore.xcodeproj/project.pbxproj:
3109         
3110             Make CSSSelector.h a private header.
3111         
3112         * css/CSSGrammar.y:
3113         
3114             Use CSSParserSelector during parsing to keep the tag history in 
3115             a linked list. This is flattened to an array after parsing.
3116             Use accessors for setting selector values.
3117             Use OwnPtr in selector vector.
3118             
3119         * css/CSSPageRule.cpp:
3120         (WebCore::CSSPageRule::CSSPageRule):
3121         * css/CSSPageRule.h:
3122         (WebCore::CSSPageRule::create):
3123         
3124             Simplify.
3125     
3126         * css/CSSParser.cpp:
3127         (WebCore::CSSParser::~CSSParser):
3128         (WebCore::CSSParser::createFloatingSelector):
3129         (WebCore::CSSParser::sinkFloatingSelector):
3130         (WebCore::CSSParser::createStyleRule):
3131         (WebCore::CSSParser::updateSpecifiersWithElementName):
3132         (WebCore::CSSParser::createPageRule):
3133         * css/CSSParser.h:
3134         (WebCore::CSSParser::reusableSelectorVector):
3135         
3136             CSSSelector -> CSSParserSelector.
3137             Use OwnPtr in selector vector.
3138             
3139         * css/CSSParserValues.cpp:
3140         (WebCore::CSSParserSelector::CSSParserSelector):
3141         (WebCore::CSSParserSelector::~CSSParserSelector):
3142         * css/CSSParserValues.h:
3143         (WebCore::CSSParserSelector::releaseSelector):
3144         (WebCore::CSSParserSelector::setTag):
3145         (WebCore::CSSParserSelector::setValue):
3146         (WebCore::CSSParserSelector::setAttribute):
3147         (WebCore::CSSParserSelector::setArgument):
3148         (WebCore::CSSParserSelector::setSimpleSelector):
3149         (WebCore::CSSParserSelector::setMatch):
3150         (WebCore::CSSParserSelector::setRelation):
3151         (WebCore::CSSParserSelector::setForPage):
3152         (WebCore::CSSParserSelector::pseudoType):
3153         (WebCore::CSSParserSelector::isUnknownPseudoElement):
3154         (WebCore::CSSParserSelector::isSimple):
3155         (WebCore::CSSParserSelector::tagHistory):
3156         (WebCore::CSSParserSelector::setTagHistory):
3157         
3158             Linked list used during parsing.
3159             Avoid recursive destruction.
3160
3161         * css/CSSSelector.cpp:
3162         (WebCore::CSSSelector::extractPseudoType):
3163         (WebCore::CSSSelector::operator==):
3164         (WebCore::CSSSelector::selectorText):
3165         (WebCore::CSSSelector::setSimpleSelector):
3166         * css/CSSSelector.h:
3167         (WebCore::CSSSelector::CSSSelector):
3168         (WebCore::CSSSelector::~CSSSelector):
3169         (WebCore::CSSSelector::tagHistory):
3170         (WebCore::CSSSelector::tag):
3171         (WebCore::CSSSelector::value):
3172         (WebCore::CSSSelector::setTag):
3173         (WebCore::CSSSelector::isLastInTagHistory):
3174         (WebCore::CSSSelector::setNotLastInTagHistory):
3175         (WebCore::CSSSelector::RareData::RareData):
3176         (WebCore::CSSSelector::RareData::~RareData):
3177         (WebCore::CSSSelector::createRareData):
3178         (WebCore::CSSSelector::setValue):
3179         
3180             Remove m_tagHistory.
3181             Keep m_value in the union with the rare data pointer instead.
3182             Make m_value and m_tag private, implement accessors.
3183             Add a new bit to indicate end of the tag history (multipart selector).
3184             Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain.
3185             
3186         * css/CSSSelectorList.cpp:
3187         (WebCore::CSSSelectorList::adoptSelectorVector):
3188         
3189             Flatten everything to an array.
3190         
3191         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
3192         * css/CSSSelectorList.h:
3193         (WebCore::CSSSelectorList::hasOneSelector):
3194         (WebCore::CSSSelectorList::next):
3195         
3196             Skip over the subparts of multipart selectors to find the next selector.
3197     
3198         * css/CSSStyleRule.h:
3199         (WebCore::CSSStyleRule::adoptSelectorVector):
3200         
3201             CSSSelector -> CSSParserSelector.
3202             
3203         * css/CSSStyleSelector.cpp:
3204         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3205         (WebCore::CSSRuleSet::addRule):
3206         (WebCore::collectIdsAndSiblingRulesFromList):
3207         (WebCore::CSSStyleSelector::matchPageRulesForList):
3208         * dom/Node.cpp:
3209         (WebCore::Node::querySelector):
3210         * dom/SelectorNodeList.cpp:
3211         (WebCore::createSelectorNodeList):
3212         
3213             Use accessors.
3214
3215 2011-01-25  James Simonsen  <simonjam@chromium.org>
3216
3217         Reviewed by Tony Chang.
3218
3219         [Chromium] Support small caps in complex text on linux
3220         https://bugs.webkit.org/show_bug.cgi?id=53051
3221
3222         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
3223         (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries.
3224         (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed.
3225         * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string.
3226
3227 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
3228
3229         Rubber-stamped by Adam Roben.
3230
3231         Windows production build fix.
3232         Use correct environment variable escaping
3233
3234         * WebCore.vcproj/WebCore.make:
3235
3236 2011-01-25  Adam Barth  <abarth@webkit.org>
3237
3238         Reviewed by Eric Seidel.
3239
3240         Empty URLs are never display isolated
3241         https://bugs.webkit.org/show_bug.cgi?id=53053
3242
3243         This check mirrors the check in the local case.  There isn't a good way
3244         to test this with a LayoutTest, but it is tested in Chromium (where
3245         this registry is used).
3246
3247         * platform/SchemeRegistry.cpp:
3248         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
3249
3250 2011-01-25  Sam Weinig  <sam@webkit.org>
3251
3252         Reviewed by Anders Carlsson.
3253
3254         Pipe a timestamp down into the PlatformWheelEvent for the Mac.
3255         https://bugs.webkit.org/show_bug.cgi?id=53111
3256
3257         * platform/PlatformWheelEvent.h:
3258         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3259         (WebCore::PlatformWheelEvent::timestamp):
3260         Add timestamp member.
3261
3262         * platform/mac/WheelEventMac.mm:
3263         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3264         Initialize the timestamp from the event.
3265
3266 2011-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3267
3268         Unreviewed, rolling out r76625.
3269         http://trac.webkit.org/changeset/76625
3270         https://bugs.webkit.org/show_bug.cgi?id=53119
3271
3272         "incorrect pixel test results" (Requested by rniwa on
3273         #webkit).
3274
3275         * rendering/RenderBox.cpp:
3276         (WebCore::RenderBox::localCaretRect):
3277
3278 2011-01-25  Patrick Gansterer  <paroga@webkit.org>
3279
3280         Unreviewed WinCE build fix for r76614.
3281
3282         * platform/FileSystem.h:
3283
3284 2011-01-21  Levi Weintraub  <leviw@chromium.org>
3285
3286         Reviewed by Darin Adler.
3287
3288         Adding border and padding to the calculation of the local caret rect for RenderBoxes.
3289
3290         Undo moves caret to invalid position
3291         https://bugs.webkit.org/show_bug.cgi?id=49744
3292
3293         Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
3294                editing/selection/caret-painting-after-paste-undo.html
3295
3296         * rendering/RenderBox.cpp:
3297         (WebCore::RenderBox::localCaretRect):
3298
3299 2011-01-25  Sam Weinig  <sam@webkit.org>
3300
3301         Reviewed by Anders Carlsson.
3302
3303         Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
3304         https://bugs.webkit.org/show_bug.cgi?id=53107
3305
3306         * platform/PlatformWheelEvent.h:
3307         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3308         (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
3309         * platform/mac/WheelEventMac.mm:
3310         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3311
3312 2011-01-20  Jer Noble  <jer.noble@apple.com>
3313
3314         Reviewed by Eric Carlson.
3315
3316         REGRESSION (r72119): Audio never plays on Star Wars intro animation
3317         https://bugs.webkit.org/show_bug.cgi?id=52467
3318         
3319         QuickTime's eat/m4a movie importer compontent doesn't list audio/m4a as a mime
3320         type which it supports, though it handles .m4a files just fine.  Change the way
3321         we build the list of supported MIME Types through a new WebKitSystemInterface
3322         function.
3323         
3324         Caused by r72119, which adds system-specific extension->MIME entries to the cache
3325         before global entries, and the system-specific entries include QuickTime's registry 
3326         entries which contain the audio/m4a MIME type, while its components do not.
3327
3328         Test: media/audio-mpeg4-supported.html
3329
3330         * WebCore.vcproj/QTMovieWinCommon.vsprops:
3331         * platform/graphics/win/QTMovie.cpp:
3332         (getMIMETypeCallBack):
3333         (initializeSupportedTypes):
3334         (QTMovie::countSupportedTypes): gSupportedTypes is now a CFArrayRef.
3335         (QTMovie::getSupportedType): Ditto.
3336
3337 2011-01-25  Hans Wennborg  <hans@chromium.org>
3338
3339         Reviewed by Jeremy Orlow.
3340
3341         IndexedDB: Remove PlatformBridge::idbShutdown()
3342         https://bugs.webkit.org/show_bug.cgi?id=53077
3343
3344         Since Chromium r72157, this is not used anymore. The previous use was
3345         to signal to the embedder that IndexedDB was shutting down, but we
3346         agreed it is better if the embedder keeps track of that itself.
3347
3348         No new tests: this does not change any functionality.
3349
3350         * platform/chromium/PlatformBridge.h:
3351         * storage/IDBFactoryBackendInterface.cpp:
3352         * storage/IDBFactoryBackendInterface.h:
3353         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
3354         * storage/chromium/IDBFactoryBackendInterface.cpp:
3355
3356 2011-01-25  Darin Adler  <darin@apple.com>
3357
3358         Reviewed by Anders Carlsson.
3359
3360         WebKit is using CSBackupSetItemExcluded incorrectly
3361         https://bugs.webkit.org/show_bug.cgi?id=53095
3362         rdar://problem/8790540
3363
3364         * loader/icon/IconDatabase.cpp:
3365         (WebCore::IconDatabase::performOpenInitialization): Added code to
3366         exclude the database from backup one time, and record inside the
3367         database that this has been done.
3368         (WebCore::IconDatabase::wasExcludedFromBackup): Added.
3369         (WebCore::IconDatabase::setWasExcludedFromBackup): Added.
3370         * loader/icon/IconDatabase.h: Added new functions above.
3371
3372         * platform/FileSystem.cpp:
3373         (WebCore::canExcludeFromBackup): Added.
3374         (WebCore::excludeFromBackup): Added.
3375
3376         * platform/FileSystem.h: Added canExcludeFromBackup, excludeFromBackup,
3377         and pathAsURL functions. Cleaned up ifdefs and comments a bit and sorted
3378         things alphabetically, particularly platform-specific sections.
3379
3380         * platform/cf/FileSystemCF.cpp:
3381         (WebCore::pathAsURL): Added.
3382
3383         * platform/mac/FileSystemMac.mm:
3384         (WebCore::canExcludeFromBackup): Added.
3385         (WebCore::excludeFromBackup): Added.
3386
3387         * platform/network/cf/FormDataStreamCFNet.cpp:
3388         (WebCore::advanceCurrentStream): Changed to call pathAsURL.
3389         * platform/network/mac/FormDataStreamMac.mm:
3390         (WebCore::advanceCurrentStream): Ditto.
3391
3392 2011-01-25  Helder Correia  <helder@sencha.com>
3393
3394         Reviewed by Dirk Schulze.
3395
3396         REGRESSION(75139): SVG gradients are not applied to texts
3397         https://bugs.webkit.org/show_bug.cgi?id=52531
3398
3399         CGContextConcatCTM should use the CGLayer context, not the
3400         GraphicsContext. Also, the CTM needs to be adjusted (translated).
3401         This fixes SVG text gradient fill.
3402
3403         Test: svg/css/composite-shadow-text.svg
3404
3405         * platform/graphics/cg/GraphicsContextCG.cpp:
3406         (WebCore::GraphicsContext::fillRect):
3407
3408 2011-01-25  Benjamin Kalman  <kalman@chromium.org>
3409
3410         Reviewed by Ryosuke Niwa.
3411
3412         Cannot extend or modify forward by word over a non-contenteditable region
3413         https://bugs.webkit.org/show_bug.cgi?id=53070
3414
3415         Test: editing/selection/extend-forward-by-word-over-non-editable.html
3416
3417         Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the
3418         functions which determine the end/start of words/lines/sentences in visible_units.cpp.
3419
3420         This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor
3421         inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore.
3422         The cursor is now moved to the end of the region (which is effectively a noop in this case).
3423
3424         * editing/visible_units.cpp: Change all instances of honorEditableBoundaryAtOrAfter to
3425         honorEditableBoundaryAtOrBefore and vice versa.
3426         (WebCore::previousWordPosition):
3427         (WebCore::nextWordPosition):
3428         (WebCore::startOfLine):
3429         (WebCore::endOfLine):
3430         (WebCore::previousSentencePosition):
3431         (WebCore::nextSentencePosition):
3432         (WebCore::logicalStartOfLine):
3433         (WebCore::logicalEndOfLine):
3434
3435 2011-01-25  Yael Aharon  <yael.aharon@nokia.com>
3436
3437         Unreviewed build fix.
3438         After r76466, efsrv.lib is used unconditionally.
3439         Don't guard it with ENABLE_NETSCAPE_PLUGIN_API.
3440
3441         * WebCore.pro:
3442
3443 2011-01-24  Zhenyao Mo  <zmo@google.com>
3444
3445         Reviewed by Kenneth Russell.
3446
3447         Style cleanup for WebGLRenderingContext
3448         https://bugs.webkit.org/show_bug.cgi?id=52352
3449
3450         * html/canvas/WebGLBuffer.cpp:
3451         * html/canvas/WebGLBuffer.h:
3452         * html/canvas/WebGLObject.cpp:
3453         * html/canvas/WebGLProgram.cpp:
3454         * html/canvas/WebGLRenderbuffer.cpp:
3455         * html/canvas/WebGLRenderingContext.cpp:
3456         (WebCore::WebGLRenderingContext::create):
3457         (WebCore::WebGLRenderingContext::blendFunc):
3458         (WebCore::WebGLRenderingContext::createShader):
3459         (WebCore::WebGLRenderingContext::deleteBuffer):
3460         (WebCore::WebGLRenderingContext::deleteShader):
3461         (WebCore::WebGLRenderingContext::deleteTexture):
3462         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
3463         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
3464         (WebCore::WebGLRenderingContext::validateRenderingState):
3465         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
3466         (WebCore::WebGLRenderingContext::getUniform):
3467         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
3468         * html/canvas/WebGLRenderingContext.h:
3469         * html/canvas/WebGLShader.cpp:
3470         * html/canvas/WebGLTexture.cpp:
3471         * html/canvas/WebGLUniformLocation.cpp:
3472         * html/canvas/WebGLUniformLocation.h:
3473
3474 2011-01-24  Chris Marrin  <cmarrin@apple.com>
3475
3476         Reviewed by Eric Seidel.
3477
3478         Change ENABLE_3D_CANVAS to ENABLE_WEBGL
3479         https://bugs.webkit.org/show_bug.cgi?id=53041
3480
3481         * Configurations/FeatureDefines.xcconfig:
3482         * DerivedSources.cpp:
3483         * GNUmakefile.am:
3484         * WebCore.pro:
3485         * bindings/generic/RuntimeEnabledFeatures.h:
3486         * bindings/js/JSArrayBufferCustom.cpp:
3487         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3488         (WebCore::toJS):
3489         * bindings/js/JSDOMWindowCustom.cpp:
3490         * bindings/js/JSDataViewCustom.cpp:
3491         * bindings/js/JSDocumentCustom.cpp:
3492         * bindings/js/JSFloat32ArrayCustom.cpp:
3493         * bindings/js/JSHTMLCanvasElementCustom.cpp:
3494         (WebCore::JSHTMLCanvasElement::getContext):
3495         * bindings/js/JSInt16ArrayCustom.cpp:
3496         * bindings/js/JSInt32ArrayCustom.cpp:
3497         * bindings/js/JSInt8ArrayCustom.cpp:
3498         * bindings/js/JSUint16ArrayCustom.cpp:
3499         * bindings/js/JSUint32ArrayCustom.cpp:
3500         * bindings/js/JSUint8ArrayCustom.cpp:
3501         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3502         * bindings/js/JSXMLHttpRequestCustom.cpp:
3503         (WebCore::JSXMLHttpRequest::markChildren):
3504         (WebCore::JSXMLHttpRequest::send):
3505         (WebCore::JSXMLHttpRequest::response):
3506         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3507         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3508         * bindings/v8/custom/V8DataViewCustom.cpp:
3509         * bindings/v8/custom/V8DocumentCustom.cpp:
3510         (WebCore::V8Document::getCSSCanvasContextCallback):
3511         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
3512         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3513         (WebCore::V8HTMLCanvasElement::getContextCallback):
3514         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
3515         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
3516         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
3517         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
3518         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
3519         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
3520         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3521         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3522         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
3523         (WebCore::V8XMLHttpRequest::sendCallback):
3524         * features.pri:
3525         * html/HTMLCanvasElement.cpp:
3526         (WebCore::HTMLCanvasElement::getContext):
3527         (WebCore::HTMLCanvasElement::reset):
3528         * html/HTMLCanvasElement.h:
3529         * html/canvas/ArrayBuffer.cpp:
3530         * html/canvas/ArrayBuffer.idl:
3531         * html/canvas/ArrayBufferView.cpp:
3532         * html/canvas/ArrayBufferView.idl:
3533         * html/canvas/DataView.cpp:
3534         * html/canvas/DataView.idl:
3535         * html/canvas/Float32Array.cpp:
3536         * html/canvas/Float32Array.idl:
3537         * html/canvas/Int16Array.cpp:
3538         * html/canvas/Int16Array.idl:
3539         * html/canvas/Int32Array.cpp:
3540         * html/canvas/Int32Array.idl:
3541         * html/canvas/Int8Array.cpp:
3542         * html/canvas/Int8Array.idl:
3543         * html/canvas/OESStandardDerivatives.cpp:
3544         * html/canvas/OESStandardDerivatives.idl:
3545         * html/canvas/OESTextureFloat.cpp:
3546         * html/canvas/OESTextureFloat.idl:
3547         * html/canvas/Uint16Array.cpp:
3548         * html/canvas/Uint16Array.idl:
3549         * html/canvas/Uint32Array.cpp:
3550         * html/canvas/Uint32Array.idl:
3551         * html/canvas/Uint8Array.cpp:
3552         * html/canvas/Uint8Array.idl:
3553         * html/canvas/WebGLActiveInfo.idl:
3554         * html/canvas/WebGLBuffer.cpp:
3555         * html/canvas/WebGLBuffer.idl:
3556         * html/canvas/WebGLContextAttributes.cpp:
3557         * html/canvas/WebGLContextAttributes.idl:
3558         * html/canvas/WebGLContextEvent.idl:
3559         * html/canvas/WebGLExtension.cpp:
3560         * html/canvas/WebGLFramebuffer.cpp:
3561         * html/canvas/WebGLFramebuffer.idl:
3562         * html/canvas/WebGLGetInfo.cpp:
3563         * html/canvas/WebGLObject.cpp:
3564         * html/canvas/WebGLProgram.cpp:
3565         * html/canvas/WebGLProgram.idl:
3566         * html/canvas/WebGLRenderbuffer.cpp:
3567         * html/canvas/WebGLRenderbuffer.idl:
3568         * html/canvas/WebGLRenderingContext.cpp:
3569         * html/canvas/WebGLRenderingContext.idl:
3570         * html/canvas/WebGLShader.cpp:
3571         * html/canvas/WebGLShader.idl:
3572         * html/canvas/WebGLTexture.cpp:
3573         * html/canvas/WebGLTexture.idl:
3574         * html/canvas/WebGLUniformLocation.cpp:
3575         * html/canvas/WebGLUniformLocation.idl:
3576         * html/canvas/WebKitLoseContext.cpp:
3577         * html/canvas/WebKitLoseContext.idl:
3578         * page/DOMWindow.idl:
3579         * platform/graphics/ANGLEWebKitBridge.cpp:
3580         * platform/graphics/GraphicsContext3D.cpp:
3581         * platform/graphics/cg/GraphicsContext3DCG.cpp:
3582         * platform/graphics/gpu/DrawingBuffer.cpp:
3583         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3584         * platform/graphics/mac/GraphicsContext3DMac.mm:
3585         * platform/graphics/mac/WebGLLayer.mm:
3586         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3587         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3588         * platform/graphics/qt/Extensions3DQt.cpp:
3589         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3590         * platform/graphics/qt/GraphicsLayerQt.cpp:
3591         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
3592         (WebCore::GraphicsLayerQtImpl::paint):
3593         (WebCore::GraphicsLayerQtImpl::flushChanges):
3594         * platform/graphics/qt/GraphicsLayerQt.h:
3595         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3596         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3597         * rendering/RenderLayerBacking.cpp:
3598         (WebCore::isAcceleratedCanvas):
3599         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3600         (WebCore::RenderLayerBacking::containsPaintedContent):
3601         (WebCore::RenderLayerBacking::contentChanged):
3602         * webaudio/AudioBuffer.cpp:
3603         * webaudio/AudioBuffer.idl:
3604         * webaudio/RealtimeAnalyser.cpp:
3605         * webaudio/RealtimeAnalyser.h:
3606         * webaudio/RealtimeAnalyserNode.h:
3607         * webaudio/RealtimeAnalyserNode.idl:
3608         * xml/XMLHttpRequest.cpp:
3609         (WebCore::XMLHttpRequest::setResponseType):
3610         (WebCore::XMLHttpRequest::clearResponse):
3611         (WebCore::XMLHttpRequest::didReceiveData):
3612         * xml/XMLHttpRequest.h:
3613
3614 2011-01-25  Mikhail Naganov  <mnaganov@chromium.org>
3615
3616         Reviewed by Pavel Feldman.
3617
3618         Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots.
3619
3620         - Introduce Preferences.detailedHeapProfiles flag for controlling
3621           querying of detailed heap snapshots.
3622         - Add boilerplate code for the new view.
3623         - Factor out common code.
3624
3625         https://bugs.webkit.org/show_bug.cgi?id=52624
3626
3627         * WebCore.gypi:
3628         * WebCore.vcproj/WebCore.vcproj:
3629         * bindings/js/ScriptProfiler.h:
3630         (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
3631         (WebCore::ScriptProfiler::takeHeapSnapshot):
3632         * bindings/v8/ScriptProfiler.cpp:
3633         (WebCore::ScriptProfiler::takeHeapSnapshot):
3634         * bindings/v8/ScriptProfiler.h:
3635         (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
3636         * inspector/Inspector.idl:
3637         * inspector/InspectorProfilerAgent.cpp:
3638         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
3639         * inspector/InspectorProfilerAgent.h:
3640         * inspector/front-end/DetailedHeapshotView.js: Added.
3641         (WebInspector.DetailedHeapshotView):
3642         (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
3643         (WebInspector.DetailedHeapshotView.prototype.get profile):
3644         (WebInspector.DetailedHeapshotView.prototype.set profile):
3645         (WebInspector.DetailedHeapshotView.prototype.show):
3646         (WebInspector.DetailedHeapshotView.prototype.hide):
3647         (WebInspector.DetailedHeapshotProfileType):
3648         (WebInspector.DetailedHeapshotProfileType.prototype.get buttonTooltip):
3649         (WebInspector.DetailedHeapshotProfileType.prototype.get buttonStyle):
3650         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
3651         (WebInspector.DetailedHeapshotProfileType.prototype.get welcomeMessage):
3652         (WebInspector.DetailedHeapshotProfileType.prototype.createSidebarTreeElementForProfile):
3653         (WebInspector.DetailedHeapshotProfileType.prototype.createView):
3654         * inspector/front-end/HeapSnapshot.js: Added.
3655         (WebInspector.HeapSnapshotEdgesIterator):
3656         (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
3657         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
3658         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
3659         (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
3660         (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
3661         (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
3662         (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
3663         (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
3664         (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
3665         (WebInspector.HeapSnapshotNodeWrapper):
3666         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
3667         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
3668         (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
3669         (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
3670         (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
3671         (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
3672         (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
3673         (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
3674         (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
3675         (WebInspector.HeapSnapshot):
3676         (WebInspector.HeapSnapshot.prototype._init):
3677         (WebInspector.HeapSnapshot.prototype.get rootEdges):
3678         * inspector/front-end/HeapSnapshotView.js:
3679         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
3680         * inspector/front-end/ProfilesPanel.js:
3681         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
3682         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
3683         (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
3684         (WebInspector.ProfilerDispatcher.prototype.reportHeapSnapshotProgress):
3685         * inspector/front-end/Settings.js:
3686         * inspector/front-end/WebKit.qrc:
3687         * inspector/front-end/inspector.html:
3688         * inspector/front-end/inspector.js:
3689         (WebInspector._createPanels):
3690
3691 2011-01-25  Yury Semikhatsky  <yurys@chromium.org>
3692
3693         Reviewed by Pavel Feldman.
3694
3695         Web Inspector: remove "attached" state related methods from InspectorAgent
3696         https://bugs.webkit.org/show_bug.cgi?id=53086
3697
3698         * WebCore.exp.in:
3699         * inspector/InspectorAgent.cpp:
3700         * inspector/InspectorAgent.h:
3701         * inspector/InspectorFrontendClientLocal.cpp:
3702         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
3703         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
3704         * inspector/InspectorSettings.cpp:
3705         (WebCore::InspectorSettings::InspectorSettings):
3706         * inspector/InspectorSettings.h:
3707
3708 2011-01-25  Qi Zhang  <qi.2.zhang@nokia.com>
3709
3710         Reviewed by Laszlo Gombos.
3711
3712         [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h
3713         https://bugs.webkit.org/show_bug.cgi?id=51873
3714         
3715         Replace the using declaration, because it doesn't compile on RVCT, and WINSCW has the same issue.
3716         No new functionality so no new tests.
3717
3718         * html/canvas/Int32Array.h:
3719         (WebCore::Int32Array::set):
3720         * html/canvas/Int8Array.h:
3721         (WebCore::Int8Array::set):
3722         * html/canvas/Uint16Array.h:
3723         (WebCore::Uint16Array::set):
3724         * html/canvas/Uint32Array.h:
3725         (WebCore::Uint32Array::set):
3726         * html/canvas/Uint8Array.h:
3727         (WebCore::Uint8Array::set):
3728
3729 2011-01-25  Zoltan Herczeg  <zherczeg@webkit.org>
3730
3731         Reviewed by Dirk Schulze.
3732
3733         Repaint SVG elements with filter instead of relayout where possible
3734         https://bugs.webkit.org/show_bug.cgi?id=52200
3735
3736         This patch allows repainting of filters, when their
3737         attribute changes does not require relayout.
3738
3739         Existing dynamic-update tests cover this feature.
3740
3741         * platform/graphics/filters/FilterEffect.cpp:
3742         (WebCore::FilterEffect::clearResult): Clearing the currently stored image
3743         before repainting.
3744         * platform/graphics/filters/FilterEffect.h:
3745         * rendering/RenderObject.h:
3746         (WebCore::RenderObject::isSVGResourceFilter): Not only the filter primitives,
3747         but filters should also be detected to allow safe testing and casting.
3748         * rendering/svg/RenderSVGResourceFilter.cpp:
3749         (WebCore::RenderSVGResourceFilter::buildPrimitives): Passing the renderer.
3750         (WebCore::RenderSVGResourceFilter::applyResource):
3751         determineFilterPrimitiveSubregion does not require the filter anymore.
3752         (WebCore::RenderSVGResourceFilter::postApplyResource): Repaint
3753         if lastEffect->hasResult() is false.
3754         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3755         Searching for all FilterEffects, whose created by the current FilterElement,
3756         and clearing all resulting images depending on those FilterEffects.
3757         * rendering/svg/RenderSVGResourceFilter.h:
3758         (WebCore::RenderSVGResourceFilter::isSVGResourceFilter):
3759         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
3760         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
3761         The filter argument is unnecessary anymore. But is is still kept as a static
3762         member, since the primitive renderer still does not know about the
3763         FilterEffect objects.
3764         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
3765         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
3766         (WebCore::RenderSVGResourceFilterPrimitive::primitiveAttributeChanged):
3767         Calls RenderSVGResourceFilter::primitiveAttributeChanged.
3768         * svg/SVGFEDiffuseLightingElement.cpp:
3769         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3770         Setting the new attribute value for each FilterEffect.
3771         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
3772         * svg/SVGFEDiffuseLightingElement.h:
3773         Calling primitiveAttributeChanged.
3774         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3775         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
3776         This function will be removed when all FilterElement implements
3777         their setFilterEffectAttribute
3778         * svg/SVGFilterPrimitiveStandardAttributes.h:
3779         (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
3780         * svg/graphics/filters/SVGFilterBuilder.cpp:
3781         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences): The
3782         renderers are assigned to the filter effects.
3783         (WebCore::SVGFilterBuilder::clearEffects):
3784         (WebCore::SVGFilterBuilder::clearResultsRecursive): Recursively
3785         clearing the result images for those filters, whose depend on
3786         the starting filter.
3787         * svg/graphics/filters/SVGFilterBuilder.h:
3788         (WebCore::SVGFilterBuilder::effectReferences): 'get' is unnecessary
3789         (WebCore::SVGFilterBuilder::effectByRenderer): returns the
3790         FilterEffect belongs to this RenderObject.
3791
3792 2011-01-25  Dirk Schulze  <krit@webkit.org>
3793
3794         Reviewed by Nikolas Zimmermann.
3795
3796         SVG is missing to-animation support for Path
3797         https://bugs.webkit.org/show_bug.cgi?id=52982
3798
3799         SVG was missing 'to' animation support for SVG paths. Even the fallback to discrete
3800         animation did not work and an assert was thrown, because of the missing m_fromPath.
3801         This also influences a test of the W3C test suite. Subtest 2 of animate-elem-83-t.svg passes now.
3802
3803         Test: svg/animations/animate-path-to-animation.html
3804
3805         * svg/SVGAnimateElement.cpp:
3806         (WebCore::SVGAnimateElement::calculateAnimatedValue): Take the value of the last SVGAnimateElement for
3807         m_fromPath, since 'to' animations are accumulative.
3808         (WebCore::SVGAnimateElement::calculateFromAndToValues): Added support for 'to' animations.
3809         (WebCore::SVGAnimateElement::resetToBaseValue): Set m_animatedPath on the first animation element to baseVal.
3810         * svg/SVGPathByteStream.h:
3811         (WebCore::SVGPathByteStream::copySVGPathByteStream): Return copy of current byte stream.
3812
3813 2011-01-25  Pavel Feldman  <pfeldman@chromium.org>
3814
3815         Reviewed by Yury Semikhatsky.
3816
3817         Web Inspector: bind resources to URLs upon adding them into the tree.
3818         https://bugs.webkit.org/show_bug.cgi?id=53013
3819
3820         * inspector/front-end/AuditRules.js:
3821         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
3822         * inspector/front-end/CSSStyleModel.js:
3823         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
3824         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3825         * inspector/front-end/DebuggerModel.js:
3826         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
3827         * inspector/front-end/NetworkManager.js:
3828         (WebInspector.NetworkManager.prototype._processCachedResources):
3829         (WebInspector.NetworkManager.prototype.inflightResourceForURL):
3830         (WebInspector.NetworkDispatcher):
3831         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
3832         (WebInspector.NetworkDispatcher.prototype.markResourceAsCached):
3833         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
3834         (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
3835         (WebInspector.NetworkDispatcher.prototype.didFinishLoading):
3836         (WebInspector.NetworkDispatcher.prototype.didFailLoading):
3837         (WebInspector.NetworkDispatcher.prototype.willSendWebSocketHandshakeRequest):
3838         (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
3839         (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
3840         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
3841         (WebInspector.NetworkDispatcher.prototype._startResource):
3842         (WebInspector.NetworkDispatcher.prototype._finishResource):
3843         (WebInspector.NetworkDispatcher.prototype._createResource):
3844         * inspector/front-end/ResourceTreeModel.js:
3845         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
3846         (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
3847         (WebInspector.ResourceTreeModel.prototype._clearResources):
3848         (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
3849         * inspector/front-end/ResourcesPanel.js:
3850         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
3851         (WebInspector.ResourcesPanel.prototype.showSourceLine):
3852         * inspector/front-end/ScriptsPanel.js:
3853         (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
3854         (WebInspector.ScriptsPanel.prototype._addScript):
3855
3856 2011-01-25  Nikolas Zimmermann  <nzimmermann@rim.com>
3857
3858         Reviewed by Dirk Schulze.
3859
3860         Introduce FontMetrics abstraction
3861         https://bugs.webkit.org/show_bug.cgi?id=51456
3862
3863         Use accurate floating-point metrics for SVG Font calculations instead of casting float -> integer.
3864         This hopefully fixes differences between 32/64 bit bots.
3865
3866         Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards.
3867
3868         * platform/graphics/SimpleFontData.cpp:
3869         (WebCore::SimpleFontData::SimpleFontData):
3870         (WebCore::SimpleFontData::initCharWidths):
3871
3872 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
3873
3874         Reviewed by Pavel Feldman.
3875
3876         Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently.
3877         https://bugs.webkit.org/show_bug.cgi?id=52999
3878
3879         * inspector/Inspector.idl:
3880         * inspector/InspectorAgent.cpp:
3881         (WebCore::InspectorAgent::didCommitLoad):
3882         (WebCore::InspectorAgent::enableDebugger):
3883         (WebCore::InspectorAgent::inspectedURLWithoutFragment):
3884         * inspector/InspectorAgent.h:
3885         * inspector/InspectorBrowserDebuggerAgent.cpp:
3886         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
3887         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
3888         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
3889         * inspector/InspectorBrowserDebuggerAgent.h:
3890         * inspector/InspectorDebuggerAgent.cpp:
3891         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3892         (WebCore::InspectorDebuggerAgent::setAllJavaScriptBreakpoints):
3893         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
3894         (WebCore::InspectorDebuggerAgent::restoreBreakpoints):
3895         * inspector/InspectorDebuggerAgent.h:
3896         * inspector/InspectorState.cpp:
3897         (WebCore::InspectorState::InspectorState):
3898         * inspector/InspectorState.h:
3899         * inspector/front-end/BreakpointManager.js:
3900         (WebInspector.BreakpointManager):
3901         (WebInspector.BreakpointManager.prototype._projectChanged):
3902         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
3903         (WebInspector.BreakpointManager.prototype._pushBreakpointsToBackend):
3904
3905 2011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
3906
3907         Reviewed by Martin Robinson.
3908
3909         [GTK] Crash in some pages containing flash
3910         https://bugs.webkit.org/show_bug.cgi?id=53016
3911
3912         Flash plugin can produce X errors that are handled by the GDK X
3913         error handler, which exits the process. Since we don't want to
3914         crash due to flash bugs, we install a custom error handler to show
3915         a warning when a X error happens without aborting.
3916
3917         * plugins/gtk/PluginPackageGtk.cpp:
3918         (WebCore::webkitgtkXError):
3919         (WebCore::PluginPackage::load):
3920
3921 2011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
3922
3923         Reviewed by Martin Robinson.
3924
3925         [GTK] Implement spin buttons in RenderThemeGtk
3926         https://bugs.webkit.org/show_bug.cgi?id=51454
3927
3928         Paint inner up/down buttons for spin button elements when building
3929         with GTK+ 3.x.
3930
3931         Test results will land with the GTK+ 2.x version of this patch.
3932
3933         * platform/gtk/RenderThemeGtk.h:
3934         * platform/gtk/RenderThemeGtk2.cpp:
3935         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
3936         (WebCore::RenderThemeGtk::paintInnerSpinButton):
3937         * platform/gtk/RenderThemeGtk3.cpp:
3938         (WebCore::spinButtonArrowSize):
3939         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
3940         (WebCore::paintSpinArrowButton):
3941         (WebCore::RenderThemeGtk::paintInnerSpinButton):
3942
3943 2011-01-24  Mihai Parparita  <mihaip@chromium.org>
3944
3945         Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block
3946         in r76575.
3947
3948         * loader/cache/CachedResource.cpp:
3949         (WebCore::CachedResource::~CachedResource):
3950
3951 2011-01-24  Mihai Parparita  <mihaip@chromium.org>
3952
3953         Reviewed by Tony Chang.
3954
3955         Add runtime checks for invariants in memory cache
3956         https://bugs.webkit.org/show_bug.cgi?id=53059
3957         
3958         To help track down bug 53045, add some CRASH calls in addition to
3959         ASSERTs, so that we can track down failures in reliability bots.
3960
3961         Just some checks, no new tests necessary.
3962         
3963         * css/CSSImageValue.cpp:
3964         (WebCore::CSSImageValue::cachedImage):
3965         * loader/cache/CachedResource.h:
3966         * loader/cache/CachedResource.cpp:
3967         (WebCore::CachedResource::~CachedResource):
3968
3969 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
3970
3971         Reviewed by Dan Bernstein.
3972
3973         Leaking CSSRuleDataList objects
3974         https://bugs.webkit.org/show_bug.cgi?id=53062
3975
3976         Fix leaked CSSRuleDataLists added to the m_pseudoRules hash.
3977
3978         * css/CSSStyleSelector.cpp:
3979         (WebCore::CSSRuleSet::~CSSRuleSet):
3980
3981 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
3982
3983         Reviewed by Eric Seidel.
3984
3985         Refcount Images used in rendering code
3986         https://bugs.webkit.org/show_bug.cgi?id=52701
3987
3988         Change StyleImage::image(RenderObject*, const IntSize&) and
3989         CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to
3990         return PassRefPtr<Image>, and adjust other code accordingly.
3991         
3992         This allows us to return one-time images, for example for CSS gradients
3993         whose appearance may change depending on factors other than the renderer
3994         and the destination size.
3995
3996         * css/CSSCanvasValue.cpp:
3997         (WebCore::CSSCanvasValue::image):
3998         * css/CSSCanvasValue.h:
3999         * css/CSSGradientValue.cpp:
4000         (WebCore::CSSGradientValue::image):
4001         * css/CSSGradientValue.h:
4002         * css/CSSImageGeneratorValue.h:
4003         * rendering/RenderBoxModelObject.cpp:
4004         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
4005         (WebCore::RenderBoxModelObject::paintNinePieceImage):
4006         * rendering/RenderImage.cpp:
4007         (WebCore::RenderImage::paintReplaced):
4008         (WebCore::RenderImage::paintIntoRect):
4009         * rendering/RenderImageResource.h:
4010         (WebCore::RenderImageResource::image):
4011         * rendering/RenderImageResourceStyleImage.h:
4012         (WebCore::RenderImageResourceStyleImage::image):
4013         * rendering/RenderListMarker.cpp:
4014         (WebCore::RenderListMarker::paint):
4015         * rendering/style/StyleCachedImage.cpp:
4016      &