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