2010-11-23 Adam Bergkvist <adam.bergkvist@ericsson.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-11-23  Adam Bergkvist  <adam.bergkvist@ericsson.com>
2
3         Reviewed by Martin Robinson.
4
5         [GTK] Building with Blob support fails
6         https://bugs.webkit.org/show_bug.cgi?id=49724
7
8         Build fix.
9
10         * GNUmakefile.am:
11         * platform/gtk/FileSystemGtk.cpp:
12         (WebCore::seekFile): Not implemented.
13
14 2010-11-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
15
16         Reviewed by Andreas Kling.
17
18         Make setShouldDelegateScrolling not a real setting, so that it works
19         similar to the related setUseFixedLayout and setPaintEntireContents
20         options which are all in ScrollView.
21
22         * page/FrameView.cpp:
23         * page/FrameView.h:
24         * page/Settings.cpp:
25         (WebCore::Settings::Settings):
26         * page/Settings.h:
27         * platform/ScrollView.cpp:
28         (WebCore::ScrollView::ScrollView):
29         (WebCore::ScrollView::setDelegatesScrolling):
30         * platform/ScrollView.h:
31         (WebCore::ScrollView::delegatesScrolling):
32
33 2010-11-23  Adam Roben  <aroben@apple.com>
34
35         Don't rely on DocumentLoader outliving the load/unload events
36
37         DocumentLoader::m_documentLoadTiming is used to record how long firing
38         the load event took. But the DocumentLoader was being destroyed while
39         the event was being dispatched (due to a call to document.open), which
40         meant that when we tried to record the time when the load event
41         finished, we were writing into freed memory. We now protect the
42         DocumentLoader using a RefPtr. (I initially made a change where we
43         would only access the DocumentLoader after the event has finished
44         firing, but it seemed possible that a different DocumentLoader could
45         have come into existence by then, which would cause us to record the
46         times on the wrong DocumentLoadTiming struct.)
47
48         I only saw a crash when firing the load event, but the code for timing
49         the unload event seemed like it was vulnerable to the same issue, so I
50         made the same fix for it.
51
52         Fixes <http://webkit.org/b/49972> REGRESSION (r72415?): Crash in
53         DOMWindow::dispatchTimedEvent when running fast/dom/onload-open.html
54
55         Reviewed by Darin Fisher.
56
57         * loader/FrameLoader.cpp:
58         (WebCore::FrameLoader::stopLoading):
59         * page/DOMWindow.cpp:
60         (WebCore::DOMWindow::dispatchLoadEvent):
61         Protect the DocumentLoader (and thus its DocumentLoadTiming) with a
62         RefPtr.
63
64 2010-11-17  Zhenyao Mo  <zmo@google.com>
65
66         Reviewed by Kenneth Russell.
67
68         readPixels should generate INVALID_ENUM if only one of type/format mismatch UNSIGNED_BYTE/RGBA
69         https://bugs.webkit.org/show_bug.cgi?id=49673
70
71         Test: fast/canvas/webgl/read-pixels-test.html
72
73         * html/canvas/WebGLRenderingContext.cpp:
74         (WebCore::WebGLRenderingContext::readPixels):
75
76 2010-11-23  Alexander Pavlov  <apavlov@chromium.org>
77
78         Reviewed by Pavel Feldman.
79
80         Web Inspector: [STYLES] Use strike through as an 'overridden' marker.
81         https://bugs.webkit.org/show_bug.cgi?id=49961
82
83         "line-through" is used for inactive properties overridden within the same style.
84
85         * inspector/front-end/inspector.css:
86         (.styles-section .properties .overloaded, .styles-section .properties .inactive, .styles-section .properties .disabled):
87
88 2010-11-23  Yael Aharon  <yael.aharon@nokia.com>
89
90         Reviewed by Antonio Gomes.
91
92         Spatial Navigation: Code cleanup
93         https://bugs.webkit.org/show_bug.cgi?id=49442
94
95         Remove code that is not used anymore after http://trac.webkit.org/changeset/72522.
96         Added const to canBeScrolledIntoView.
97         No new tests because this is only code cleanup.
98
99         * page/FocusController.cpp:
100         * page/FocusController.h:
101         * page/SpatialNavigation.cpp:
102         (WebCore::canBeScrolledIntoView):
103         * page/SpatialNavigation.h:
104
105 2010-11-23  Jeremy Orlow  <jorlow@chromium.org>
106
107         Reviewed by Steve Block.
108
109         Remove unimplemented (and untested) methods from IndexedDB
110         https://bugs.webkit.org/show_bug.cgi?id=49911
111
112         * storage/IDBCursor.idl:
113         * storage/IDBDatabase.idl:
114
115 2010-11-18  Satish Sampath  <satish@chromium.org>
116
117         Reviewed by Jeremy Orlow.
118
119         For speech input event, send an event object containing all the recognition results and metadata.
120         https://bugs.webkit.org/show_bug.cgi?id=49736
121
122         Currently the speech input event 'onwebkitspeechchange' receives no parameters. WebCore already
123         has the full list of recognition results and populates only the top result into the input field
124         automatically. In this patch we pass a SpeechInputEvent object to the event handler, and the JS
125         code can access the full list of results via "event.results.length", "results[i].utterance" and
126         "results[i].confidence". Also updated mock object with appropriate methods to test multiple results.
127
128         Test: fast/speech/input-onspeechchange-event.html
129
130         * CMakeLists.txt:
131         * GNUmakefile.am:
132         * WebCore.gypi:
133         * WebCore.pri:
134         * WebCore.pro:
135         * WebCore.xcodeproj/project.pbxproj:
136         * bindings/js/JSEventCustom.cpp:
137         (WebCore::toJS): Added new event
138         * bindings/v8/custom/V8EventCustom.cpp:
139         (WebCore::toV8): Added new event
140         * dom/Event.cpp:
141         (WebCore::Event::isSpeechInputEvent):
142         * dom/Event.h:
143         * html/HTMLInputElement.cpp:
144         * html/HTMLInputElement.h:
145         * page/SpeechInputEvent.h: New file implementing SpeechInputEvent.idl
146         (WebCore::SpeechInputEvent::~SpeechInputEvent):
147         (WebCore::SpeechInputEvent::create):
148         (WebCore::SpeechInputEvent::isSpeechInputEvent):
149         (WebCore::SpeechInputEvent::results):
150         (WebCore::SpeechInputEvent::SpeechInputEvent):
151         * page/SpeechInputEvent.idl: New file defining SpeechInputEvent object
152         * page/SpeechInputListener.h:
153         * page/SpeechInputResult.cpp:
154         (WebCore::SpeechInputResult::create):
155         * page/SpeechInputResult.h:
156         * page/SpeechInputResult.idl: New file defining a single SpeechInputResult object
157         * page/SpeechInputResultList.h: New file implementing SpeechInputResultList.idl
158         (WebCore::SpeechInputResultList::create):
159         (WebCore::SpeechInputResultList::length):
160         (WebCore::SpeechInputResultList::item):
161         (WebCore::SpeechInputResultList::SpeechInputResultList):
162         * page/SpeechInputResultList.idl: New file defining a list of SpeechInputResult objects
163         * platform/mock/SpeechInputClientMock.cpp:
164         (WebCore::SpeechInputClientMock::addRecognitionResult): Renamed method and added one parameter.
165         (WebCore::SpeechInputClientMock::clearResults):
166         (WebCore::SpeechInputClientMock::timerFired):
167         * platform/mock/SpeechInputClientMock.h:
168         * rendering/TextControlInnerElements.cpp:
169         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Pass new event object to handler.
170
171 2010-11-22  Alexey Proskuryakov  <ap@apple.com>
172
173         Reviewed by Darin Adler.
174
175         https://bugs.webkit.org/show_bug.cgi?id=49860
176         CSS style rules don't GC protect objects reachable as their properties
177
178         Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html
179
180         * Android.jscbindings.mk:
181         * CMakeLists.txt:
182         * GNUmakefile.am:
183         * WebCore.gypi:
184         * WebCore.pro:
185         * WebCore.vcproj/WebCore.vcproj:
186         * WebCore.xcodeproj/project.pbxproj:
187         * bindings/js/JSBindingsAllInOne.cpp:
188         Added new files, sorted appropriate sections for easier adding.
189
190         * bindings/js/JSCSSFontFaceRuleCustom.cpp: Added.
191         (WebCore::JSCSSFontFaceRule::markChildren):
192         * bindings/js/JSCSSImportRuleCustom.cpp: Added.
193         (WebCore::JSCSSImportRule::markChildren):
194         * bindings/js/JSCSSMediaRuleCustom.cpp: Added.
195         (WebCore::JSCSSMediaRule::markChildren):
196         * bindings/js/JSCSSPageRuleCustom.cpp: Added.
197         (WebCore::JSCSSPageRule::markChildren):
198         * bindings/js/JSCSSStyleRuleCustom.cpp: Added.
199         (WebCore::JSCSSStyleRule::markChildren):
200         * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added.
201         (WebCore::JSWebKitCSSKeyframeRule::markChildren):
202         * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added.
203         (WebCore::JSWebKitCSSKeyframesRule::markChildren):
204         Mark objects reachable through these ones.
205
206         * css/CSSFontFaceRule.idl:
207         * css/CSSImportRule.idl:
208         * css/CSSMediaRule.idl:
209         * css/CSSPageRule.idl:
210         * css/CSSStyleRule.idl:
211         * css/WebKitCSSKeyframeRule.idl:
212         * css/WebKitCSSKeyframesRule.idl:
213         Added CustomMarkFunction IDL attribute.
214
215 2010-11-23  Helder Correia  <helder@sencha.com>
216
217         Reviewed by Ariya Hidayat.
218
219         [Qt] Drawing an image on canvas with shadowBlur draws a solid shadow
220         https://bugs.webkit.org/show_bug.cgi?id=49878
221
222         Add support for blurry shadows when drawing images on canvas.
223
224         Test: fast/canvas/canvas-drawImage-shadow.html
225
226         * platform/graphics/qt/ContextShadowQt.cpp:
227         (WebCore::ContextShadow::endShadowLayer): Make composition work for solid shadow too.
228         * platform/graphics/qt/ImageQt.cpp:
229         (WebCore::BitmapImage::draw): Remove old shadow code and introduce ContextShadow.
230
231 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
232
233         Reviewed by Adam Roben.
234
235         Port ContextMenuWin.cpp to WinCE
236         https://bugs.webkit.org/show_bug.cgi?id=48408
237
238         * platform/ContextMenu.h:
239         * platform/win/ContextMenuWin.cpp:
240         (WebCore::ContextMenu::ContextMenu):
241         (WebCore::ContextMenu::itemCount):
242         (WebCore::insertMenuItem):
243         (WebCore::ContextMenu::insertItem):
244         (WebCore::contextMenuItemByIdOrPosition):
245         (WebCore::ContextMenu::setPlatformDescription):
246         (WebCore::contextMenuItemVector):
247         (WebCore::platformMenuDescription):
248
249 2010-11-22  David Hyatt  <hyatt@apple.com>
250
251         Back out r72527 since it caused multiple rendering regressions.  Details in bug.
252
253         * rendering/InlineFlowBox.cpp:
254         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
255         * rendering/RenderListItem.cpp:
256         (WebCore::RenderListItem::positionListMarker):
257
258 2010-11-22  John Knottenbelt  <jknotten@chromium.org>
259
260         Reviewed by Steve Block.
261
262         Implement mocks for client-based Geolocation.
263         https://bugs.webkit.org/show_bug.cgi?id=49258
264
265         * Android.mk:
266         * CMakeLists.txt:
267         * GNUmakefile.am:
268         * WebCore.gypi:
269         * WebCore.pro:
270         * WebCore.vcproj/WebCore.vcproj:
271         * WebCore.xcodeproj/project.pbxproj:
272         * platform/mock/GeolocationClientMock.cpp: Added.
273         (WebCore::GeolocationClientMock::GeolocationClientMock):
274         (WebCore::GeolocationClientMock::~GeolocationClientMock):
275         (WebCore::GeolocationClientMock::setController):
276         (WebCore::GeolocationClientMock::setPosition):
277         (WebCore::GeolocationClientMock::setError):
278         (WebCore::GeolocationClientMock::geolocationDestroyed):
279         (WebCore::GeolocationClientMock::startUpdating):
280         (WebCore::GeolocationClientMock::stopUpdating):
281         (WebCore::GeolocationClientMock::setEnableHighAccuracy):
282         (WebCore::GeolocationClientMock::lastPosition):
283         (WebCore::GeolocationClientMock::timerFired):
284         (WebCore::GeolocationClientMock::makeGeolocationCallback):
285         * platform/mock/GeolocationClientMock.h: Added.
286
287 2010-11-22  Tony Gentilcore  <tonyg@chromium.org>
288
289         Reviewed by Adam Barth.
290
291         Fix bogus include guard.
292
293         * loader/NavigationScheduler.h:
294
295 2010-11-22  Andreas Kling  <kling@webkit.org>
296
297         Reviewed by Ariya Hidayat.
298
299         [Qt] Canvas: strokeText() and fillText() produce same shadow
300         https://bugs.webkit.org/show_bug.cgi?id=48845
301
302         Test: fast/canvas/canvas-strokeText-strokes-shadow.html
303
304         * platform/graphics/qt/FontQt.cpp:
305         (WebCore::drawTextCommon): Stroke the shadow rather than filling it in the cTextStroke case.
306
307 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
308
309         Reviewed by Sam Weinig.
310
311         Use WTF::FixedArray::size()
312         https://bugs.webkit.org/show_bug.cgi?id=49891
313
314         * dom/Document.cpp:
315         (WebCore::Document::~Document):
316
317 2010-11-22  Ryosuke Niwa  <rniwa@webkit.org>
318
319         Reviewed by Tony Chang.
320
321         SelectionController::typingStyle() should return EditingStyle*
322         https://bugs.webkit.org/show_bug.cgi?id=49813
323
324         Changed the return type of SelectionController::typingStyle to EditingStyle*.
325
326         Extracted textDirection from Editor::textDirectionForSelection to hide the underlying
327         CSSMutableStyleDeclaration.
328
329         Also extracted the code to preserve unicode-bidi and direction CSS properties in
330         InsertTextCommand::input, and moved into EditingStyle::prepareToApplyAt. ShouldPreserveWritingDirection,
331         which is added to the argument list of EditingStyle::prepareToApplyAt, decides whether or not
332         these two properties are preserved.
333
334         Also added SelectionController::copyTypingStyle() to copy the typing style as an instance of
335         CSSMutableStyleDeclaration.
336
337         No new tests are added since this is a refactoring.
338
339         * editing/EditingStyle.cpp:
340         (WebCore::EditingStyle::textDirection): Extracted from Editor::textDirectionForSelection.
341         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added a missing null check.
342         (WebCore::EditingStyle::prepareToApplyAt): See above.
343         (WebCore::editingStyleIncludingTypingStyle): Calls SelectionController::typingStyle.
344         * editing/EditingStyle.h: Moved WritingDirection from Editor.h
345         * editing/Editor.cpp:
346         (WebCore::Editor::textDirectionForSelection): Calls EditingStyle::textDirection.
347         (WebCore::Editor::computeAndSetTypingStyle): Calls SelectionController::typingStyle.
348         (WebCore::Editor::selectionComputedStyle): Ditto.
349         (WebCore::Editor::styleForSelectionStart): Ditto.
350         * editing/Editor.h:
351         * editing/InsertLineBreakCommand.cpp:
352         (WebCore::InsertLineBreakCommand::doApply): Ditto.
353         * editing/InsertTextCommand.cpp:
354         (WebCore::InsertTextCommand::input): Calls EditingStyle::prepareToApplyAt with PreserveWritingDirection.
355         * editing/SelectionController.h:
356         (WebCore::SelectionController::typingStyle): Returns EditingStyle* rather than CSSMutableStyleDeclaration*.
357         (WebCore::SelectionController::copyTypingStyle): Added.
358
359 2010-11-22  Patrick Gansterer  <paroga@webkit.org>
360
361         Reviewed by Adam Roben.
362
363         [WINCE] Set correct preprocessor definitions
364         https://bugs.webkit.org/show_bug.cgi?id=49887
365
366         * config.h:
367
368 2010-11-22  James Robinson  <jamesr@chromium.org>
369
370         Reviewed by Dimitri Glazkov.
371
372         [chromium] font-size:0 text runs should have zero width
373         https://bugs.webkit.org/show_bug.cgi?id=49871
374
375         Returns 0 from platformWidthForGlyph if the specified font size is 0.
376
377         Test: fast/text/font-size-zero.html
378
379         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
380         (WebCore::SimpleFontData::platformWidthForGlyph):
381         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
382         (WebCore::SimpleFontData::platformWidthForGlyph):
383
384 2010-11-22  Charlie Reis  <creis@chromium.org>
385
386         Reviewed by Darin Fisher.
387
388         Update correct content state during back/forward navigations
389         https://bugs.webkit.org/show_bug.cgi?id=48809
390
391         Ensures that history's previousItem is non-null when clients try to
392         update content state (e.g., Chromium's UpdateSessionHistory).  We now
393         track load completions with a boolean field rather than by clearing
394         previousItem.
395
396         Test: fast/history/saves-state-after-frame-nav.html
397
398         * loader/HistoryController.cpp:
399         * loader/HistoryController.h:
400
401 2010-11-22  Luiz Agostini  <luiz.agostini@openbossa.org>
402
403         Unreviewed, Windows build fix.
404
405         Adding JSMediaQueryList to DerivedSources.cpp.
406
407         * DerivedSources.cpp:
408
409 2010-11-22  Adam Roben  <aroben@apple.com>
410
411         Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
412
413         Apple's Windows build allows placing header files and import libraries for WebKit's
414         dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
415         $WebKitLibrariesDir environment variable. This is both required for production builds and
416         convenient for Apple-internal developer builds. Apple's production builds also require that
417         WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
418         builds, the files are copied into that directory tree by the
419         WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
420         copying is done by
421         JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
422
423         This .vsprops copying is problematic in one very important case: when a developer updates
424         their source tree and then tries to build. Visual Studio only reads .vsprops files when a
425         project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
426         updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
427         build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
428         $WebKitLibrariesDir, but Visual Studio will not pick up the changes.  The rest of the build
429         will proceed with out-of-date .vsprops files, which will likely result in a build failure.
430
431         To fix this, we now use normal relative paths to access the .vsprops files in the source
432         tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
433         variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
434         unset, so the normal relative paths are used to read the .vsprops files out of the source
435         tree directly. In production builds, this environment variable is set to a fake directory
436         that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
437         is resolved.
438         
439         For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
440
441         $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
442
443         In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
444         files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
445         JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
446         "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
447         FeatureDefines.vsprops becomes:
448
449         $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
450
451         which resolves to:
452
453         $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
454
455         (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
456         actually exist since they are matched by an equal number of ".." path components.)
457
458         Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
459         Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
460
461         Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
462         updated
463
464         Reviewed by Dave Hyatt.
465
466         * WebCore.vcproj/WebCore.make: Set $WebKitVSPropsRedirectionDir so that
467         production builds can find the .vsprops files.
468
469         * WebCore.vcproj/QTMovieWin.vcproj:
470         * WebCore.vcproj/WebCore.vcproj:
471         Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
472         files.
473
474 2010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>
475
476         Reviewed by Darin Adler.
477
478         Implement CSSOM View matchMedia interface
479         https://bugs.webkit.org/show_bug.cgi?id=37205
480
481         New interfaces may be used to evaluate media queries and to associate listeners
482         to media queries. Those listeners are called whenever the associated query changes.
483         Specification may be found at http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface
484
485         operator== added to JS version of ScriptValue.
486         Method isFunction added to JS and V8 versions of ScriptValue.
487
488         * bindings/js/ScriptValue.cpp:
489         (WebCore::ScriptValue::isFunction):
490         * bindings/js/ScriptValue.h:
491         (WebCore::ScriptValue::operator==):
492         * bindings/v8/ScriptValue.h:
493         (WebCore::ScriptValue::isFunction):
494
495         Some changes were needed to the code generators to handle type MediaQueryListListener.
496
497         * bindings/scripts/CodeGeneratorGObject.pm:
498         * bindings/scripts/CodeGeneratorJS.pm:
499         * bindings/scripts/CodeGeneratorV8.pm:
500
501         Some changes to the bindings test results that were previously added.
502
503         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
504         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
505         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
506         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
507         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
508         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
509         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
510
511         New interfaces:
512
513         * css/MediaQueryList.cpp: Added.
514         * css/MediaQueryList.h: Added.
515         * css/MediaQueryList.idl: Added.
516
517         * css/MediaQueryListListener.cpp: Added.
518         * css/MediaQueryListListener.h: Added.
519         * css/MediaQueryListListener.idl: Added.
520
521         To avoid adding code to classes DOMWindow and Document a new class MediaQueryMatcher was created.
522
523         * css/MediaQueryMatcher.cpp: Added.
524         * css/MediaQueryMatcher.h: Added.
525
526         Document and DOMWindow have changed to support new features. DOMWindow is the class that
527         publishes methods matchMedia but for page cache to work properly the reference to the
528         MediaQueryMatcher must be in Document.
529
530         * dom/Document.cpp:
531         (WebCore::Document::~Document):
532         (WebCore::Document::mediaQueryMatcher):
533         (WebCore::Document::styleSelectorChanged):
534         * dom/Document.h:
535         * page/DOMWindow.cpp:
536         (WebCore::DOMWindow::matchMedia):
537         * page/DOMWindow.h:
538         * page/DOMWindow.idl:
539
540         Build systems
541
542         * CMakeLists.txt:
543         * DerivedSources.make:
544         * GNUmakefile.am:
545         * WebCore.gypi:
546         * WebCore.pri:
547         * WebCore.pro:
548         * WebCore.vcproj/WebCore.vcproj:
549         * WebCore.xcodeproj/project.pbxproj:
550         * bindings/gobject/GNUmakefile.am:
551
552         Tests: fast/media/media-query-list-01.html
553                fast/media/media-query-list-02.html
554                fast/media/media-query-list-03.html
555                fast/media/media-query-list-04.html
556                fast/media/media-query-list-05.html
557                fast/media/media-query-list-06.html
558                fast/media/media-query-list-07.html
559
560 2010-11-22  Alexander Pavlov  <apavlov@chromium.org>
561
562         Reviewed by Pavel Feldman.
563
564         Web Inspector: [REGRESSION] Contents of rules inside @media not displayed/editable
565         https://bugs.webkit.org/show_bug.cgi?id=49804
566
567         * css/CSSImportRule.cpp:
568         (WebCore::CSSImportRule::insertedIntoParent):
569         * inspector/InspectorCSSAgent.cpp:
570         (WebCore::InspectorCSSAgent::setStyleSheetText2):
571         * inspector/InspectorStyleSheet.cpp:
572         (WebCore::asCSSRuleList):
573         (WebCore::InspectorStyleSheet::reparseStyleSheet):
574         (WebCore::InspectorStyleSheet::setText):
575         (WebCore::InspectorStyleSheet::addRule):
576         (WebCore::InspectorStyleSheet::ruleForId):
577         (WebCore::InspectorStyleSheet::ruleIndexByStyle):
578         (WebCore::InspectorStyleSheet::ensureText):
579         (WebCore::InspectorStyleSheet::ensureSourceData):
580         (WebCore::InspectorStyleSheet::ensureFlatRules):
581         (WebCore::InspectorStyleSheet::revalidateStyle):
582         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
583         (WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
584         (WebCore::InspectorStyleSheet::collectFlatRules):
585         * inspector/InspectorStyleSheet.h:
586
587 2010-11-22  Ilya Tikhonovsky  <loislo@chromium.org>
588
589         Reviewed by Pavel Feldman.
590
591         Web Inspector: dump inspector protocol messages into console.
592         Sometimes I need to dump inspector messages into console.
593         It'd be much simple to have this code in repository and
594         enable protocol dumping just by a flag.
595
596         https://bugs.webkit.org/show_bug.cgi?id=49905
597
598         * inspector/CodeGeneratorInspector.pm:
599         * inspector/front-end/WorkersSidebarPane.js:
600         (WebInspector.WorkersSidebarPane.prototype.reset):
601         * inspector/front-end/inspector.js:
602         (WebInspector_syncDispatch):
603
604 2010-11-22  Andreas Kling  <kling@webkit.org>
605
606         Reviewed by Nikolas Zimmermann.
607
608         GraphicsContext: Make drawFocusRing() take a Path instead of a Vector<Path>
609         https://bugs.webkit.org/show_bug.cgi?id=49840
610
611         This avoid copying a Path object when drawing focus rings.
612
613         * platform/graphics/GraphicsContext.h:
614         * platform/graphics/cairo/GraphicsContextCairo.cpp:
615         (WebCore::GraphicsContext::drawFocusRing):
616         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
617         (WebCore::GraphicsContext::drawFocusRing):
618         * platform/graphics/mac/GraphicsContextMac.mm:
619         (WebCore::GraphicsContext::drawFocusRing):
620         * platform/graphics/qt/GraphicsContextQt.cpp:
621         (WebCore::GraphicsContext::drawFocusRing):
622         * platform/graphics/skia/GraphicsContextSkia.cpp:
623         (WebCore::GraphicsContext::drawFocusRing):
624         * platform/graphics/win/GraphicsContextCGWin.cpp:
625         (WebCore::GraphicsContext::drawFocusRing):
626         * platform/graphics/wince/GraphicsContextWinCE.cpp:
627         (WebCore::GraphicsContext::drawFocusRing):
628         * platform/graphics/wx/GraphicsContextWx.cpp:
629         (WebCore::GraphicsContext::drawFocusRing):
630         * rendering/RenderImage.h:
631         * rendering/RenderImage.cpp:
632         (WebCore::RenderImage::paint):
633         (WebCore::RenderImage::paintFocusRing):
634         Renamed from paintFocusRings since it only paints one ring.
635
636 2010-11-22  Renata Hodovan  <reni@webkit.org>
637
638         Reviewed by Andreas Kling.
639
640         Outside list bullets ignore text-align style.
641         https://bugs.webkit.org/show-bug.cgi?id=15713
642
643         Fix the position of outside markers by setting its logicalLeft member. Embedded markers need special treatment.
644         First, the total width of markers should be calculated. Subtracting it from logicalLeft we get the outermost bullet's
645         position. As for the others, this sum should be decremented with the previous marker's width.
646         In case of vertical markers the padding is unneeded.
647
648         Test: fast/lists/outSideListMarkers.html
649
650         * rendering/InlineFlowBox.cpp:
651         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
652         * rendering/RenderListItem.cpp:
653         (WebCore::RenderListItem::positionListMarker):
654
655 2010-11-22  Yael Aharon  <yael.aharon@nokia.com>, Chang Shu  <chang.shu@nokia.com>
656
657         Reviewed by Antonio Gomes.
658
659         Spatial Navigation: issues with the node selection algorithm.
660         https://bugs.webkit.org/show_bug.cgi?id=49382
661
662         Modify the Spatial Navigation algorithm, to better handle initial focus and
663         navigation between frames.
664         The new algorithm takes the rect of the focused node as the startingRect,
665         instead of the node itself. That allows us to construct a virtual rect if
666         there is no focused node, or if it is off the screen.
667         The virtual rect is the edge of the container in the direction of the navigation.
668
669         With this patch, scrollable containers and frames will scroll regardless of weather
670         they have focusable content. Users will be able to use arrow keys to view all the
671         content of such a container. The only exception is if the container has style overflow:hidden. 
672         We will not scroll in that case.
673
674         With this patch, we handle z-index and positioning so that if there are 2 overlapping focusable nodes,
675         we do a hit test and only the node on top can get focus.
676
677         hasOffScreenRect() was modified so that it can check if a node will be off-screen even after we scrolled
678         its parent container. We do not add the scrolling conditions for containers that have overflow:hidden
679         and cannot scroll.
680
681         calculateScrollbarModesForLayout is used to decide if a frame can scroll or not. We cannot rely on
682         the exsistance of the scrollbar, because it could be removed via the API, while the frame is still
683         allowed to scroll.
684
685         * page/FocusController.cpp:
686         (WebCore::updateFocusCandidateIfNeeded):
687         (WebCore::FocusController::findFocusCandidateInContainer):
688         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
689         (WebCore::FocusController::advanceFocusDirectionally):
690         * page/FocusController.h:
691         * page/FrameView.h:
692         * page/SpatialNavigation.cpp:
693         (WebCore::FocusCandidate::FocusCandidate):
694         (WebCore::distanceDataForNode):
695         (WebCore::alignmentForRects):
696         (WebCore::areRectsMoreThanFullScreenApart):
697         (WebCore::isRectInDirection):
698         (WebCore::hasOffscreenRect):
699         (WebCore::scrollInDirection):
700         (WebCore::isScrollableContainerNode):
701         (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
702         (WebCore::canScrollInDirection):
703         (WebCore::rectToAbsoluteCoordinates):
704         (WebCore::nodeRectInAbsoluteCoordinates):
705         (WebCore::frameRectInAbsoluteCoordinates):
706         (WebCore::entryAndExitPointsForDirection):
707         (WebCore::canBeScrolledIntoView):
708         (WebCore::virtualRectForDirection):
709         * page/SpatialNavigation.h:
710
711 2010-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
712
713         Reviewed by Dirk Schulze.
714
715         Fix various problems with the SVG*List code
716         https://bugs.webkit.org/show_bug.cgi?id=49880
717
718         Write tests for SVGNumberList/SVGPointList/SVGStringList/SVGTransformList and extend SVGLengthList tests.
719         SVG DOM <-> XML DOM synchronization is now tested for all these types, and works great. Unify the string format produced
720         by the various valueAsString() functions for maximum compatibility with Firefox / Opera.
721
722         * Build a real transform string for SVGTransformList, instead of dumping the elements of the concatted matrix.
723         * Add SVGStringList XML dom synchronization, only affects SVGTests requiredFeatures/requiredExtensions/systemLanguage.
724         * Make all animVal properties readonly, tested by types-dom-07-f.svg (from SVG 1.1 2nd edition).
725         * Enable StrictTypeChecking/RequiresAllArguments=Raise for all SVGList types.
726
727         Tests: svg/W3C-SVG-1.1-SE/types-dom-07-f.svg
728                svg/dom/SVGNumberList-basics.xhtml
729                svg/dom/SVGPointList-basics.xhtml
730                svg/dom/SVGStringList-basics.xhtml
731                svg/dom/SVGTransformList-basics.xhtml
732
733         * bindings/js/JSSVGLengthCustom.cpp:
734         (WebCore::JSSVGLength::setValue): Throw NO_MODIFICATION_ALLOWED_ERR when the SVGPropertyTearOffs role is AnimValRole.
735         (WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
736         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
737         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
738         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
739         * bindings/v8/custom/V8SVGLengthCustom.cpp:
740         (WebCore::V8SVGLength::valueAccessorSetter): Ditto.
741         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): Ditto.
742         * svg/SVGAElement.cpp:
743         (WebCore::SVGAElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
744         * svg/SVGAnimationElement.cpp:
745         (WebCore::SVGAnimationElement::synchronizeProperty): Ditto.
746         * svg/SVGCircleElement.cpp:
747         (WebCore::SVGCircleElement::synchronizeProperty): Ditto.
748         * svg/SVGClipPathElement.cpp:
749         (WebCore::SVGClipPathElement::synchronizeProperty): Ditto.
750         * svg/SVGCursorElement.cpp:
751         (WebCore::SVGCursorElement::synchronizeProperty): Ditto.
752         * svg/SVGDefsElement.cpp:
753         (WebCore::SVGDefsElement::synchronizeProperty): Ditto.
754         * svg/SVGEllipseElement.cpp:
755         (WebCore::SVGEllipseElement::synchronizeProperty): Ditto.
756         * svg/SVGForeignObjectElement.cpp:
757         (WebCore::SVGForeignObjectElement::synchronizeProperty): Ditto.
758         * svg/SVGGElement.cpp:
759         (WebCore::SVGGElement::synchronizeProperty): Ditto.
760         * svg/SVGImageElement.cpp:
761         (WebCore::SVGImageElement::synchronizeProperty): Ditto.
762         * svg/SVGLengthList.cpp:
763         (WebCore::SVGLengthList::valueAsString): Use ' ' instead of ',' as seperator.
764         * svg/SVGLengthList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
765         * svg/SVGLineElement.cpp:
766         (WebCore::SVGLineElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
767         * svg/SVGMaskElement.cpp:
768         (WebCore::SVGMaskElement::synchronizeProperty): Ditto.
769         * svg/SVGNumberList.cpp:
770         (WebCore::SVGNumberList::valueAsString): Use ' ' instead of ',' as seperator.
771         * svg/SVGNumberList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
772         * svg/SVGPathElement.cpp:
773         (WebCore::SVGPathElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
774         * svg/SVGPatternElement.cpp:
775         (WebCore::SVGPatternElement::synchronizeProperty): Ditto.
776         * svg/SVGPointList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
777         * svg/SVGPolyElement.cpp:
778         (WebCore::SVGPolyElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
779         * svg/SVGRectElement.cpp:
780         (WebCore::SVGRectElement::synchronizeProperty): Ditto.
781         * svg/SVGSVGElement.cpp:
782         (WebCore::SVGSVGElement::synchronizeProperty): Ditto.
783         * svg/SVGStringList.cpp:
784         (WebCore::SVGStringList::valueAsString): Add valueAsString() implementation, necessary for SVG DOM <-> XML DOM synchronization.
785         * svg/SVGStringList.h:
786         * svg/SVGStringList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
787         * svg/SVGSwitchElement.cpp:
788         (WebCore::SVGSwitchElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
789         * svg/SVGTests.cpp: Rewrite, similar to SVGPolyElement, to synchronize the requiredFeatures/requiredExtension/systemLanguage SVGStringLists with their XML DOM attributes.
790         (WebCore::SVGTests::SVGTests):
791         (WebCore::SVGTests::isValid):
792         (WebCore::SVGTests::parseMappedAttribute):
793         (WebCore::SVGTests::isKnownAttribute):
794         (WebCore::SVGTests::handleAttributeChange):
795         (WebCore::SVGTests::synchronizeProperties): To be called by all classes inheriting from SVGTests, in their synchronizeProperty() methods.
796         (WebCore::SVGTests::synchronizeRequiredFeatures):
797         (WebCore::SVGTests::synchronizeRequiredExtensions):
798         (WebCore::SVGTests::synchronizeSystemLanguage):
799         (WebCore::SVGTests::requiredFeatures):
800         (WebCore::SVGTests::requiredExtensions):
801         (WebCore::SVGTests::systemLanguage):
802         * svg/SVGTests.h:
803         * svg/SVGTextContentElement.cpp:
804         (WebCore::SVGTextContentElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
805         * svg/SVGTransform.cpp:
806         (WebCore::SVGTransform::valueAsString): Added a proper way to serialize a SVGTransform into a String.
807         * svg/SVGTransform.h:
808         * svg/SVGTransformList.cpp:
809         (WebCore::SVGTransformList::valueAsString): Rewrite, to build a real transform list string, instead of dumping the concatted matrix.
810         * svg/SVGUseElement.cpp:
811         (WebCore::SVGUseElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
812         * svg/properties/SVGListProperty.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
813         (WebCore::SVGListProperty::initializeValuesAndWrappers):
814         (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
815         (WebCore::SVGListProperty::replaceItemValues):
816         (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
817         (WebCore::SVGListProperty::removeItemValuesAndWrappers): Handle corner case, the item passed to removeItem() was the only on in the list, list is empty now, nothing to replace.
818         (WebCore::SVGListProperty::appendItemValuesAndWrappers):
819         (WebCore::SVGListProperty::role): Expose the role of this list property.
820         * svg/properties/SVGPathSegListPropertyTearOff.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
821         (WebCore::SVGPathSegListPropertyTearOff::initialize):
822         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
823         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
824         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
825         * svg/properties/SVGProperty.h: Add new virtual SVGPropertyRole role() accessor.
826         * svg/properties/SVGPropertyTearOff.h:
827         (WebCore::SVGPropertyTearOff::create): Store the passed in SVGProperyRole, instead of ignoring it.
828         (WebCore::SVGPropertyTearOff::role):
829         (WebCore::SVGPropertyTearOff::SVGPropertyTearOff):
830         * svg/properties/SVGStaticPropertyTearOff.h:
831         (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Pass UndefinedRole as default role to SVGPropertyTearOff.
832         * svg/properties/SVGStaticPropertyWithParentTearOff.h: Ditto.
833         (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
834
835 2010-11-22  Yuzo Fujishima  <yuzo@google.com>
836
837         Reviewed by Dan Bernstein.
838
839         Fix for Bug 49374 - Web Font specified with base64 data URI ending with EOT is not rendered.
840         https://bugs.webkit.org/show_bug.cgi?id=49374
841
842         Test: fast/css/font-face-data-uri.html
843
844         * css/CSSFontFaceSrcValue.cpp:
845         (WebCore::CSSFontFaceSrcValue::isSupportedFormat): Do not check "file
846         extension" for data URI. For other URI, check against ".eot" rather
847         than "eot".
848
849 2010-11-21  Patrick Gansterer  <paroga@webkit.org>
850
851         Reviewed by Csaba Osztrogonác.
852
853         Use WTF_ARRAY_LENGTH in WebCore directory
854         https://bugs.webkit.org/show_bug.cgi?id=49882
855
856         * accessibility/AccessibilityObject.cpp:
857         (WebCore::createARIARoleMap):
858         * bindings/js/JSDOMWindowBase.cpp:
859         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
860         * bindings/scripts/CodeGeneratorV8.pm:
861         * bindings/scripts/test/V8/V8TestObj.cpp:
862         (WebCore::ConfigureV8TestObjTemplate):
863         * css/CSSComputedStyleDeclaration.cpp:
864         * css/CSSMutableStyleDeclaration.cpp:
865         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
866         * css/CSSParser.cpp:
867         (WebCore::CSSParser::parseAnimationShorthand):
868         (WebCore::CSSParser::parseTransitionShorthand):
869         * css/CSSPropertyLonghand.cpp:
870         (WebCore::initShorthandMap):
871         * dom/ExceptionCode.cpp:
872         (WebCore::getExceptionCodeDescription):
873         * editing/ApplyStyleCommand.cpp:
874         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
875         * editing/EditingStyle.cpp:
876         * editing/Editor.cpp:
877         (WebCore::triStateOfStyle):
878         * editing/EditorCommand.cpp:
879         (WebCore::createCommandMap):
880         * editing/MarkupAccumulator.cpp:
881         (WebCore::appendCharactersReplacingEntities):
882         * html/canvas/WebGLBuffer.cpp:
883         (WebCore::WebGLBuffer::getCachedMaxIndex):
884         (WebCore::WebGLBuffer::setCachedMaxIndex):
885         * loader/FTPDirectoryParser.cpp:
886         (WebCore::parseOneFTPLine):
887         * mathml/RenderMathMLOperator.cpp:
888         (WebCore::RenderMathMLOperator::updateFromElement):
889         * page/animation/AnimationBase.cpp:
890         (WebCore::addShorthandProperties):
891         * rendering/RenderTextControl.cpp:
892         (WebCore::RenderTextControl::hasValidAvgCharWidth):
893         * rendering/break_lines.cpp:
894         * svg/SVGTransformable.cpp:
895         (WebCore::parseAndSkipType):
896         * svg/SVGViewSpec.cpp:
897         (WebCore::SVGViewSpec::parseViewSpec):
898         * svg/SVGZoomAndPan.cpp:
899         (WebCore::SVGZoomAndPan::parseZoomAndPan):
900         * xml/XPathFunctions.cpp:
901         (WebCore::XPath::createFunctionMap):
902
903 2010-11-21  Mario Sanchez Prada  <msanchez@igalia.com>
904
905         Reviewed by Chris Fleizach.
906
907         [GTK] Implement ROLE_COMBO_BOX
908         https://bugs.webkit.org/show_bug.cgi?id=25678
909
910         Implement the remaining bits for combo boxes.
911
912         This patch finishes the implementation, from the point of view of
913         the Atk library, of those objects exposed to ATK as combo boxes,
914         and their related elements (menus and menu items). It therefore
915         implements the proper interfaces for each type of object related
916         to combo boxes (AtkSelection for the combo box, AtkText for every
917         menu item and AtkAction for the combo box, the menu and the menu
918         items), takes care of emitting the proper signals when focus or a
919         given a selection changes and adds a new unit test to check all
920         this new stuff.
921
922         Make possible to ask an AccessibleMenuListOption for a sensible
923         string representation, so far only available through the private
924         and MSAA related method nameForMSAA. Just moved the implementation
925         of that method to an overriden version of stringValue(), which is
926         platform independent, and called that from nameForMSAA().
927
928         * accessibility/AccessibilityMenuListOption.h:
929         * accessibility/AccessibilityMenuListOption.cpp:
930         (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
931         stringValue(), which holds from now on that used to be here.
932         (WebCore::AccessibilityMenuListOption::stringValue): New, override
933         of AccessibilityObject::stringValue() to return a proper string.
934
935         Emit the missing signals when a selection is made.
936
937         * accessibility/gtk/AXObjectCacheAtk.cpp:
938         (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
939         'focus' signals when a selection is made over the combo box.
940
941         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
942         (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
943         Atk states are added to the state set when needed.
944         (listObjectForSelection): New, returns the proper list object (the
945         one holding the list of available options as its children) for an
946         specific AtkObject implementing AtkSelection. This is needed
947         because sometimes the selectable options are not directly children
948         of the AtkSelection object (i.e. a combo box has a 'menu' object
949         as its only child of it, holding the list of options as children).
950         (optionFromList): Use listObjectForSelection() to get the actual
951         object holding the list of children as the available options.
952         (optionFromSelection): Add support for combo boxes.
953         (webkit_accessible_selection_add_selection): Ditto.
954         (webkit_accessible_selection_clear_selection): Ditto.
955         (webkit_accessible_selection_get_selection_count): Ditto.
956         (webkit_accessible_selection_is_child_selected): Ditto.
957         (webkit_accessible_selection_remove_selection): Ditto.
958         (webkit_accessible_text_get_text): Makes sure stringValue() is
959         considered to get the result substring when it was already
960         considered when checking the maximum text length for the object.
961         (getInterfaceMaskFromObject): Make sure the AtkSelection interface
962         is implemented for the combo boxes, that the AtkText is
963         implemented for the menu items and that the AtkAction interface is
964         now implemented for every object (WebCore will decide what to do).
965
966         Avoid a segfault crash when using this from unit tests.
967
968         * platform/gtk/PopupMenuGtk.cpp:
969         (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
970         before calling gdk_window_get_origin() over it.
971
972 2010-11-21  Patrick Gansterer  <paroga@webkit.org>
973
974         Reviewed by Csaba Osztrogonác.
975
976         Use WTF_ARRAY_LENGTH in WebCore/platform directory
977         https://bugs.webkit.org/show_bug.cgi?id=49881
978
979         * platform/KURL.cpp:
980         (WebCore::portAllowed):
981         * platform/KURLGoogle.cpp:
982         (WebCore::portAllowed):
983         * platform/MIMETypeRegistry.cpp:
984         (WebCore::initializeSupportedImageMIMETypes):
985         (WebCore::initializeSupportedJavaScriptMIMETypes):
986         (WebCore::initializeSupportedNonImageMimeTypes):
987         * platform/UUID.cpp:
988         (WebCore::createCanonicalUUIDString):
989         * platform/efl/RenderThemeEfl.cpp:
990         (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
991         * platform/graphics/GraphicsTypes.cpp:
992         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
993         (WebCore::FontCodepage::if):
994         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
995         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
996         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
997         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
998         (WebCore::disableComponentsOnce):
999         * platform/graphics/mac/SimpleFontDataATSUI.mm:
1000         (WebCore::SimpleFontData::checkShapesArabic):
1001         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
1002         (WebCore::SimpleFontData::getCFStringAttributes):
1003         * platform/graphics/win/GraphicsContextCGWin.cpp:
1004         (WebCore::GraphicsContext::drawLineForTextChecking):
1005         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1006         (WebCore::disableComponentsOnce):
1007         * platform/graphics/win/QTMovie.cpp:
1008         (QTMovie::load):
1009         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1010         (WebCore::SocketStreamHandle::createStreams):
1011         * platform/text/TextEncodingRegistry.cpp:
1012         (WebCore::pruneBlacklistedCodecs):
1013         * platform/text/transcoder/FontTranscoder.cpp:
1014         (WebCore::FontTranscoder::FontTranscoder):
1015
1016 2010-11-20  Andreas Kling  <kling@webkit.org>
1017
1018         Rubber-stamped by Antonio Gomes.
1019
1020         [Qt] Fix spelling error (isEmtpyValue -> isEmptyValue)
1021
1022         * platform/graphics/qt/FontPlatformDataQt.cpp:
1023         (WebCore::isEmptyValue):
1024         (WebCore::FontPlatformData::FontPlatformData):
1025
1026 2010-11-20  Andreas Kling  <kling@webkit.org>
1027
1028         Reviewed by Antonio Gomes.
1029
1030         [Qt] Limit the size of image preview "cursor" when dragging
1031         https://bugs.webkit.org/show_bug.cgi?id=49872
1032
1033         Respect DragController::maxDragImageSize() (currently 400x400.)
1034
1035         * platform/qt/DragImageQt.cpp:
1036         (WebCore::dragImageSize):
1037         (WebCore::scaleDragImage):
1038
1039 2010-11-20  Andreas Kling  <kling@webkit.org>
1040
1041         Reviewed by Antonio Gomes.
1042
1043         [Qt] Dragging a selection should use a rendering of the selection as "cursor" for the drag
1044         https://bugs.webkit.org/show_bug.cgi?id=49870
1045
1046         Implement Frame::dragImageForSelection() and the necessary DragImage helpers for Qt.
1047
1048         * page/qt/FrameQt.cpp:
1049         (WebCore::Frame::dragImageForSelection):
1050         * platform/qt/DragImageQt.cpp:
1051         (WebCore::deleteDragImage):
1052         (WebCore::createDragImageFromImage):
1053
1054 2010-11-20  Xan Lopez  <xlopez@igalia.com>
1055
1056         Reviewed by Martin Robinson.
1057
1058         [GTK] Memory managament for DOM GObject wrappers
1059         https://bugs.webkit.org/show_bug.cgi?id=40302
1060
1061         Initial attempt to have a kind of poor man's garbage collection
1062         for GObject DOM objects. We tie the object's lifecycle to their
1063         parent Frame and/or its document; that is, all objects will be
1064         collected when their parent frame is destroyed or when that frame
1065         transitions to a new document. Manual management (calling
1066         g_object_unref on them) is also allowed, and is required for
1067         objects that are not in the DOM tree (eg NodeLists).
1068
1069         * GNUmakefile.am:
1070         * bindings/gobject/DOMObjectCache.cpp: Added.
1071         * bindings/gobject/DOMObjectCache.h: Copied from WebCore/bindings/gobject/WebKitDOMBinding.h.
1072         * bindings/gobject/WebKitDOMBinding.cpp: Remove the old cache code.
1073         * bindings/gobject/WebKitDOMBinding.h: ditto.
1074         * bindings/scripts/CodeGeneratorGObject.pm: include the new DOMObjectCache header.
1075
1076 2010-11-20  Helder Correia  <helder@sencha.com>
1077
1078         Reviewed by Andreas Kling.
1079
1080         [Qt] Path stroke lacks blur shadow support
1081         https://bugs.webkit.org/show_bug.cgi?id=49490
1082
1083         Add blur shadow support to strokePath().
1084
1085         Test: fast/canvas/canvas-strokePath-shadow.html
1086
1087         * platform/graphics/qt/GraphicsContextQt.cpp:
1088         (WebCore::GraphicsContext::strokePath):
1089
1090 2010-11-20  Kwang Yul Seo  <skyul@company100.net>
1091
1092         Reviewed by David Kilzer.
1093
1094         [BREWMP] Replace HTONL, HTONS, NTOHL and NTOHS with byte order conversion functions from AEEstd.h
1095         https://bugs.webkit.org/show_bug.cgi?id=49518
1096
1097         HTONL, HTONS, NTOHL and NTOHS macros are prohibited in Mod1. Use byte order conversion functions provided by AEEstd.h.
1098
1099         * platform/graphics/WOFFFileFormat.cpp:
1100
1101 2010-11-20  Kwang Yul Seo  <skyul@company100.net>
1102
1103         Reviewed by David Kilzer.
1104
1105         [BREWMP] Use std_wstrlen instead of WSTRLEN
1106         https://bugs.webkit.org/show_bug.cgi?id=49516
1107
1108         WSTRLEN is prohibited in Mod1. Use std_wstrlen from AEEstd.h instead.
1109
1110         * platform/text/brew/StringBrew.cpp:
1111         (WTF::String::String):
1112
1113 2010-11-20  Patrick Gansterer  <paroga@webkit.org>
1114
1115         Reviewed by David Kilzer.
1116
1117         [WINCE] Implement textBreakLast and textBreakPrevious
1118         https://bugs.webkit.org/show_bug.cgi?id=49552
1119
1120         This allows us to use TextBoundaries.cpp and remove TextBoundariesWinCE.cpp.
1121         Also unify the different TextBreakIterator::first() implementations.
1122
1123         * platform/text/wince/TextBoundariesWinCE.cpp: Removed.
1124         * platform/text/wince/TextBreakIteratorWinCE.cpp:
1125         (WebCore::TextBreakIterator::first):
1126         (WebCore::TextBreakIterator::last):
1127         (WebCore::textBreakLast):
1128         (WebCore::textBreakPrevious):
1129
1130 2010-11-20  Andreas Kling  <kling@webkit.org>
1131
1132         Reviewed by David Kilzer.
1133
1134         Path: Remove unused method swap()
1135         https://bugs.webkit.org/show_bug.cgi?id=49853
1136
1137         * platform/graphics/Path.h:
1138
1139 2010-11-20  David Kilzer  <ddkilzer@apple.com>
1140
1141         <http://webkit.org/b/49867> MediaPlayerPrivateQTKit::setPreservesPitch(bool) leaks an NSDictionary
1142
1143         Reviewed by Dan Bernstein.
1144
1145         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1146         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): Use
1147         RetainPtr<NSDictionary> for movieAttributes.
1148
1149 2010-11-20  Patrick Gansterer  <paroga@webkit.org>
1150
1151         Reviewed by Andreas Kling.
1152
1153         Use String::fromUTF8 instead of UTF8Encoding().decode
1154         in the libxml XMLDocumentParser
1155         https://bugs.webkit.org/show_bug.cgi?id=45488
1156
1157         * dom/XMLDocumentParser.cpp:
1158         (WebCore::toString):
1159
1160 2010-11-20  Renata Hodovan  <reni@inf.u-szeged.hu>
1161
1162         Reviewed by Dirk Schulze.
1163
1164         FilterPrimitives should have a pointer to its Filter object.
1165         https://bugs.webkit.org/show_bug.cgi?id=49863
1166
1167         FilterPrimitives should have a renderer, and they need a member pointer to their Filter objects for Layout() calls.
1168         This patch adds this member to FilterEffect.
1169
1170         No new test is needed because these modifications are covered by all of SVG Filter tests.
1171
1172         * platform/graphics/filters/FEBlend.cpp:
1173         (WebCore::FEBlend::FEBlend):
1174         (WebCore::FEBlend::create):
1175         (WebCore::FEBlend::apply):
1176         * platform/graphics/filters/FEBlend.h:
1177         * platform/graphics/filters/FEColorMatrix.cpp:
1178         (WebCore::FEColorMatrix::FEColorMatrix):
1179         (WebCore::FEColorMatrix::create):
1180         (WebCore::FEColorMatrix::apply):
1181         * platform/graphics/filters/FEColorMatrix.h:
1182         * platform/graphics/filters/FEComponentTransfer.cpp:
1183         (WebCore::FEComponentTransfer::FEComponentTransfer):
1184         (WebCore::FEComponentTransfer::create):
1185         (WebCore::FEComponentTransfer::apply):
1186         * platform/graphics/filters/FEComponentTransfer.h:
1187         * platform/graphics/filters/FEComposite.cpp:
1188         (WebCore::FEComposite::FEComposite):
1189         (WebCore::FEComposite::create):
1190         (WebCore::FEComposite::determineAbsolutePaintRect):
1191         (WebCore::FEComposite::apply):
1192         * platform/graphics/filters/FEComposite.h:
1193         * platform/graphics/filters/FEConvolveMatrix.cpp:
1194         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
1195         (WebCore::FEConvolveMatrix::create):
1196         (WebCore::FEConvolveMatrix::apply):
1197         * platform/graphics/filters/FEConvolveMatrix.h:
1198         (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
1199         * platform/graphics/filters/FEDiffuseLighting.cpp:
1200         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
1201         (WebCore::FEDiffuseLighting::create):
1202         * platform/graphics/filters/FEDiffuseLighting.h:
1203         * platform/graphics/filters/FEDisplacementMap.cpp:
1204         (WebCore::FEDisplacementMap::FEDisplacementMap):
1205         (WebCore::FEDisplacementMap::create):
1206         (WebCore::FEDisplacementMap::apply):
1207         * platform/graphics/filters/FEDisplacementMap.h:
1208         (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
1209         * platform/graphics/filters/FEFlood.cpp:
1210         (WebCore::FEFlood::FEFlood):
1211         (WebCore::FEFlood::create):
1212         (WebCore::FEFlood::apply):
1213         * platform/graphics/filters/FEFlood.h:
1214         (WebCore::FEFlood::determineAbsolutePaintRect):
1215         * platform/graphics/filters/FEGaussianBlur.cpp:
1216         (WebCore::FEGaussianBlur::FEGaussianBlur):
1217         (WebCore::FEGaussianBlur::create):
1218         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
1219         (WebCore::FEGaussianBlur::apply):
1220         * platform/graphics/filters/FEGaussianBlur.h:
1221         * platform/graphics/filters/FELighting.cpp:
1222         (WebCore::FELighting::FELighting):
1223         (WebCore::FELighting::apply):
1224         * platform/graphics/filters/FELighting.h:
1225         (WebCore::FELighting::determineAbsolutePaintRect):
1226         * platform/graphics/filters/FEMerge.cpp:
1227         (WebCore::FEMerge::FEMerge):
1228         (WebCore::FEMerge::create):
1229         (WebCore::FEMerge::apply):
1230         * platform/graphics/filters/FEMerge.h:
1231         * platform/graphics/filters/FEMorphology.cpp:
1232         (WebCore::FEMorphology::FEMorphology):
1233         (WebCore::FEMorphology::create):
1234         (WebCore::FEMorphology::determineAbsolutePaintRect):
1235         (WebCore::FEMorphology::apply):
1236         * platform/graphics/filters/FEMorphology.h:
1237         * platform/graphics/filters/FEOffset.cpp:
1238         (WebCore::FEOffset::FEOffset):
1239         (WebCore::FEOffset::create):
1240         (WebCore::FEOffset::determineAbsolutePaintRect):
1241         (WebCore::FEOffset::apply):
1242         * platform/graphics/filters/FEOffset.h:
1243         * platform/graphics/filters/FESpecularLighting.cpp:
1244         (WebCore::FESpecularLighting::FESpecularLighting):
1245         (WebCore::FESpecularLighting::create):
1246         * platform/graphics/filters/FESpecularLighting.h:
1247         * platform/graphics/filters/FETile.cpp:
1248         (WebCore::FETile::FETile):
1249         (WebCore::FETile::create):
1250         (WebCore::FETile::apply):
1251         * platform/graphics/filters/FETile.h:
1252         (WebCore::FETile::determineAbsolutePaintRect):
1253         * platform/graphics/filters/FETurbulence.cpp:
1254         (WebCore::FETurbulence::FETurbulence):
1255         (WebCore::FETurbulence::create):
1256         (WebCore::FETurbulence::apply):
1257         * platform/graphics/filters/FETurbulence.h:
1258         (WebCore::FETurbulence::determineAbsolutePaintRect):
1259         * platform/graphics/filters/FilterEffect.cpp:
1260         (WebCore::FilterEffect::FilterEffect):
1261         (WebCore::FilterEffect::determineAbsolutePaintRect):
1262         (WebCore::FilterEffect::effectContext):
1263         * platform/graphics/filters/FilterEffect.h:
1264         (WebCore::FilterEffect::filter):
1265         * platform/graphics/filters/SourceAlpha.cpp:
1266         (WebCore::SourceAlpha::create):
1267         (WebCore::SourceAlpha::determineAbsolutePaintRect):
1268         (WebCore::SourceAlpha::apply):
1269         * platform/graphics/filters/SourceAlpha.h:
1270         (WebCore::SourceAlpha::SourceAlpha):
1271         * platform/graphics/filters/SourceGraphic.cpp:
1272         (WebCore::SourceGraphic::create):
1273         (WebCore::SourceGraphic::determineAbsolutePaintRect):
1274         (WebCore::SourceGraphic::apply):
1275         * platform/graphics/filters/SourceGraphic.h:
1276         (WebCore::SourceGraphic::SourceGraphic):
1277         * rendering/RenderSVGResourceFilter.cpp:
1278         (WebCore::RenderSVGResourceFilter::buildPrimitives):
1279         (WebCore::RenderSVGResourceFilter::applyResource):
1280         (WebCore::RenderSVGResourceFilter::postApplyResource):
1281         * rendering/RenderSVGResourceFilter.h:
1282         * rendering/SVGRenderTreeAsText.cpp:
1283         (WebCore::writeSVGResourceContainer):
1284         * svg/SVGFEBlendElement.cpp:
1285         (WebCore::SVGFEBlendElement::build):
1286         * svg/SVGFEBlendElement.h:
1287         * svg/SVGFEColorMatrixElement.cpp:
1288         (WebCore::SVGFEColorMatrixElement::build):
1289         * svg/SVGFEColorMatrixElement.h:
1290         * svg/SVGFEComponentTransferElement.cpp:
1291         (WebCore::SVGFEComponentTransferElement::build):
1292         * svg/SVGFEComponentTransferElement.h:
1293         * svg/SVGFECompositeElement.cpp:
1294         (WebCore::SVGFECompositeElement::build):
1295         * svg/SVGFECompositeElement.h:
1296         * svg/SVGFEConvolveMatrixElement.cpp:
1297         (WebCore::SVGFEConvolveMatrixElement::build):
1298         * svg/SVGFEConvolveMatrixElement.h:
1299         * svg/SVGFEDiffuseLightingElement.cpp:
1300         (WebCore::SVGFEDiffuseLightingElement::build):
1301         * svg/SVGFEDiffuseLightingElement.h:
1302         * svg/SVGFEDisplacementMapElement.cpp:
1303         (WebCore::SVGFEDisplacementMapElement::build):
1304         * svg/SVGFEDisplacementMapElement.h:
1305         * svg/SVGFEFloodElement.cpp:
1306         (WebCore::SVGFEFloodElement::build):
1307         * svg/SVGFEFloodElement.h:
1308         * svg/SVGFEGaussianBlurElement.cpp:
1309         (WebCore::SVGFEGaussianBlurElement::build):
1310         * svg/SVGFEGaussianBlurElement.h:
1311         * svg/SVGFEImageElement.cpp:
1312         (WebCore::SVGFEImageElement::build):
1313         * svg/SVGFEImageElement.h:
1314         * svg/SVGFEMergeElement.cpp:
1315         (WebCore::SVGFEMergeElement::build):
1316         * svg/SVGFEMergeElement.h:
1317         * svg/SVGFEMorphologyElement.cpp:
1318         (WebCore::SVGFEMorphologyElement::build):
1319         * svg/SVGFEMorphologyElement.h:
1320         * svg/SVGFEOffsetElement.cpp:
1321         (WebCore::SVGFEOffsetElement::build):
1322         * svg/SVGFEOffsetElement.h:
1323         * svg/SVGFESpecularLightingElement.cpp:
1324         (WebCore::SVGFESpecularLightingElement::build):
1325         * svg/SVGFESpecularLightingElement.h:
1326         * svg/SVGFETileElement.cpp:
1327         (WebCore::SVGFETileElement::build):
1328         * svg/SVGFETileElement.h:
1329         * svg/SVGFETurbulenceElement.cpp:
1330         (WebCore::SVGFETurbulenceElement::build):
1331         * svg/SVGFETurbulenceElement.h:
1332         * svg/SVGFilterPrimitiveStandardAttributes.h:
1333         * svg/graphics/filters/SVGFEImage.cpp:
1334         (WebCore::FEImage::FEImage):
1335         (WebCore::FEImage::create):
1336         (WebCore::FEImage::determineAbsolutePaintRect):
1337         (WebCore::FEImage::apply):
1338         * svg/graphics/filters/SVGFEImage.h:
1339         * svg/graphics/filters/SVGFilterBuilder.cpp:
1340         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
1341         * svg/graphics/filters/SVGFilterBuilder.h:
1342         (WebCore::SVGFilterBuilder::create):
1343
1344 2010-11-20  Helder Correia  <helder@sencha.com>
1345
1346         Reviewed by Andreas Kling.
1347
1348         [Qt] GraphicsContext::strokeArc() is not necessary any more
1349         https://bugs.webkit.org/show_bug.cgi?id=49859
1350
1351         Remove strokeArc() from the Qt port.
1352
1353         No test is needed.
1354
1355         * platform/graphics/qt/GraphicsContextQt.cpp:
1356
1357 2010-11-20  Helder Correia  <helder@sencha.com>
1358
1359         Reviewed by Andreas Kling.
1360
1361         [Qt] Path fill lacks blur shadow support
1362         https://bugs.webkit.org/show_bug.cgi?id=49491
1363
1364         Add blur shadow support to fillPath().
1365
1366         Test: fast/canvas/canvas-fillPath-shadow.html
1367
1368         * platform/graphics/qt/GraphicsContextQt.cpp:
1369         (WebCore::GraphicsContext::fillPath):
1370
1371 2010-11-19  W. James MacLean  <wjmaclean@chromium.org>
1372
1373         Reviewed by James Robinson.
1374
1375         Scaled Resized images are blurred when sent to Skia
1376         https://bugs.webkit.org/show_bug.cgi?id=42370
1377
1378         This patch modifies ImageSkia.cpp to fix the calculation of resampled
1379         bitmap sizes so as to include the transform matrix of the canvas.
1380         Includes a new test to catch a regression that occured the first time
1381         this patch was applied.
1382
1383         Tests: svg/custom/image-rescale-scroll.html
1384                svg/custom/image-rescale.svg
1385
1386         * platform/graphics/skia/ImageSkia.cpp:
1387         (WebCore::computeResamplingMode):
1388         (WebCore::drawResampledBitmap):
1389
1390 2010-11-19  Jia Pu  <jpu@apple.com>
1391
1392         Reviewed by Dan Bernstein.
1393
1394         Regression: contraction is considered misspelling.
1395         https://bugs.webkit.org/show_bug.cgi?id=49423
1396         <rdar://problem/8654206>
1397
1398         Test: platform/mac/editing/spelling/autocorrection-contraction.html
1399               manual-tests/autocorrection/autocorrection-contraction.html
1400
1401         * editing/Editor.cpp:
1402         (WebCore::isAmbiguousBoundaryCharacter): Moved function to the top of the file so that it can
1403           be used by all other functions in the file.
1404         (WebCore::Editor::markMisspellingsAfterTypingToWord): Renamed markMisspellingsAfterTypingToPosition()
1405           to improve readability, and to pass in additional argument. Before we apply pending
1406           autocorrection, we check to see if currently typed character makes current word a partial
1407           contraction, for instance "wouldn'". If that's the case, we would not apply the pending
1408           correction.
1409         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Make sure currently typed word
1410           is not a partial contraction, such as "wouldn'", before mark it as misspelled. Also update
1411           the location of ambiguous boundary if other replacements have changed the length of the
1412           paragraph.
1413         * editing/Editor.h:
1414         * editing/TypingCommand.cpp:
1415         (WebCore::TypingCommand::markMisspellingsAfterTyping): Adopt renamed function.
1416         * manual-tests/autocorrection/autocorrection-contraction.html: Added.
1417
1418 2010-11-19  Andreas Kling  <kling@webkit.org>
1419
1420         Reviewed by Antonio Gomes.
1421
1422         ScrollView: Make delegatesScrolling() and avoidScrollbarCreation() const.
1423         https://bugs.webkit.org/show_bug.cgi?id=49854
1424
1425         * page/FrameView.cpp:
1426         (WebCore::FrameView::delegatesScrolling):
1427         (WebCore::FrameView::avoidScrollbarCreation):
1428         * page/FrameView.h:
1429         * platform/ScrollView.h:
1430         (WebCore::ScrollView::delegatesScrolling):
1431         (WebCore::ScrollView::avoidScrollbarCreation):
1432
1433 2010-11-19  Pavel Podivilov  <podivilov@chromium.org>
1434
1435         Reviewed by Yury Semikhatsky.
1436
1437         Web Inspector: scripts panel should be shown before execution line is scrolled into view.
1438         https://bugs.webkit.org/show_bug.cgi?id=49792
1439
1440         * inspector/front-end/ScriptsPanel.js:
1441         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
1442
1443 2010-11-19  James Simonsen  <simonjam@chromium.org>
1444
1445         Reviewed by Tony Chang.
1446
1447         [chromium] Fix whitespace character handling in complex text on linux
1448         https://bugs.webkit.org/show_bug.cgi?id=49771
1449
1450         * platform/graphics/SimpleFontData.h:
1451         (WebCore::SimpleFontData::isZeroWidthSpaceGlyph): Added.
1452         (WebCore::SimpleFontData::boundsForGlyph): Use isZeroWidthSpaceGlyph().
1453         (WebCore::SimpleFontData::widthForGlyph): Use isZeroWidthSpaceGlyph().
1454         * platform/graphics/chromium/FontLinux.cpp:
1455         (WebCore::TextRunWalker::nextScriptRun): Cache currently used font data.
1456         (WebCore::TextRunWalker::setGlyphXPositions): Skip zero width spaces.
1457         (WebCore::TextRunWalker::normalizeSpacesAndMirrorChars): Normalize zero width spaces.
1458         (WebCore::TextRunWalker::getNormalizedTextRun):
1459
1460 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
1461
1462         Reviewed by Adam Roben.
1463
1464         Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
1465         https://bugs.webkit.org/show_bug.cgi?id=49819
1466
1467         * WebCore.vcproj/QTMovieWin.vcproj:
1468         * WebCore.vcproj/WebCore.vcproj:
1469         * WebCore.vcproj/WebCoreGenerated.vcproj:
1470
1471 2010-11-19  Brady Eidson  <beidson@apple.com>
1472
1473         Reviewed by Darin Adler.
1474
1475         <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
1476         Add WebKit2 API relevant to customization of context menus
1477
1478         * WebCore.exp.in:
1479
1480 2010-11-19  Michael Saboff  <msaboff@apple.com>
1481
1482         Reviewed by Sam Weinig.
1483
1484         Removed import of DOMSVGAnimatedPathData.h to fix build.
1485
1486         * bindings/objc/DOMSVG.h:
1487
1488 2010-11-19  Avi Drissman  <avi@google.com>
1489
1490         Reviewed by Antonio Gomes.
1491
1492         Complete support for Unix editing mode
1493         https://bugs.webkit.org/show_bug.cgi?id=49757
1494
1495         * page/Settings.cpp:
1496         (WebCore::Settings::Settings):
1497         * page/Settings.h:
1498
1499 2010-11-19  Nate Chapin  <japhet@chromium.org>
1500
1501         Reviewed by Alexey Proskuryakov.
1502
1503         Remove requests from ResourceLoadScheduler's queue before
1504         actually starting them.  We're holding a RefPtr anyway, and
1505         the load might be terminated and removed from the queue synchronously.
1506         https://bugs.webkit.org/show_bug.cgi?id=49693
1507
1508         Test: fast/loader/subresource-willSendRequest-null.html
1509
1510         * loader/ResourceLoadScheduler.cpp:
1511         (WebCore::ResourceLoadScheduler::servePendingRequests):
1512
1513 2010-11-18  Zhenyao Mo  <zmo@google.com>
1514
1515         Reviewed by Kenneth Russell.
1516
1517         Make sure is* return false if the name is never bound
1518         https://bugs.webkit.org/show_bug.cgi?id=49767
1519
1520         * html/canvas/WebGLBuffer.h: Add function to check whether the buffer has been bound before.
1521         (WebCore::WebGLBuffer::hasEverBeenBound):
1522         * html/canvas/WebGLFramebuffer.cpp: Ditto.
1523         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
1524         * html/canvas/WebGLFramebuffer.h: Ditto.
1525         (WebCore::WebGLFramebuffer::hasEverBeenBound):
1526         (WebCore::WebGLFramebuffer::setBound):
1527         * html/canvas/WebGLRenderbuffer.cpp: Ditto.
1528         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
1529         * html/canvas/WebGLRenderbuffer.h: Ditto.
1530         (WebCore::WebGLRenderbuffer::hasEverBeenBound):
1531         (WebCore::WebGLRenderbuffer::setBound):
1532         * html/canvas/WebGLRenderingContext.cpp:
1533         (WebCore::WebGLRenderingContext::bindFramebuffer): Set bound status to true.
1534         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1535         (WebCore::WebGLRenderingContext::isBuffer): Return false if it's never bound.
1536         (WebCore::WebGLRenderingContext::isFramebuffer): Ditto.
1537         (WebCore::WebGLRenderingContext::isRenderbuffer): Ditto.
1538         (WebCore::WebGLRenderingContext::isTexture): Ditto.
1539         * html/canvas/WebGLTexture.h: Add function to check whether the texture has been bound before.
1540         (WebCore::WebGLTexture::hasEverBeenBound):
1541
1542 2010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
1543
1544         Reviewed by Kenneth Rohde Christiansen.
1545
1546         [Qt] mask-box-image renders wrong in certain conditions
1547         https://bugs.webkit.org/show_bug.cgi?id=43476
1548
1549         Qt does not follow the same convention as the other port
1550         when rendering a pixmap with null width of height. When one
1551         of those dimension is null, we should ignore the painting call
1552         to behave like the other ports.
1553
1554         * platform/graphics/qt/ImageQt.cpp:
1555         (WebCore::Image::drawPattern):
1556
1557 2010-11-18  Zhenyao Mo  <zmo@google.com>
1558
1559         Reviewed by Kenneth Russell.
1560
1561         GraphicsContext3D::reshape is clearing using current clear color instead of transparent
1562         https://bugs.webkit.org/show_bug.cgi?id=44064
1563
1564         * platform/graphics/gpu/DrawingBuffer.cpp:
1565         (WebCore::DrawingBuffer::reset): Use 0 as clear values.
1566         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1567         (WebCore::GraphicsContext3D::reshape): Ditto.
1568
1569 2010-11-19  Chris Rogers  <crogers@google.com>
1570
1571         Reviewed by Darin Adler.
1572
1573         AudioContext should not include "HTMLNames.h"
1574         https://bugs.webkit.org/show_bug.cgi?id=49680
1575
1576         No new tests since audio API is not yet implemented.
1577
1578         * webaudio/AudioContext.cpp:
1579
1580 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
1581
1582         Reviewed by Darin Adler.
1583
1584         Normalize Cairo/CFLite project/solution configuration names
1585         https://bugs.webkit.org/show_bug.cgi?id=49818
1586
1587         * WebCore.vcproj/WebCore.vcproj:
1588         * WebCore.vcproj/WebCoreGenerated.vcproj:
1589
1590 2010-11-19  Daniel Bates  <dbates@rim.com>
1591
1592         Reviewed by Antonio Gomes.
1593
1594         Replace null checks of newParent in Frame::transferChildFrameToNewDocument() with ASSERT
1595         https://bugs.webkit.org/show_bug.cgi?id=49489
1596
1597         Substitute ASSERT(newParent) for null-checks for newParent in
1598         Frame::transferChildFrameToNewDocument() since newParent is
1599         never null.
1600
1601         When Frame::transferChildFrameToNewDocument() is called the child
1602         frame's owner element has already been transferred to the new
1603         document D and D is attached (i.e. has a frame).
1604
1605         * page/Frame.cpp:
1606         (WebCore::Frame::transferChildFrameToNewDocument):
1607
1608 2010-11-19  Anders Carlsson  <andersca@apple.com>
1609
1610         Reviewed by Sam Weinig.
1611
1612         Add SandboxExtension abstraction and use it for the injected bundle extension
1613         https://bugs.webkit.org/show_bug.cgi?id=49817
1614
1615         Export fileSystemRepresentation symbol needed by WebKit2.
1616
1617         * WebCore.exp.in:
1618
1619 2010-11-19  Steve Falkenburg  <sfalken@apple.com>
1620
1621         Windows build fix. Remove leftover Debug_Internal use.
1622
1623         * WebCore.vcproj/WebCore.vcproj:
1624
1625 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
1626
1627         Reviewed by Adam Roben.
1628
1629         Windows vcproj configuration names should be normalized across projects
1630         https://bugs.webkit.org/show_bug.cgi?id=49776
1631
1632         * WebCore.vcproj/WebCore.sln:
1633         * WebCore.vcproj/WebCore.submit.sln:
1634         * WebCore.vcproj/WebCoreGenerated.vcproj:
1635         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added.
1636         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added.
1637
1638 2010-11-19  James Simonsen  <simonjam@chromium.org>
1639
1640         Reviewed by Darin Fisher.
1641
1642         [Web Timing] Add unloadEventStart
1643         https://bugs.webkit.org/show_bug.cgi?id=49101
1644
1645         * loader/DocumentLoadTiming.h:
1646         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
1647         * loader/FrameLoader.cpp:
1648         (WebCore::FrameLoader::stopLoading): Use dispatchTimedEvent().
1649         * page/DOMWindow.cpp:
1650         (WebCore::DOMWindow::dispatchLoadEvent): Use dispatchTimedEvent().
1651         (WebCore::DOMWindow::dispatchTimedEvent): Added.
1652         * page/DOMWindow.h:
1653         * page/Timing.cpp:
1654         (WebCore::Timing::unloadEventStart):
1655         * page/Timing.h:
1656         * page/Timing.idl:
1657
1658 2010-11-19  Martin Robinson  <mrobinson@igalia.com>
1659
1660         Reviewed by Daniel Bates.
1661
1662         [GTK] fast/text/international tests are flaky on the bots
1663         https://bugs.webkit.org/show_bug.cgi?id=49781
1664
1665         Beef up the == operator overload for Freetype FontPlatformData. Before
1666         if two FontPlatformDatas had hash values which fell into the same bucket
1667         and were similar enough, they would be evaluated as being equal, leading
1668         to failures.
1669
1670         No new tests for this change. It's very hard to test, because it depends
1671         on the memory address of new allocations. Hopefully flakiness on the bots
1672         will go away after patch.
1673
1674         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1675         (WebCore::FontPlatformData::operator==): Beef up the == operator overload.
1676
1677 2010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
1678
1679         Reviewed by Kenneth Rohde Christiansen.
1680
1681         [Qt] mask-box-image renders wrong in certain conditions
1682         https://bugs.webkit.org/show_bug.cgi?id=43476
1683
1684         When rendering a pixmap with a dest rect having a null dimension,
1685         Qt uses the dimension of the Pixmap. The other ports do not render
1686         anything by convention.
1687
1688         This patch change BitmapImage to follow the convention of other ports and do not
1689         paint anything.
1690
1691         * platform/graphics/qt/ImageQt.cpp:
1692         (WebCore::BitmapImage::draw):
1693
1694 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1695
1696         Reviewed by Dirk Schulze.
1697
1698         Don't call invalidateSVGAttributes() from the setFooBaseValue() methods
1699         https://bugs.webkit.org/show_bug.cgi?id=49807
1700
1701         Covered by existing tests.
1702
1703         * svg/SVGComponentTransferFunctionElement.cpp:
1704         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Use setFooBaseValue(newList) instead of fooBaseValue() = newList;
1705         * svg/SVGFEColorMatrixElement.cpp:
1706         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Ditto.
1707         * svg/SVGFEConvolveMatrixElement.cpp:
1708         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Ditto.
1709         * svg/SVGGradientElement.cpp:
1710         (WebCore::SVGGradientElement::parseMappedAttribute): Ditto.
1711         * svg/SVGPatternElement.cpp:
1712         (WebCore::SVGPatternElement::parseMappedAttribute): Ditto.
1713         * svg/SVGStyledTransformableElement.cpp:
1714         (WebCore::SVGStyledTransformableElement::parseMappedAttribute): Ditto.
1715         * svg/SVGTextElement.cpp:
1716         (WebCore::SVGTextElement::parseMappedAttribute): Ditto.
1717         * svg/SVGTextPositioningElement.cpp:
1718         (WebCore::SVGTextPositioningElement::parseMappedAttribute): Ditto.
1719         * svg/properties/SVGAnimatedPropertyMacros.h: Don't call invalidateSVGAttributes() in setFooBaseValue().
1720
1721 2010-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1722
1723         Unreviewed, rolling out r72399.
1724         http://trac.webkit.org/changeset/72399
1725         https://bugs.webkit.org/show_bug.cgi?id=49805
1726
1727         Broke Chromium build (Requested by antonm_ on #webkit).
1728
1729         * page/chromium/ChromeClientChromium.h:
1730         * platform/chromium/PopupMenuChromium.cpp:
1731         (WebCore::PopupContainer::showPopup):
1732         (WebCore::PopupContainer::showExternal):
1733         (WebCore::PopupListBox::layout):
1734         (WebCore::PopupMenuChromium::show):
1735         * platform/chromium/PopupMenuChromium.h:
1736
1737 2010-11-19  Yael Aharon  <yael.aharon@nokia.com>
1738
1739         Reviewed by Antonio Gomes.
1740
1741         Focus ring in image maps does not take zooming into account
1742         https://bugs.webkit.org/show_bug.cgi?id=49625
1743
1744         Take pageZoomFactor into account when calculating the path of the focus ring.
1745
1746         Test: fast/images/imagemap-focus-ring-zoom.html
1747
1748         * html/HTMLAreaElement.cpp:
1749         (WebCore::HTMLAreaElement::getPath):
1750
1751 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1752
1753         Reviewed by Dirk Schulze.
1754
1755         SVGTransformList::consolidate() fails on empty lists
1756         https://bugs.webkit.org/show_bug.cgi?id=49619
1757
1758         Return null in consolidate() when the list is empty, according to SVG 1.1.
1759
1760         Test: svg/dom/SVGTransformList-empty-list-consolidation.html
1761
1762         * svg/properties/SVGTransformListPropertyTearOff.h:
1763         (WebCore::SVGTransformListPropertyTearOff::consolidate):
1764
1765 2010-11-19  Jay Civelli  <jcivelli@chromium.org>
1766
1767         Reviewed by David Levin.
1768
1769         [chromium] Removing the now unused code to show popup externally on Mac.
1770         https://bugs.webkit.org/show_bug.cgi?id=49747
1771
1772         * page/chromium/ChromeClientChromium.h:
1773         * platform/chromium/PopupMenuChromium.cpp:
1774         (WebCore::PopupContainer::showPopup):
1775         (WebCore::PopupListBox::layout):
1776         (WebCore::PopupMenuChromium::show):
1777         * platform/chromium/PopupMenuChromium.h:
1778
1779 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
1780
1781         Reviewed by Yury Semikhatsky.
1782
1783         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
1784         InspectorBackendDispatcher is a generated file.
1785         Its content is not optimal and loc may be reduced by a quarter.
1786         In each generated function we have a code for getting 'in' values from
1787         the arguments properties object. I've extracted this code into separate getters.
1788         The side effect is better readability of the generated code.
1789
1790         https://bugs.webkit.org/show_bug.cgi?id=49729
1791
1792         * inspector/CodeGeneratorInspector.pm:
1793
1794 2010-11-19  John Knottenbelt  <jknotten@chromium.org>
1795
1796         Reviewed by Jeremy Orlow.
1797
1798         Reentrant Geolocation tests crash with an assertion.
1799         https://bugs.webkit.org/show_bug.cgi?id=39908
1800
1801         PositionErrors should not be sent to Geolocation watches or one shots
1802         that are due to receive a valid cached position.
1803
1804         Test: fast/dom/Geolocation/maximum-age.html
1805
1806         * page/Geolocation.cpp:
1807         (WebCore::Geolocation::sendError):
1808         (WebCore::Geolocation::copyCachedNotifiers):
1809         (WebCore::Geolocation::handleError):
1810         * page/Geolocation.h:
1811
1812 2010-11-19  Sam Magnuson  <smagnuso@gmail.com>
1813
1814         Reviewed by Laszlo Gombos.
1815
1816         [Qt] Compile with QT_NO_CLIPBOARD
1817         https://bugs.webkit.org/show_bug.cgi?id=49742
1818
1819         * platform/qt/PasteboardQt.cpp:
1820         (WebCore::Pasteboard::canSmartReplace):
1821
1822 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1823
1824         Reviewed by Andreas Kling.
1825
1826         Remove more unused V8/SVG code
1827         https://bugs.webkit.org/show_bug.cgi?id=49800
1828
1829         Remove DOMSVGObjectWithContextMap and all usages.
1830
1831         * bindings/scripts/CodeGeneratorV8.pm:
1832         * bindings/v8/DOMDataStore.cpp:
1833         (WebCore::DOMDataStore::DOMDataStore):
1834         (WebCore::DOMDataStore::getDOMWrapperMap):
1835         * bindings/v8/DOMDataStore.h:
1836         (WebCore::DOMDataStore::domSvgElementInstanceMap):
1837         * bindings/v8/ScopedDOMDataStore.cpp:
1838         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
1839         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
1840         * bindings/v8/StaticDOMDataStore.cpp:
1841         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
1842         * bindings/v8/StaticDOMDataStore.h:
1843         * bindings/v8/V8DOMMap.cpp:
1844         (WebCore::removeAllDOMObjectsInCurrentThread):
1845         * bindings/v8/V8DOMMap.h:
1846
1847 2010-11-19  Zoltan Herczeg  <zherczeg@webkit.org>
1848
1849         Reviewed by Nikolas Zimmermann.
1850
1851         createImageBuffer fail should be handled in the same way as other fails
1852         https://bugs.webkit.org/show_bug.cgi?id=49799
1853
1854         When createImageBuffer fails (i.e the image width or height is less than
1855         0.5, which is rounded to 0) it just returs with false. Since the m_filter
1856         hash map is not updated in this case, the filter image is not drawn.
1857
1858         Test: svg/filters/filter-rounding-issues.svg
1859
1860         * rendering/RenderSVGResourceFilter.cpp:
1861         (WebCore::RenderSVGResourceFilter::applyResource):
1862
1863 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1864
1865         Reviewed by Andreas Kling.
1866
1867         Remove old style SVG DOM JS bindings and DeprecatedSVGAnimated* files
1868         https://bugs.webkit.org/show_bug.cgi?id=49796
1869
1870         Just remove the old style SVG DOM JS bindings, now that everything has been converted to the new concept.
1871
1872         * GNUmakefile.am: Remove SVGList/SVGListTraits/JSSVGPODListCustom/JSSVGPODTypeWrapper/JSSVGContextCache and V8SVGPODTypeWrapper files.
1873         * WebCore.gypi: Ditto.
1874         * WebCore.pro: Ditto.
1875         * WebCore.vcproj/WebCore.vcproj: Ditto.
1876         * WebCore.xcodeproj/project.pbxproj: Ditto.
1877         * bindings/js/JSSVGContextCache.h: Removed.
1878         * bindings/js/JSSVGPODListCustom.h: Removed.
1879         * bindings/js/JSSVGPODTypeWrapper.h: Removed.
1880         * bindings/v8/V8Proxy.cpp: Remove SVG specific context cache code, which is no longer needed. 
1881         * bindings/v8/V8Proxy.h: Ditto.
1882         * bindings/v8/V8SVGPODTypeWrapper.h: Removed.
1883         * svg/DeprecatedSVGAnimatedProperty.h: Removed.
1884         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Removed.
1885         * svg/DeprecatedSVGAnimatedTemplate.h: Removed.
1886         * svg/SVGElement.h: Remove DeprecatedSVGAnimated* include, which pulled in SVGNames.h for every file.
1887         * svg/SVGList.h: Removed.
1888         * svg/SVGListTraits.h: Removed.
1889
1890 2010-11-19  Alexander Pavlov  <apavlov@chromium.org>
1891
1892         Reviewed by Pavel Feldman.
1893
1894         Web Inspector: [REGRESSION] Crash on opening WebInspector for a page with CSS containing @media with nested rules
1895         https://bugs.webkit.org/show_bug.cgi?id=49731
1896
1897         Temporarily disable building of styles for nested rules.
1898
1899         * inspector/InspectorStyleSheet.cpp:
1900         (WebCore::InspectorStyleSheet::buildObjectForRule):
1901         (WebCore::InspectorStyleSheet::buildObjectForStyle):
1902         (WebCore::InspectorStyleSheet::ensureParsedDataReady):
1903         (WebCore::InspectorStyleSheet::ensureSourceData):
1904         * inspector/InspectorStyleSheet.h:
1905         * inspector/front-end/StylesSidebarPane.js:
1906         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
1907         (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
1908         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
1909
1910 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1911
1912         Not reviewed. Fix Qt build.
1913
1914         * WebCore.pro: Move SVGPathSegListPropertyTearOff.cpp from HEADERS to SOURCES list. This got lost, when reapplying the patch from the bug - I only fixed it locally before landing the first time.
1915
1916 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1917
1918         Reviewed by Dirk Schulze.
1919
1920         Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
1921         https://bugs.webkit.org/show_bug.cgi?id=49580
1922
1923         SVGPathElement.cloneNode loses generated pathSegList
1924         https://bugs.webkit.org/show_bug.cgi?id=43388
1925
1926         SVG Path elements are not correctly updated through pathSegList manipulation on relative values
1927         https://bugs.webkit.org/show_bug.cgi?id=30219
1928
1929         Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
1930         https://bugs.webkit.org/show_bug.cgi?id=19741
1931
1932         SVGPathElement should only build SVGPathSeg* list on demand
1933         https://bugs.webkit.org/show_bug.cgi?id=10827
1934
1935         Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
1936                svg/dom/SVGPathSegList-appendItem.xhtml
1937                svg/dom/SVGPathSegList-clear-and-initialize.xhtml
1938                svg/dom/SVGPathSegList-cloning.html
1939                svg/dom/SVGPathSegList-insertItemBefore.xhtml
1940                svg/dom/SVGPathSegList-removeItem.xhtml
1941                svg/dom/SVGPathSegList-replaceItem.xhtml
1942                svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
1943                svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
1944                svg/dom/SVGPathSegList-segment-modification.svg
1945
1946         Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
1947         Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
1948         and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
1949         themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
1950         and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
1951
1952         Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
1953         to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
1954         if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
1955         the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
1956         Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
1957         String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
1958
1959         As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
1960         concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
1961
1962         * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
1963         * CMakeLists.txt: Ditto.
1964         * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
1965         * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
1966         * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
1967         * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
1968         * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
1969         * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
1970         * WebCore.vcproj/WebCore.vcproj: Ditto.
1971         * WebCore.xcodeproj/project.pbxproj: Ditto.
1972         * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
1973         * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
1974         (WebCore::setDOMException):
1975         * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
1976         * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
1977         (WebCore::toJS):
1978         * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
1979         * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
1980         * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
1981         * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
1982         * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
1983         * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
1984         (WebCore::operator<<):
1985         * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
1986         * svg/SVGAnimatedPathData.cpp: Removed.
1987         * svg/SVGAnimatedPathData.h: Removed.
1988         * svg/SVGAnimatedPathData.idl: Removed.
1989         * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
1990         (WebCore::SVGPathElement::SVGPathElement):
1991         (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
1992         (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
1993         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
1994         (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
1995         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
1996         (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
1997         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
1998         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
1999         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
2000         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
2001         (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
2002         (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
2003         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
2004         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
2005         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
2006         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
2007         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
2008         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
2009         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
2010         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
2011         (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
2012         (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
2013         (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
2014         (WebCore::SVGPathElement::synchronizeD): Added.
2015         (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
2016         (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
2017         (WebCore::SVGPathElement::animatedPathSegList): Ditto.
2018         (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
2019         (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
2020         (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
2021         * svg/SVGPathElement.h: Add new accessors...
2022         (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
2023         (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
2024         * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
2025         * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
2026         (WebCore::globalSVGPathSegListBuilder):
2027         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
2028         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
2029         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
2030         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
2031         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
2032         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
2033         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
2034         * svg/SVGPathParserFactory.h:
2035         * svg/SVGPathSeg.cpp: Removed.
2036         * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
2037         (WebCore::SVGPathSeg::SVGPathSeg):
2038         * svg/SVGPathSeg.idl: Reindented.
2039         * svg/SVGPathSegArc.cpp: Removed.
2040         * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
2041         * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
2042         * svg/SVGPathSegArcRel.idl: Ditto.
2043         * svg/SVGPathSegClosePath.cpp: Removed.
2044         * svg/SVGPathSegClosePath.h:
2045         * svg/SVGPathSegCurvetoCubic.cpp: Removed.
2046         * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
2047         * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
2048         * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
2049         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
2050         * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
2051         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
2052         * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
2053         * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
2054         * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
2055         * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
2056         * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
2057         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
2058         * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
2059         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
2060         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
2061         * svg/SVGPathSegLineto.cpp: Removed.
2062         * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
2063         * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
2064         * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
2065         * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
2066         * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
2067         * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
2068         * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
2069         * svg/SVGPathSegLinetoVertical.cpp: Removed.
2070         * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
2071         * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
2072         * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
2073         * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
2074         (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
2075         (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
2076         * svg/SVGPathSegList.h:
2077         (WebCore::SVGPathSegList::SVGPathSegList):
2078         * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
2079         * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
2080         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
2081         (WebCore::SVGPathSegListBuilder::moveTo):
2082         (WebCore::SVGPathSegListBuilder::lineTo):
2083         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
2084         (WebCore::SVGPathSegListBuilder::lineToVertical):
2085         (WebCore::SVGPathSegListBuilder::curveToCubic):
2086         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
2087         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
2088         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
2089         (WebCore::SVGPathSegListBuilder::arcTo):
2090         (WebCore::SVGPathSegListBuilder::closePath):
2091         * svg/SVGPathSegListBuilder.h: Ditto.
2092         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
2093         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
2094         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
2095         (WebCore::SVGPathSegListBuilder::cleanup):
2096         * svg/SVGPathSegListSource.cpp: Ditto.
2097         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
2098         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
2099         (WebCore::SVGPathSegListSource::nextCommand):
2100         (WebCore::SVGPathSegListSource::parseMoveToSegment):
2101         (WebCore::SVGPathSegListSource::parseLineToSegment):
2102         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
2103         * svg/SVGPathSegListSource.h: Ditto.
2104         (WebCore::SVGPathSegListSource::create):
2105         * svg/SVGPathSegMoveto.cpp: Removed.
2106         * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
2107         * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
2108         * svg/SVGPathSegMovetoRel.idl: Ditto.
2109         * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
2110         (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
2111         (WebCore::SVGPathSegWithContext::animatedProperty):
2112         (WebCore::SVGPathSegWithContext::setContextAndRole):
2113         (WebCore::SVGPathSegWithContext::commitChange):
2114         (WebCore::SVGPathSegSingleCoordinate::x):
2115         (WebCore::SVGPathSegSingleCoordinate::setX):
2116         (WebCore::SVGPathSegSingleCoordinate::y):
2117         (WebCore::SVGPathSegSingleCoordinate::setY):
2118         (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
2119         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
2120         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
2121         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
2122         (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
2123         (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
2124         (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
2125         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
2126         (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
2127         (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
2128         (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
2129         (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
2130         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
2131         * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
2132         (WebCore::SVGPathSegListPropertyTearOff::create):
2133         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
2134         (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
2135         (WebCore::SVGPathSegListPropertyTearOff::initialize):
2136         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
2137         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
2138         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
2139         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
2140         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
2141         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
2142
2143 2010-11-19  Pavel Feldman  <pfeldman@chromium.org>
2144
2145         Not reviewed: one line follow up to r72376.
2146
2147         * inspector/InspectorResourceAgent.cpp:
2148         (WebCore::buildObjectForResourceResponse):
2149
2150 2010-11-19  Sergio Villar Senin  <svillar@igalia.com>
2151
2152         Reviewed by Xan Lopez.
2153
2154         [Gtk] "CRITICAL **: msg_got_headers_cb: assertion `entry' failed" when using HTTP cache
2155         https://bugs.webkit.org/show_bug.cgi?id=49666
2156
2157         WebKit resource load cache does validate its own resources by
2158         issuing conditional requests to the server. The HTTP cache was
2159         making the assumption that any possible conditional request was
2160         always generated by itself.
2161
2162         * platform/network/soup/cache/webkit/soup-cache.c:
2163         (webkit_soup_cache_entry_remove): added an assertion
2164         (msg_got_headers_cb):
2165
2166 2010-11-19  Dai Mikurube  <dmikurube@google.com>
2167
2168         Reviewed by Kent Tamura.
2169
2170         stepUp/stepDown for values in step-mismatching state for input elements
2171         https://bugs.webkit.org/show_bug.cgi?id=48976
2172
2173         Fixed stepUp/stepDown behaviors for step-mismatching values to follow the specification of
2174         HTML5 4.10.7.3 Common input element APIs. In details, disabled any stepwise adjustment for
2175         step-mismatching values.
2176
2177         * html/HTMLInputElement.cpp:
2178         (WebCore::HTMLInputElement::applyStep):
2179
2180 2010-11-19  Pavel Feldman  <pfeldman@chromium.org>
2181
2182         Not reviewed. Rolled out build failures introduced in r72373.
2183
2184         * inspector/CodeGeneratorInspector.pm:
2185
2186 2010-11-18  Pavel Feldman  <pfeldman@chromium.org>
2187
2188         Reviewed by Yury Semikhatsky.
2189
2190         Web Inspector: provide response code and status text as
2191         a part of raw headers data.
2192         https://bugs.webkit.org/show_bug.cgi?id=49668
2193
2194         * GNUmakefile.am:
2195         * WebCore.gypi:
2196         * WebCore.pro:
2197         * WebCore.vcproj/WebCore.vcproj:
2198         * WebCore.xcodeproj/project.pbxproj:
2199         * inspector/InspectorResourceAgent.cpp:
2200         (WebCore::buildObjectForResourceResponse):
2201         * inspector/front-end/NetworkPanel.js:
2202         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
2203         * inspector/front-end/ResourceManager.js:
2204         (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
2205         * platform/network/ResourceLoadInfo.h: Renamed from WebCore/platform/network/ResourceRawHeaders.h.
2206         (WebCore::ResourceLoadInfo::ResourceLoadInfo):
2207         * platform/network/ResourceResponseBase.cpp:
2208         (WebCore::ResourceResponseBase::resourceLoadInfo):
2209         (WebCore::ResourceResponseBase::setResourceLoadInfo):
2210         * platform/network/ResourceResponseBase.h:
2211
2212 2010-11-19  Mike Lawther  <mikelawther@chromium.org>
2213
2214         Reviewed by James Robinson.
2215
2216         [skia] assert when attempting to get (but not use) pointer to outside the canvas
2217         https://bugs.webkit.org/show_bug.cgi?id=49698
2218
2219         Early return to avoid getting a pointer to outside the canvas, and
2220         hence triggering a Skia assert.
2221
2222         * platform/graphics/skia/ImageBufferSkia.cpp:
2223         (WebCore::getImageData):
2224
2225 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
2226
2227         Reviewed by Yury Semikhatsky.
2228
2229         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
2230         InspectorBackendDispatcher is a generated file.
2231         Its content is not optimal and loc may be reduced by a quarter.
2232         In each generated function we have a code for getting 'in' values from
2233         the arguments properties object. I've extracted this code into separate getters.
2234         The side effect is better readability of the generated code.
2235
2236         https://bugs.webkit.org/show_bug.cgi?id=49729
2237
2238         * inspector/CodeGeneratorInspector.pm:
2239
2240 2010-11-19  Yael Aharon  <yael.aharon@nokia.com>
2241
2242         Reviewed by Antonio Gomes.
2243
2244         [Qt] Focus ring does not show for image maps
2245         https://bugs.webkit.org/show_bug.cgi?id=49615
2246
2247         Draw a focus ring for the paths surrounding the focus ring of image map area.
2248         Provide Qt specific results for the test fast/images/imagemap-focus-ring.html.
2249
2250         * platform/graphics/qt/GraphicsContextQt.cpp:
2251         (WebCore::GraphicsContext::drawFocusRing):
2252
2253 2010-11-01  MORITA Hajime  <morrita@google.com>
2254
2255         Reviewed by David Hyatt.
2256
2257         Navigating dark background websites results in blinding white flashes between pages. 
2258         https://bugs.webkit.org/show_bug.cgi?id=45640
2259
2260         This FOUC is caused by an early layout request before the <body> is ready, 
2261         and the page's background style given for <body>, instead of <html>.
2262         So many sites have such stylesheets that we should care them.
2263         
2264         - Some DOM operation such as 'element.offsetLeft' causes page layout.
2265         - The page layout results page repaint
2266         - The page page repaint makes a white screen. because there is nothing to paint
2267           before <body> is available.
2268         
2269         This change:
2270         - extracted existing FOUC check on RenderBlock and RenderLayer to 
2271           Document::mayCauseFlashOfUnstyledContent(),
2272         - checked non-<head> element availability on mayCauseFlashOfUnstyledContent(), and
2273         - added FOUC guards before requesting reapint on FrameView.
2274         
2275         Note that non-<head> document root children are typically <body>, but possibly
2276         some other type of elements in the case of non-HTML documents.
2277         
2278         No new tests. The data loading speed matters and it cannot be
2279         captured by DRT.
2280
2281         * dom/Document.cpp:
2282         (hasHeadSibling): Added.
2283         (WebCore::Document::mayCauseFlashOfUnstyledContent): Added.
2284         * dom/Document.h:
2285         * page/FrameView.cpp:
2286         (WebCore::FrameView::invalidateRect): Added a guard.
2287         (WebCore::FrameView::repaintContentRectangle): Added a guard.
2288         (WebCore::FrameView::doDeferredRepaints): Added a guard.
2289         (WebCore::FrameView::shouldUpdate): Added.
2290         * page/FrameView.h:
2291         * rendering/RenderBlock.cpp:
2292         (WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
2293         * rendering/RenderLayer.cpp:
2294         (WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
2295
2296 2010-11-18  Kent Tamura  <tkent@chromium.org>
2297
2298         Reviewed by Tony Chang.
2299
2300         Add more validation message functions
2301         https://bugs.webkit.org/show_bug.cgi?id=49716
2302
2303         Add the following message functions:
2304         - validationMessageValueMissingForCheckbox()
2305         - validationMessageValueMissingForFile()
2306         - validationMessageValueMissingForMultipleFile()
2307         - validationMessageValueMissingForRadio()
2308         - validationMessageValueMissingForSelect()
2309
2310         and update ValidityState, HTMLInputElement, and InputTypes to use them.
2311
2312         No new tests because this doesn't change visible behavior.
2313
2314         * html/CheckboxInputType.cpp:
2315         (WebCore::CheckboxInputType::valueMissingText):
2316         * html/CheckboxInputType.h:
2317         * html/FileInputType.cpp:
2318         (WebCore::FileInputType::valueMissingText):
2319         * html/FileInputType.h:
2320         * html/HTMLInputElement.cpp:
2321         (WebCore::HTMLInputElement::valueMissingText):
2322         * html/HTMLInputElement.h:
2323         * html/InputType.cpp:
2324         (WebCore::InputType::valueMissingText):
2325         * html/InputType.h:
2326         * html/RadioInputType.cpp:
2327         (WebCore::RadioInputType::valueMissingText):
2328         * html/RadioInputType.h:
2329         * html/ValidityState.cpp:
2330         (WebCore::ValidityState::validationMessage):
2331         * platform/LocalizedStrings.cpp:
2332         (WebCore::validationMessageValueMissingForCheckboxText):
2333         (WebCore::validationMessageValueMissingForFileText):
2334         (WebCore::validationMessageValueMissingForMultipleFileText):
2335         (WebCore::validationMessageValueMissingForRadioText):
2336         (WebCore::validationMessageValueMissingForSelectText):
2337         * platform/LocalizedStrings.h:
2338         * platform/android/LocalizedStringsAndroid.cpp:
2339         (WebCore::validationMessageValueMissingForCheckboxText):
2340         (WebCore::validationMessageValueMissingForFileText):
2341         (WebCore::validationMessageValueMissingForMultipleFileText):
2342         (WebCore::validationMessageValueMissingForRadioText):
2343         (WebCore::validationMessageValueMissingForSelectText):
2344         * platform/brew/LocalizedStringsBrew.cpp:
2345         (WebCore::validationMessageValueMissingForCheckboxText):
2346         (WebCore::validationMessageValueMissingForFileText):
2347         (WebCore::validationMessageValueMissingForMultipleFileText):
2348         (WebCore::validationMessageValueMissingForRadioText):
2349         (WebCore::validationMessageValueMissingForSelectText):
2350         * platform/efl/LocalizedStringsEfl.cpp:
2351         (WebCore::validationMessageValueMissingForCheckboxText):
2352         (WebCore::validationMessageValueMissingForFileText):
2353         (WebCore::validationMessageValueMissingForMultipleFileText):
2354         (WebCore::validationMessageValueMissingForRadioText):
2355         (WebCore::validationMessageValueMissingForSelectText):
2356         * platform/gtk/LocalizedStringsGtk.cpp:
2357         (WebCore::validationMessageValueMissingForCheckboxText):
2358         (WebCore::validationMessageValueMissingForFileText):
2359         (WebCore::validationMessageValueMissingForMultipleFileText):
2360         (WebCore::validationMessageValueMissingForRadioText):
2361         (WebCore::validationMessageValueMissingForSelectText):
2362         * platform/haiku/LocalizedStringsHaiku.cpp:
2363         (WebCore::validationMessageValueMissingText):
2364         (WebCore::validationMessageValueMissingForCheckboxText):
2365         (WebCore::validationMessageValueMissingForFileText):
2366         (WebCore::validationMessageValueMissingForMultipleFileText):
2367         (WebCore::validationMessageValueMissingForRadioText):
2368         (WebCore::validationMessageValueMissingForSelectText):
2369         * platform/wx/LocalizedStringsWx.cpp:
2370         (WebCore::validationMessageValueMissingForCheckboxText):
2371         (WebCore::validationMessageValueMissingForFileText):
2372         (WebCore::validationMessageValueMissingForMultipleFileText):
2373         (WebCore::validationMessageValueMissingForRadioText):
2374         (WebCore::validationMessageValueMissingForSelectText):
2375
2376 2010-11-18  Gavin Barraclough  <barraclough@apple.com>
2377
2378         Reviewed by Oliver Hunt.
2379
2380         Bug 49708 - Stop recompiling functions to regenerate exception info.
2381
2382         Instead only hold info as necessary – keep divot info is the inspector
2383         is enabled, line number info is debugging or profiling, and handler
2384         info for functions with try/catch.
2385
2386         * bindings/js/JSDOMWindowBase.cpp:
2387         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
2388             - report to JSC whether the inspector is enabled - in which
2389               case we will generate better error messages on exceptions.
2390         * bindings/js/JSDOMWindowBase.h:
2391
2392 2010-11-18  Jian Li  <jianli@chromium.org>
2393
2394         Reviewed by Kenneth Russell.
2395
2396         Make binding code generation scripts support 'short' type
2397         https://bugs.webkit.org/show_bug.cgi?id=49704
2398
2399         Updated binding tests.
2400
2401         * bindings/scripts/CodeGeneratorJS.pm: Also fixed a style issue.
2402         * bindings/scripts/CodeGeneratorV8.pm:
2403         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2404         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2405         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2406         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2407         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2408         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2409         * bindings/scripts/test/JS/JSTestObj.cpp:
2410         * bindings/scripts/test/JS/JSTestObj.h:
2411         * bindings/scripts/test/ObjC/DOMTestObj.h:
2412         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2413         * bindings/scripts/test/TestObj.idl:
2414         * bindings/scripts/test/V8/V8TestObj.cpp:
2415
2416 2010-11-18  Mark Rowe  <mrowe@apple.com>
2417
2418         Rubber-stamped by Adam Roben.
2419
2420         <rdar://problem/8602509&8602717&8602724> Enable compaction support.
2421
2422         * Configurations/WebCore.xcconfig:
2423
2424 2010-11-18  Dave Hyatt  <hyatt@apple.com>
2425
2426         Reviewed by Dan Bernstein.
2427
2428         https://bugs.webkit.org/show_bug.cgi?id=49772
2429         
2430         Fix nested ruby.  My previous checkin (for 49717) broke it.  Push the ruby text and ruby base text
2431         together based off logicalTopOverflow and logicalBottomOverflow rather than lineTop and lineBottom.
2432         This way the overflow from nested rubies is accounted for.
2433         
2434         Added fast/ruby/nested-ruby.html
2435
2436         * rendering/RenderRubyRun.cpp:
2437         (WebCore::RenderRubyRun::layout):
2438
2439 2010-11-18  Kinuko Yasuda  <kinuko@chromium.org>
2440
2441         Reviewed by Nate Chapin.
2442
2443         [V8] ASSERT(WTF::isMainThread()) fails in V8Binding::int32ToWebCoreString in workers
2444         https://bugs.webkit.org/show_bug.cgi?id=49613
2445
2446         No new tests. Running existing worker tests like
2447         fast/workers/storage/execute-sql-args-worker.html in chromium
2448         would verify it.
2449
2450         * bindings/v8/V8Binding.cpp:
2451         (WebCore::int32ToWebCoreStringFast):
2452         (WebCore::int32ToWebCoreString):
2453
2454 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
2455
2456         Windows build fix.
2457
2458         https://bugs.webkit.org/show_bug.cgi?id=49762
2459         Stylesheet wrappers are not GC protected
2460
2461         * bindings/js/JSBindingsAllInOne.cpp: Added new custom binding files.
2462
2463 2010-11-18  Dave Hyatt  <hyatt@apple.com>
2464
2465         Reviewed by Dan Bernstein.
2466
2467         https://bugs.webkit.org/show_bug.cgi?id=49717
2468         
2469         Implement better behavior for the logical height and block direction spacing of ruby text and ruby
2470         base text.
2471
2472         Added six new tests: ruby-auto-line-expansion.html (one version for each of the four writing modes) to
2473         test ruby text accommodation and quirks-mode-ruby-spacing.html / quirks-mode-ruby-spacing-bt.html to test
2474         that ruby doesn't reset line-height.
2475
2476         * css/html.css:
2477         Remove the line-height:normal rule for <ruby>  This behavior was incorrect, since a <ruby> on a line
2478         by itself in quirks mode would cause the overall line-height of the enclosing block to not be honored.
2479
2480         * rendering/InlineBox.h:
2481         (WebCore::InlineBox::adjustBlockDirectionPosition):
2482         Add adjustBlockDirectionPosition as a shorthand for calling adjustPosition with the correct delta (x or y)
2483         depending on orientation.
2484         
2485         * rendering/InlineFlowBox.cpp:
2486         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2487         placeBoxesInBlockDirection now looks for Ruby runs, and when it encounters them it sets a flag, containsRuby,
2488         to true.  This flag is stored as a bit on the RootInlineBox and lets us know whether we need to do a later
2489         crawl of the line boxes after they are positioned to see if all the Ruby texts fit or not.
2490         
2491         Add the notion of a lineTop and lineBottom that include margins, since flipped lines writing modes (lr and bt)
2492         mess up the flipping otherwise.  These new variables are lineTopIncludingMargins and lineBottomIncludingMargins.
2493         This is only relevant for replaced elements, since the block direction margins of inline flows are always 0.
2494         
2495         Because RenderRubyRun is implemented as an inline-block (this is probably not a behavior we want to keep long-term),
2496         the line-height is propagated into the inline-block, and it ends up being counted as part of the overall lineTop
2497         and lineBottom since it is inside the inline-block's height.  To prevent this from happening, we have to fake it
2498         as though RenderRubyRun was just a normal inline.  We look at the line boxes of the ruby base and we push lineTop/Bottom
2499         in by the leading on either side so that it isn't counted as part of lineTop and lineBottom.  This enables the later
2500         Ruby code that examines the spacing between lines to not be fooled into thinking it can't intrude into an inline-block's
2501         interior on a previous line.
2502
2503         (WebCore::InlineFlowBox::computeBlockDirectionRubyAdjustment):
2504         This function computes the amount that a line box has to be moved in order to accommodate all of the Ruby texts on the
2505         line.  With tb and rl writing modes, the Ruby is trying to fit between the current line and a previous line, and so
2506         we're checking some highest previous position and computing the amount we have to move.
2507         
2508         For lr and bt writing modes, the lines are flipped relative to the block direction, so we are computing how much we have
2509         to move the *following* line based off a lowest position.
2510         
2511         In all writing modes we will allow Ruby text to intrude into the padding of a block.
2512         
2513         * rendering/InlineFlowBox.h:
2514         * rendering/RenderBlock.cpp:
2515         (WebCore::RenderBlock::layoutBlockChildren):
2516         Ruby text is now considered a special child that should be excluded from normal layout, margin collapsing and height
2517         computations.  Rename the layoutLegend function to be more generalized and make it apply to both Ruby text and to
2518         legends.  This means that the RenderRubyRun computes its logical height without any regard for the ruby text.
2519
2520         * rendering/RenderBlock.h:
2521         (WebCore::RenderBlock::layoutSpecialExcludedChild):
2522         layoutSpecialExcludedChild is the new version of layoutLegend and it is implemented by RenderFieldset and RenderRubyRun.
2523
2524         * rendering/RenderBlockLineLayout.cpp:
2525         (WebCore::RenderBlock::layoutInlineChildren):
2526         When we hit the end of line layout, if we're in lr or bt writing modes, we have to potentially grow the height of the block
2527         to accommodate ruby text along the bottom side of the line.  We call computeBlockDirectionRubyAdjustment here in flipped lines
2528         writing mode only, and then we increase the logical height of the block if necessary.
2529
2530         * rendering/RenderFieldset.cpp:
2531         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
2532         * rendering/RenderFieldset.h:
2533         No changes here other than the function rename.
2534
2535         * rendering/RenderRubyRun.cpp:
2536         (WebCore::RenderRubyRun::staticCreateRubyRun):
2537         Remove the hack that locked RenderRubyRun's writing mode to tb or rl, since it didn't really work anyway, and it isn't necessary
2538         now that RenderRubyRun has its own layout method.
2539     
2540         (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
2541         RenderRubyRun lays out the ruby text here but doesn't do anything with its placement yet.  We wait until the base is positioned
2542         and then handled positioning the RenderRubyText at the end of RenderRubyRun's layout method. 
2543
2544         (WebCore::RenderRubyRun::layout):
2545         * rendering/RenderRubyRun.h:
2546         RenderRubyRun now has its own layout method that calls the base class to get the RenderRubyBase positioned and then moves the
2547         RenderRubyText such that its bottommost line box's bottom and the RenderRubyBase's topmost line box's line top are flush with
2548         one another.  The RenderRubyText will commonly be positioned at a negative coordinate now and spill out of the RenderRubyRun
2549         as overflow.
2550
2551         * rendering/RootInlineBox.cpp:
2552         (WebCore::RootInlineBox::RootInlineBox):
2553         Added the m_containsRuby bit for performance to avoid the extra pass to try to accommodate ruby texts when none are present.
2554
2555         (WebCore::RootInlineBox::adjustPosition):
2556         Fixed a bug in adjustPosition where the lineTop, lineBottom and blockLogicalHeight values were always being augmented by dy
2557         even in vertical writing modes (where dx needed to be used instead).
2558
2559         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2560         (WebCore::RootInlineBox::blockDirectionRubyAdjustment):
2561         * rendering/RootInlineBox.h:
2562         (WebCore::RootInlineBox::containsRuby):
2563         RootInlineBox now calls blockDirectionRubyAdjustment to determine the amount of additional spacing that has to exist between
2564         the lines in order to accommodate all Ruby texts, and then it does adjustPosition to move the new line by the amount required.
2565
2566 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
2567
2568         Reviewed by Geoffrey Garen.
2569
2570         https://bugs.webkit.org/show_bug.cgi?id=49762
2571         Stylesheet wrappers are not GC protected
2572
2573         Tests: fast/dom/StyleSheet/gc-inline-style-cssvalues.html
2574                fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml
2575
2576         * Android.jscbindings.mk:
2577         * CMakeLists.txt:
2578         * GNUmakefile.am:
2579         * WebCore.gypi:
2580         * WebCore.pro:
2581         * WebCore.vcproj/WebCore.vcproj:
2582         Added the new custom bindings files.
2583
2584         * WebCore.xcodeproj/project.pbxproj: Added the new custom bindings files. Also, added some
2585         existing headers.
2586
2587         * bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM): If a node has a stylesheet
2588         with a wrapper, it may be the only thing having the stylesheet's wrapper alive, so its own
2589         wrapper has to stay alive, too.
2590         While at it, also fixed the same issue with inline style declarations.
2591         Also, added a FIXME comment about one with attribute nodes. We implement a less conservative
2592         approach for nodes, so perhaps fixing this is not as easy as removing a hasCustomProperties()
2593         check.
2594
2595         * bindings/js/JSHTMLLinkElementCustom.cpp: Added.
2596         (WebCore::JSHTMLLinkElement::markChildren):
2597         * bindings/js/JSHTMLStyleElementCustom.cpp: Added.
2598         (WebCore::JSHTMLStyleElement::markChildren):
2599         * bindings/js/JSProcessingInstructionCustom.cpp: Added.
2600         (WebCore::JSProcessingInstruction::markChildren):
2601         Mark stylesheets owned by these nodes. As always in markChildren() functions, we do it
2602         conservatively, without checking whether the stylesheet or any of its children have custom
2603         properties.
2604
2605         * dom/ProcessingInstruction.idl:
2606         * html/HTMLLinkElement.idl:
2607         * html/HTMLStyleElement.idl:
2608         These have custom mark functions now.
2609
2610 2010-11-18  Jian Li  <jianli@chromium.org>
2611
2612         Reviewed by Kenneth Russell.
2613
2614         Move length and slice out of ArrayBufferView interface
2615         https://bugs.webkit.org/show_bug.cgi?id=49697
2616
2617         No functionality change. Covered by existing ArrayBuffer tests.
2618
2619         * WebCore.gypi:
2620         * WebCore.pro:
2621         * WebCore.xcodeproj/project.pbxproj:
2622         * bindings/js/JSArrayBufferViewCustom.cpp: Removed.
2623         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Removed.
2624         * html/canvas/ArrayBufferView.h:
2625         * html/canvas/ArrayBufferView.idl:
2626         * html/canvas/Float32Array.cpp:
2627         (WebCore::Float32Array::slice):
2628         * html/canvas/Float32Array.h:
2629         * html/canvas/Float32Array.idl:
2630         * html/canvas/Int16Array.cpp:
2631         (WebCore::Int16Array::slice):
2632         * html/canvas/Int16Array.h:
2633         * html/canvas/Int16Array.idl:
2634         * html/canvas/Int32Array.cpp:
2635         (WebCore::Int32Array::slice):
2636         * html/canvas/Int32Array.h:
2637         * html/canvas/Int32Array.idl:
2638         * html/canvas/Int8Array.cpp:
2639         (WebCore::Int8Array::slice):
2640         * html/canvas/Int8Array.h:
2641         * html/canvas/Int8Array.idl:
2642         * html/canvas/TypedArrayBase.h:
2643         (WebCore::TypedArrayBase::length):
2644         * html/canvas/Uint16Array.cpp:
2645         (WebCore::Uint16Array::slice):
2646         * html/canvas/Uint16Array.h:
2647         * html/canvas/Uint16Array.idl:
2648         * html/canvas/Uint32Array.cpp:
2649         (WebCore::Uint32Array::slice):
2650         * html/canvas/Uint32Array.h:
2651         * html/canvas/Uint32Array.idl:
2652         * html/canvas/Uint8Array.cpp:
2653         (WebCore::Uint8Array::slice):
2654         * html/canvas/Uint8Array.h:
2655         * html/canvas/Uint8Array.idl:
2656         * html/canvas/WebGLRenderingContext.cpp:
2657         (WebCore::WebGLRenderingContext::readPixels):
2658
2659 2010-11-17  Zhenyao Mo  <zmo@google.com>
2660
2661         Reviewed by Kenneth Russell.
2662
2663         Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
2664         https://bugs.webkit.org/show_bug.cgi?id=47196
2665
2666         * platform/image-decoders/ImageDecoder.h:
2667         (WebCore::ImageDecoder::ignoresGammaAndColorProfile): Add a getter function for the ignoreGammaAndColorProfile setting.
2668         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2669         (WebCore::JPEGImageReader::decode): Hookup ignoreGammaAndColorProfile setting with color profile processing.
2670         * platform/image-decoders/png/PNGImageDecoder.cpp:
2671         (WebCore::PNGImageDecoder::headerAvailable): Ditto.
2672
2673 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
2674
2675         Reviewed by Adam Roben.
2676
2677         Remove leftover Windows Debug_Internal configurations
2678         https://bugs.webkit.org/show_bug.cgi?id=49758
2679
2680         * WebCore.vcproj/QTMovieWin.vcproj:
2681         * WebCore.vcproj/WebCore.vcproj:
2682
2683 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2684
2685         Unreviewed, rolling out r72299.
2686         http://trac.webkit.org/changeset/72299
2687         https://bugs.webkit.org/show_bug.cgi?id=49761
2688
2689         Broke chromium ui test SessionHistoryTest.FrameBackForward.
2690         (Requested by dave_levin on #webkit).
2691
2692         * loader/HistoryController.cpp:
2693         (WebCore::HistoryController::HistoryController):
2694         (WebCore::HistoryController::saveDocumentState):
2695         (WebCore::HistoryController::updateForBackForwardNavigation):
2696         (WebCore::HistoryController::updateForCommit):
2697         (WebCore::HistoryController::updateForFrameLoadCompleted):
2698         (WebCore::HistoryController::setCurrentItem):
2699         (WebCore::HistoryController::createItem):
2700         (WebCore::HistoryController::createItemTree):
2701         (WebCore::HistoryController::recursiveGoToItem):
2702         * loader/HistoryController.h:
2703
2704 2010-11-18  James Robinson  <jamesr@chromium.org>
2705
2706         Reviewed by Darin Fisher.
2707
2708         [chromium] REGRESSION(72141): Chromium fails acid3 on windows and linux
2709         https://bugs.webkit.org/show_bug.cgi?id=49638
2710
2711         Avoid clamping zero text size to 12pt in FontPlatformData::setupPaint() in FontPlatformDataLinux.cpp
2712         Set all metrics to 0 if the font size is specified as zero in SimpleFontDataChromiumWin.cpp, just
2713         like Safari Win did in r72270.
2714
2715         Test: fast/text/font-size-zero.html
2716
2717         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2718         (WebCore::FontPlatformData::setupPaint):
2719         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2720         (WebCore::SimpleFontData::platformInit):
2721
2722 2010-11-18  Rob Buis  <rwlbuis@gmail.com>
2723
2724         Reviewed by Simon Fraser.
2725
2726         Only inject fullscreen.css when in fullscreen
2727         https://bugs.webkit.org/show_bug.cgi?id=49510
2728
2729         Refactor to only add fullscreen sheet rules when document is in fullscreen mode.
2730
2731         * css/CSSStyleSelector.cpp:
2732         (WebCore::CSSStyleSelector::CSSStyleSelector):
2733         (WebCore::loadFullDefaultStyle):
2734         (WebCore::loadFullScreenRulesIfNeeded):
2735         (WebCore::CSSStyleSelector::styleForElement):
2736
2737 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
2738
2739         Reviewed by Adam Roben.
2740
2741         Debug_Internal Windows configuration is unnecessary, should be removed
2742         https://bugs.webkit.org/show_bug.cgi?id=49753
2743
2744         * WebCorePrefix.h:
2745
2746 2010-11-18  Steve Falkenburg  <sfalken@apple.com>
2747
2748         Reviewed by Adam Roben.
2749
2750         Clean up vcproj errors
2751         https://bugs.webkit.org/show_bug.cgi?id=49741
2752
2753         * WebCore.vcproj/WebCore.vcproj:
2754
2755 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
2756
2757         Reviewed by Anders Carlsson.
2758
2759         https://bugs.webkit.org/show_bug.cgi?id=49694
2760         Add some comments about XSLStyleSheet owner node
2761
2762         No change in behavior, so no tests.
2763
2764         * dom/ProcessingInstruction.cpp:
2765         (WebCore::ProcessingInstruction::checkStyleSheet):
2766         * xml/XSLStyleSheet.h:
2767         (WebCore::XSLStyleSheet::create):
2768         (WebCore::XSLStyleSheet::createEmbedded):
2769         (WebCore::XSLStyleSheet::createForXSLTProcessor):
2770         * xml/XSLStyleSheetLibxslt.cpp:
2771         (WebCore::XSLStyleSheet::XSLStyleSheet):
2772         * xml/XSLTProcessorLibxslt.cpp:
2773         (WebCore::xsltStylesheetPointer):
2774         * xml/XSLTProcessorQt.cpp:
2775         (WebCore::XSLTProcessor::transformToString):
2776
2777 2010-11-18  Jer Noble  <jer.noble@apple.com>
2778
2779         Reviewed by Eric Carlson.
2780
2781         REGRESSION (Safari 5.0.1): HTML5 videos on YouTube never start playing on Windows
2782         https://bugs.webkit.org/show_bug.cgi?id=44439
2783         <rdar://problem/8342407>
2784         
2785         setUpCookiesForQuickTime() previously depended on having setFrameView() called first
2786         in order to get a Frame, and when it wasn't set, the cookie-copy failed.  Now, 
2787         setUpCookiesForQuickTime uses the MediaPlayerClient function mediaPlayerOwningDocument() 
2788         to retrieve the document and subsequently, the Frame.
2789
2790         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2791         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
2792
2793 2010-11-18  Joseph Pecoraro  <joepeck@webkit.org>
2794
2795         Reviewed by Darin Adler.
2796
2797         Allow no-store resources to be used for back navigation
2798         https://bugs.webkit.org/show_bug.cgi?id=49672
2799
2800         Test: http/tests/cache/history-only-cached-subresource-loads.html
2801
2802         HTTP allows "Cache-Control: no-store" resources to "cached" for the
2803         purposes of history, such as back/forward navigation. Previously
2804         WebCore just immediately evicted these resources, now we leave them in
2805         the cache as long as they are not "https". This allows us to use them
2806         if they are used in a back navigation, or lazily evict and replace
2807         them on other load types expecting non-stale resources.
2808
2809         (WebCore::CachedResource::CachedResource):
2810         (WebCore::CachedResource::removeClient): instead of immediately removing the resource from the cache, leave it in the cache.
2811         * loader/cache/CachedResourceLoader.cpp:
2812         (WebCore::CachedResourceLoader::checkForReload):
2813         (WebCore::CachedResourceLoader::requestResource): allow history only resources if the CachePolicy is CachePolicyHistoryBuffer (back/forward navigation).
2814         * loader/cache/MemoryCache.cpp:
2815         (WebCore::MemoryCache::requestResource): lazily remove history only resources if it is requested for a load type expecting non-stale resources.
2816         * loader/cache/MemoryCache.h: default the forHistory parameter to false.
2817
2818           Rename cache policy CachePolicyAllowStale to CachePolicyHistoryBuffer.
2819
2820         * loader/FrameLoader.cpp:
2821         (WebCore::FrameLoader::subresourceCachePolicy):
2822         * loader/cache/CachePolicy.h:
2823         * loader/cache/CachedResource.cpp:
2824
2825 2010-11-18  Alexey Proskuryakov  <ap@apple.com>
2826
2827         Reviewed by Darin Adler.
2828
2829         https://bugs.webkit.org/show_bug.cgi?id=49700
2830         XSLTProcessor.importNode is only tested with document nodes, and hits an assertion
2831
2832         Test: fast/xsl/import-non-document-node.xhtml
2833
2834         * css/CSSStyleSheet.cpp:
2835         (WebCore::isAcceptableCSSStyleSheetParent):
2836         (WebCore::CSSStyleSheet::CSSStyleSheet):
2837         * css/StyleSheet.cpp:
2838         (WebCore::StyleSheet::StyleSheet):
2839         Moved the assertion - hopefully, it's valid for CSS stylesheets.
2840
2841 2010-11-18  Charlie Reis  <creis@chromium.org>
2842
2843         Reviewed by Darin Fisher.
2844
2845         Update correct content state during back/forward navigations
2846         https://bugs.webkit.org/show_bug.cgi?id=48809
2847
2848         Ensures that history's previousItem is non-null when clients try to
2849         update content state (e.g., Chromium's UpdateSessionHistory).  We now
2850         track load completions with a boolean field rather than by clearing
2851         previousItem.
2852
2853         Behavior covered by existing tests in fast/history and fast/loader.
2854
2855         * loader/HistoryController.cpp:
2856
2857 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2858
2859         Unreviewed, rolling out r72288.
2860         http://trac.webkit.org/changeset/72288
2861         https://bugs.webkit.org/show_bug.cgi?id=49730
2862
2863         'krit attempted to do that, but revert got stuck' (Requested
2864         by antonm on #webkit).
2865
2866         * Android.mk:
2867         * CMakeLists.txt:
2868         * DerivedSources.make:
2869         * GNUmakefile.am:
2870         * WebCore.gyp/WebCore.gyp:
2871         * WebCore.gypi:
2872         * WebCore.order:
2873         * WebCore.pro:
2874         * WebCore.vcproj/WebCore.vcproj:
2875         * WebCore.xcodeproj/project.pbxproj:
2876         * bindings/js/JSBindingsAllInOne.cpp:
2877         * bindings/js/JSDOMBinding.cpp:
2878         (WebCore::setDOMException):
2879         * bindings/js/JSDOMBinding.h:
2880         (WebCore::createDOMObjectWrapper):
2881         (WebCore::getDOMObjectWrapper):
2882         * bindings/js/JSSVGPathSegCustom.cpp:
2883         (WebCore::toJS):
2884         * bindings/js/JSSVGPathSegListCustom.cpp: Added.
2885         (WebCore::JSSVGPathSegList::clear):
2886         (WebCore::JSSVGPathSegList::initialize):
2887         (WebCore::JSSVGPathSegList::getItem):
2888         (WebCore::JSSVGPathSegList::insertItemBefore):
2889         (WebCore::JSSVGPathSegList::replaceItem):
2890         (WebCore::JSSVGPathSegList::removeItem):
2891         (WebCore::JSSVGPathSegList::appendItem):
2892         * bindings/scripts/CodeGenerator.pm:
2893         * bindings/scripts/CodeGeneratorJS.pm:
2894         * bindings/scripts/CodeGeneratorObjC.pm:
2895         * bindings/scripts/CodeGeneratorV8.pm:
2896         * rendering/SVGRenderTreeAsText.cpp:
2897         (WebCore::operator<<):
2898         * svg/SVGAllInOne.cpp:
2899         * svg/SVGAnimatedPathData.cpp: Added.
2900         * svg/SVGAnimatedPathData.h: Copied from WebCore/svg/SVGPathSegClosePath.h.
2901         (WebCore::SVGAnimatedPathData::~SVGAnimatedPathData):
2902         * svg/SVGAnimatedPathData.idl: Copied from WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl.
2903         * svg/SVGPathElement.cpp:
2904         (WebCore::SVGPathElement::SVGPathElement):
2905         (WebCore::SVGPathElement::getPathSegAtLength):
2906         (WebCore::SVGPathElement::createSVGPathSegClosePath):
2907         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
2908         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
2909         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
2910         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
2911         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
2912         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
2913         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
2914         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
2915         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
2916         (WebCore::SVGPathElement::createSVGPathSegArcRel):
2917         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
2918         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
2919         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
2920         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
2921         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
2922         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
2923         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
2924         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
2925         (WebCore::SVGPathElement::parseMappedAttribute):
2926         (WebCore::SVGPathElement::svgAttributeChanged):
2927         (WebCore::SVGPathElement::synchronizeProperty):
2928         (WebCore::SVGPathElement::pathSegList):
2929         (WebCore::SVGPathElement::normalizedPathSegList):
2930         (WebCore::SVGPathElement::animatedPathSegList):
2931         (WebCore::SVGPathElement::animatedNormalizedPathSegList):
2932         (WebCore::SVGPathElement::toPathData):
2933         * svg/SVGPathElement.h:
2934         (WebCore::SVGPathElement::isValid):
2935         (WebCore::SVGPathElement::supportsMarkers):
2936         * svg/SVGPathElement.idl:
2937         * svg/SVGPathParserFactory.cpp:
2938         (WebCore::globalSVGPathSegListBuilder):
2939         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
2940         (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
2941         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
2942         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
2943         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
2944         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
2945         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
2946         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
2947         * svg/SVGPathParserFactory.h:
2948         * svg/SVGPathSeg.cpp: Copied from WebCore/svg/SVGPathSegLinetoHorizontalRel.idl.
2949         (WebCore::SVGPathSeg::associatedAttributeName):
2950         * svg/SVGPathSeg.h:
2951         (WebCore::SVGPathSegSingleCoord::setX):
2952         (WebCore::SVGPathSegSingleCoord::x):
2953         (WebCore::SVGPathSegSingleCoord::setY):
2954         (WebCore::SVGPathSegSingleCoord::y):
2955         (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
2956         * svg/SVGPathSeg.idl:
2957         * svg/SVGPathSegArc.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2958         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
2959         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
2960         * svg/SVGPathSegArc.h:
2961         (WebCore::SVGPathSegArc::SVGPathSegArc):
2962         (WebCore::SVGPathSegArc::setX):
2963         (WebCore::SVGPathSegArc::x):
2964         (WebCore::SVGPathSegArc::setY):
2965         (WebCore::SVGPathSegArc::y):
2966         (WebCore::SVGPathSegArc::setR1):
2967         (WebCore::SVGPathSegArc::r1):
2968         (WebCore::SVGPathSegArc::setR2):
2969         (WebCore::SVGPathSegArc::r2):
2970         (WebCore::SVGPathSegArc::setAngle):
2971         (WebCore::SVGPathSegArc::angle):
2972         (WebCore::SVGPathSegArc::setLargeArcFlag):
2973         (WebCore::SVGPathSegArc::largeArcFlag):
2974         (WebCore::SVGPathSegArc::setSweepFlag):
2975         (WebCore::SVGPathSegArc::sweepFlag):
2976         (WebCore::SVGPathSegArcAbs::create):
2977         (WebCore::SVGPathSegArcAbs::pathSegType):
2978         (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
2979         (WebCore::SVGPathSegArcRel::create):
2980         (WebCore::SVGPathSegArcRel::pathSegType):
2981         (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
2982         * svg/SVGPathSegArcAbs.idl:
2983         * svg/SVGPathSegArcRel.idl:
2984         * svg/SVGPathSegClosePath.cpp: Added.
2985         * svg/SVGPathSegClosePath.h:
2986         (WebCore::SVGPathSegClosePath::create):
2987         (WebCore::SVGPathSegClosePath::SVGPathSegClosePath):
2988         * svg/SVGPathSegCurvetoCubic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
2989         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
2990         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
2991         * svg/SVGPathSegCurvetoCubic.h:
2992         (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
2993         (WebCore::SVGPathSegCurvetoCubic::setX):
2994         (WebCore::SVGPathSegCurvetoCubic::x):
2995         (WebCore::SVGPathSegCurvetoCubic::setY):
2996         (WebCore::SVGPathSegCurvetoCubic::y):
2997         (WebCore::SVGPathSegCurvetoCubic::setX1):
2998         (WebCore::SVGPathSegCurvetoCubic::x1):
2999         (WebCore::SVGPathSegCurvetoCubic::setY1):
3000         (WebCore::SVGPathSegCurvetoCubic::y1):
3001         (WebCore::SVGPathSegCurvetoCubic::setX2):
3002         (WebCore::SVGPathSegCurvetoCubic::x2):
3003         (WebCore::SVGPathSegCurvetoCubic::setY2):
3004         (WebCore::SVGPathSegCurvetoCubic::y2):
3005         (WebCore::SVGPathSegCurvetoCubicAbs::create):
3006         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
3007         (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
3008         (WebCore::SVGPathSegCurvetoCubicRel::create):
3009         (WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
3010         (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
3011         * svg/SVGPathSegCurvetoCubicAbs.idl:
3012         * svg/SVGPathSegCurvetoCubicRel.idl:
3013         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
3014         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
3015         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
3016         * svg/SVGPathSegCurvetoCubicSmooth.h:
3017         (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
3018         (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
3019         (WebCore::SVGPathSegCurvetoCubicSmooth::x):
3020         (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
3021         (WebCore::SVGPathSegCurvetoCubicSmooth::y):
3022         (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
3023         (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
3024         (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
3025         (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
3026         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
3027         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
3028         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
3029         (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
3030         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
3031         (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
3032         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
3033         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
3034         * svg/SVGPathSegCurvetoQuadratic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
3035         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
3036         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
3037         * svg/SVGPathSegCurvetoQuadratic.h:
3038         (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
3039         (WebCore::SVGPathSegCurvetoQuadratic::setX):
3040         (WebCore::SVGPathSegCurvetoQuadratic::x):
3041         (WebCore::SVGPathSegCurvetoQuadratic::setY):
3042         (WebCore::SVGPathSegCurvetoQuadratic::y):
3043         (WebCore::SVGPathSegCurvetoQuadratic::setX1):
3044         (WebCore::SVGPathSegCurvetoQuadratic::x1):
3045         (WebCore::SVGPathSegCurvetoQuadratic::setY1):
3046         (WebCore::SVGPathSegCurvetoQuadratic::y1):
3047         (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
3048         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
3049         (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
3050         (WebCore::SVGPathSegCurvetoQuadraticRel::create):
3051         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
3052         (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
3053         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
3054         * svg/SVGPathSegCurvetoQuadraticRel.idl:
3055         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
3056         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
3057         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
3058         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
3059         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
3060         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
3061         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
3062         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
3063         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
3064         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
3065         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
3066         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
3067         * svg/SVGPathSegLineto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
3068         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
3069         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
3070         * svg/SVGPathSegLineto.h:
3071         (WebCore::SVGPathSegLinetoAbs::create):
3072         (WebCore::SVGPathSegLinetoAbs::pathSegType):
3073         (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
3074         (WebCore::SVGPathSegLinetoRel::create):
3075         (WebCore::SVGPathSegLinetoRel::pathSegType):
3076         (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
3077         * svg/SVGPathSegLinetoAbs.idl:
3078         * svg/SVGPathSegLinetoHorizontal.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
3079         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
3080         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
3081         * svg/SVGPathSegLinetoHorizontal.h:
3082         (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
3083         (WebCore::SVGPathSegLinetoHorizontal::setX):
3084         (WebCore::SVGPathSegLinetoHorizontal::x):
3085         (WebCore::SVGPathSegLinetoHorizontalAbs::create):
3086         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
3087         (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
3088         (WebCore::SVGPathSegLinetoHorizontalRel::create):
3089         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
3090         (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
3091         * svg/SVGPathSegLinetoHorizontalAbs.idl:
3092         * svg/SVGPathSegLinetoHorizontalRel.idl:
3093         * svg/SVGPathSegLinetoRel.idl:
3094         * svg/SVGPathSegLinetoVertical.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
3095         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
3096         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
3097         * svg/SVGPathSegLinetoVertical.h:
3098         (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
3099         (WebCore::SVGPathSegLinetoVertical::setY):
3100         (WebCore::SVGPathSegLinetoVertical::y):
3101         (WebCore::SVGPathSegLinetoVerticalAbs::create):
3102         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
3103         (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
3104         (WebCore::SVGPathSegLinetoVerticalRel::create):
3105         (WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
3106         (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
3107         * svg/SVGPathSegLinetoVerticalAbs.idl:
3108         * svg/SVGPathSegLinetoVerticalRel.idl:
3109         * svg/SVGPathSegList.cpp:
3110         (WebCore::SVGPathSegList::SVGPathSegList):
3111         * svg/SVGPathSegList.h:
3112         (WebCore::SVGPathSegList::create):
3113         * svg/SVGPathSegList.idl:
3114         * svg/SVGPathSegListBuilder.cpp:
3115         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
3116         (WebCore::SVGPathSegListBuilder::moveTo):
3117         (WebCore::SVGPathSegListBuilder::lineTo):
3118         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
3119         (WebCore::SVGPathSegListBuilder::lineToVertical):
3120         (WebCore::SVGPathSegListBuilder::curveToCubic):
3121         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
3122         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
3123         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
3124         (WebCore::SVGPathSegListBuilder::arcTo):
3125         (WebCore::SVGPathSegListBuilder::closePath):
3126         * svg/SVGPathSegListBuilder.h:
3127         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
3128         (WebCore::SVGPathSegListBuilder::cleanup):
3129         * svg/SVGPathSegListSource.cpp:
3130         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
3131         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
3132         (WebCore::SVGPathSegListSource::nextCommand):
3133         (WebCore::SVGPathSegListSource::parseMoveToSegment):
3134         (WebCore::SVGPathSegListSource::parseLineToSegment):
3135         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
3136         * svg/SVGPathSegListSource.h:
3137         (WebCore::SVGPathSegListSource::create):
3138         * svg/SVGPathSegMoveto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
3139         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
3140         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
3141         * svg/SVGPathSegMoveto.h:
3142         (WebCore::SVGPathSegMovetoAbs::create):
3143         (WebCore::SVGPathSegMovetoAbs::pathSegType):
3144         (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
3145         (WebCore::SVGPathSegMovetoRel::create):
3146         (WebCore::SVGPathSegMovetoRel::pathSegType):
3147         (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
3148         * svg/SVGPathSegMovetoAbs.idl:
3149         * svg/SVGPathSegMovetoRel.idl:
3150         * svg/SVGPathSegWithContext.h: Removed.
3151         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Removed.
3152         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Removed.
3153         * svg/properties/SVGPathSegListPropertyTearOff.h: Removed.
3154
3155 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3156
3157         Unreviewed, rolling out r72292.
3158         http://trac.webkit.org/changeset/72292
3159         https://bugs.webkit.org/show_bug.cgi?id=49732
3160
3161         will break win build (Requested by loislo on #webkit).
3162
3163         * inspector/CodeGeneratorInspector.pm:
3164
3165 2010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
3166
3167         Reviewed by Yury Semikhatsky.
3168
3169         Web Inspector: reduce the footprint of InspectorBackendDispatcher.
3170         InspectorBackendDispatcher is a generated file.
3171         Its content is not optimal and loc may be reduced by a quarter.
3172         In each generated function we have a code for getting 'in' values from
3173         the arguments properties object. I've extracted this code into separate getters.
3174         The side effect is better readability of the generated code.
3175
3176         https://bugs.webkit.org/show_bug.cgi?id=49729
3177
3178         * inspector/CodeGeneratorInspector.pm:
3179
3180 2010-11-18  Alexander Pavlov  <apavlov@chromium.org>
3181
3182         Reviewed by Pavel Feldman.
3183
3184         [v8] fast/css/getFloatValueForUnit.html fails since http://trac.webkit.org/changeset/72189
3185         https://bugs.webkit.org/show_bug.cgi?id=49656
3186
3187         Explicitly specify indexerType for the generation of V8WebKitCSSTransformValue binding.
3188
3189         * bindings/scripts/CodeGeneratorV8.pm:
3190
3191 2010-11-18  Nikolas Zimmermann  <nzimmermann@rim.com>
3192
3193         Reviewed by Dirk Schulze.
3194
3195         Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
3196         https://bugs.webkit.org/show_bug.cgi?id=49580
3197
3198         SVGPathElement.cloneNode loses generated pathSegList
3199         https://bugs.webkit.org/show_bug.cgi?id=43388
3200
3201         SVG Path elements are not correctly updated through pathSegList manipulation on relative values
3202         https://bugs.webkit.org/show_bug.cgi?id=30219
3203
3204         Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
3205         https://bugs.webkit.org/show_bug.cgi?id=19741
3206
3207         SVGPathElement should only build SVGPathSeg* list on demand
3208         https://bugs.webkit.org/show_bug.cgi?id=10827
3209
3210         Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
3211                svg/dom/SVGPathSegList-appendItem.xhtml
3212                svg/dom/SVGPathSegList-clear-and-initialize.xhtml
3213                svg/dom/SVGPathSegList-cloning.html
3214                svg/dom/SVGPathSegList-insertItemBefore.xhtml
3215                svg/dom/SVGPathSegList-removeItem.xhtml
3216                svg/dom/SVGPathSegList-replaceItem.xhtml
3217                svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
3218                svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
3219                svg/dom/SVGPathSegList-segment-modification.svg
3220
3221         Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
3222         Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
3223         and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
3224         themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
3225         and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
3226
3227         Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
3228         to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
3229         if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
3230         the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
3231         Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
3232         String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
3233
3234         As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
3235         concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
3236
3237         * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
3238         * CMakeLists.txt: Ditto.
3239         * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
3240         * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
3241         * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
3242         * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
3243         * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
3244         * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
3245         * WebCore.vcproj/WebCore.vcproj: Ditto.
3246         * WebCore.xcodeproj/project.pbxproj: Ditto.
3247         * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
3248         * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
3249         (WebCore::setDOMException):
3250         * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
3251         * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
3252         (WebCore::toJS):
3253         * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
3254         * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
3255         * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
3256         * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
3257         * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
3258         * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
3259         (WebCore::operator<<):
3260         * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
3261         * svg/SVGAnimatedPathData.cpp: Removed.
3262         * svg/SVGAnimatedPathData.h: Removed.
3263         * svg/SVGAnimatedPathData.idl: Removed.
3264         * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
3265         (WebCore::SVGPathElement::SVGPathElement):
3266         (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
3267         (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
3268         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
3269         (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
3270         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
3271         (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
3272         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
3273         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
3274         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
3275         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
3276         (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
3277         (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
3278         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
3279         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
3280         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
3281         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
3282         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
3283         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
3284         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
3285         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
3286         (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
3287         (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
3288         (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
3289         (WebCore::SVGPathElement::synchronizeD): Added.
3290         (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
3291         (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
3292         (WebCore::SVGPathElement::animatedPathSegList): Ditto.
3293         (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
3294         (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
3295         (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
3296         * svg/SVGPathElement.h: Add new accessors...
3297         (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
3298         (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
3299         * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
3300         * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
3301         (WebCore::globalSVGPathSegListBuilder):
3302         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
3303         (WebCore::SVGPathParserFactory::buildPathFromByteStream):
3304         (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
3305         (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
3306         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
3307         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
3308         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
3309         * svg/SVGPathParserFactory.h:
3310         * svg/SVGPathSeg.cpp: Removed.
3311         * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
3312         (WebCore::SVGPathSeg::SVGPathSeg):
3313         * svg/SVGPathSeg.idl: Reindented.
3314         * svg/SVGPathSegArc.cpp: Removed.
3315         * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
3316         * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
3317         * svg/SVGPathSegArcRel.idl: Ditto.
3318         * svg/SVGPathSegClosePath.cpp: Removed.
3319         * svg/SVGPathSegClosePath.h:
3320         * svg/SVGPathSegCurvetoCubic.cpp: Removed.
3321         * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
3322         * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
3323         * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
3324         * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
3325         * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
3326         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
3327         * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
3328         * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
3329         * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
3330         * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
3331         * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
3332         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
3333         * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
3334         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
3335         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
3336         * svg/SVGPathSegLineto.cpp: Removed.
3337         * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
3338         * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
3339         * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
3340         * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
3341         * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
3342         * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
3343         * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
3344         * svg/SVGPathSegLinetoVertical.cpp: Removed.
3345         * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
3346         * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
3347         * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
3348         * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
3349         (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
3350         (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
3351         * svg/SVGPathSegList.h:
3352         (WebCore::SVGPathSegList::SVGPathSegList):
3353         * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
3354         * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
3355         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
3356         (WebCore::SVGPathSegListBuilder::moveTo):
3357         (WebCore::SVGPathSegListBuilder::lineTo):
3358         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
3359         (WebCore::SVGPathSegListBuilder::lineToVertical):
3360         (WebCore::SVGPathSegListBuilder::curveToCubic):
3361         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
3362         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
3363         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
3364         (WebCore::SVGPathSegListBuilder::arcTo):
3365         (WebCore::SVGPathSegListBuilder::closePath):
3366         * svg/SVGPathSegListBuilder.h: Ditto.
3367         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
3368         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
3369         (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
3370         (WebCore::SVGPathSegListBuilder::cleanup):
3371         * svg/SVGPathSegListSource.cpp: Ditto.
3372         (WebCore::SVGPathSegListSource::SVGPathSegListSource):
3373         (WebCore::SVGPathSegListSource::parseSVGSegmentType):
3374         (WebCore::SVGPathSegListSource::nextCommand):
3375         (WebCore::SVGPathSegListSource::parseMoveToSegment):
3376         (WebCore::SVGPathSegListSource::parseLineToSegment):
3377         (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
3378         * svg/SVGPathSegListSource.h: Ditto.
3379         (WebCore::SVGPathSegListSource::create):
3380         * svg/SVGPathSegMoveto.cpp: Removed.
3381         * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
3382         * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
3383         * svg/SVGPathSegMovetoRel.idl: Ditto.
3384         * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
3385         (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
3386         (WebCore::SVGPathSegWithContext::animatedProperty):
3387         (WebCore::SVGPathSegWithContext::setContextAndRole):
3388         (WebCore::SVGPathSegWithContext::commitChange):
3389         (WebCore::SVGPathSegSingleCoordinate::x):
3390         (WebCore::SVGPathSegSingleCoordinate::setX):
3391         (WebCore::SVGPathSegSingleCoordinate::y):
3392         (WebCore::SVGPathSegSingleCoordinate::setY):
3393         (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
3394         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
3395         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
3396         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
3397         (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
3398         (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
3399         (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
3400         * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
3401         (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
3402         (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
3403         (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
3404         (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
3405         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
3406         * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
3407         (WebCore::SVGPathSegListPropertyTearOff::create):
3408         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
3409         (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
3410         (WebCore::SVGPathSegListPropertyTearOff::initialize):
3411         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
3412         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
3413         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
3414         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
3415         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
3416         (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
3417
3418 2010-11-18  Mario Sanchez Prada  <msanchez@igalia.com>
3419
3420         Reviewed by Martin Robinson.
3421
3422         [Gtk]  atk_text_get_selection returns the wrong offsets after a link
3423         https://bugs.webkit.org/show_bug.cgi?id=49514
3424
3425         Consider possible embedded objects to calculate startOffset.
3426
3427         So far we were using offsetInContainerNode() to calculate the
3428         value of startOffset when checking the offsets for the current
3429         selection, which was wrong because that wouldn't work ok if any
3430         embedded object was present in the paragraph before the
3431         selection. Thus, we need to consider this fact when calculating
3432         the startOffset from the point of view of the object this function
3433         is called on, in order to return the right and actual values.
3434
3435         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3436         (getSelectionOffsetsForObject): Check range length from the first
3437         position in the object the function is called on until the first
3438         position of current selection, and use it as startOffset.
3439
3440 2010-11-12  Stephen White  <senorblanco@chromium.org>
3441
3442         Reviewed by Simon Fraser.
3443
3444         Fix for multiple urls in a background-image causing repeated repaints.
3445         https://bugs.webkit.org/show_bug.cgi?id=42390
3446
3447         Change the key of RenderBoxModelObject's LastPaintSizeMap to include
3448         the layer of the element being drawn, so that the same URL used
3449         repeated in the same background-image, or another element's
3450         background-image, can be uniquely identified.  The layer is a void
3451         pointer, since it is only used as part of the key and using a
3452         void pointer will discourage dereferencing it.  This pointer is NULL
3453         when called from RenderImage (<img> elements).
3454
3455         Covered by fast/backgrounds/size/contain-and-cover.html
3456
3457         * rendering/RenderBoxModelObject.cpp:
3458         (WebCore::ImageQualityController::keyDestroyed):
3459         The old objectDestroyed() is renamed to keyDestroyed().
3460         (WebCore::ImageQualityController::objectDestroyed):
3461         The new objectDestroyed() iterates over all outstanding resizes
3462         to remove any resizes pertaining to this object.
3463         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
3464         Retrieve the RenderBoxModelObject from the pair's "first" member.
3465         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
3466         Create a key from the {object, layer} pair, and use it to access
3467         the repaint size map.
3468         (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):