Make the Web Inspector's JavaScript debugger work with isolated worlds.
[WebKit-https.git] / WebCore / ChangeLog
1 2010-01-14  Timothy Hatcher  <timothy@apple.com>
2
3         Make the Web Inspector's JavaScript debugger work with isolated worlds.
4         Console evaluation is not performed in the correct world yet, tracked
5         by bug http://webkit.org/b/33692.
6
7         http://webkit.org/b/33690
8
9         Reviewed by Adam Roben.
10
11         * bindings/js/ScriptCachedFrameData.cpp:
12         (WebCore::ScriptCachedFrameData::restore): Attach the debugger to
13         any window shell, not just for the debugger world.
14         * bindings/js/ScriptController.cpp:
15         (WebCore::ScriptController::clearWindowShell): Detach the debugger, and
16         reattach to all window shells, not just for the debugger world.
17         (WebCore::ScriptController::initScript): Attach the debugger to
18         any window shell, not just for the debugger world.
19         (WebCore::ScriptController::attachDebugger): Changed to loop through
20         all the window shells and call the new overloaded attachDebugger.
21         (WebCore::ScriptController::attachDebugger): Added. An overload that
22         takes a window shell to attach the debugger to. Has most of the
23         logic from the original attachDebugger.
24         * bindings/js/ScriptController.h: Added the new attachDebugger.
25
26 2010-01-14  Adam Roben  <aroben@apple.com>
27
28         Make Cache::requestResource return 0 if the resource's load fails
29         immediately
30
31         Fixes <rdar://problem/7543406> <http://webkit.org/b/33687>
32         window.onload never fires if page contains a <script src=foo> whose
33         load is cancelled by resource load delegate returning null from
34         willSendRequest
35
36         Test: fast/loader/onload-willSendRequest-null-for-script.html
37
38         Reviewed by Dave Hyatt.
39
40         * loader/Cache.cpp:
41         (WebCore::Cache::requestResource): Moved code to handle immediate load
42         failure out of the "cache is disabled" block so that it will run even
43         when the cache is enabled.
44
45 2010-01-14  Stephen White  <senorblanco@chromium.org>
46
47         Reviewed by mitz@webkit.org.
48
49         Fix for crash with gradient on table cell.  Pass the correct
50         background object down to
51         RenderBoxModelObject::paintFillLayerExtended().  This also allowed a
52         rework of the fix to bug 18445 by passing the correct RenderObject
53         from RenderBox::paintRootBoxDecorations() down to
54         RenderBoxModelObject::paintFillLayerExtended().
55         https://bugs.webkit.org/show_bug.cgi?id=28426
56
57         Covered by new layout test:  LayoutTests/fast/gradients/crash-on-tr.html
58
59         * rendering/RenderBox.cpp:
60         (WebCore::RenderBox::paintFillLayers):
61         (WebCore::RenderBox::paintFillLayer):
62         * rendering/RenderBox.h:
63         Plumb through the correct background RenderObject.
64         * rendering/RenderBoxModelObject.cpp:
65         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
66         Use the passed-in background RenderObject (if present) when painting background images.  Remove the previous fix for bug 18445.
67         * rendering/RenderBoxModelObject.h:
68         Plumb through the correct background RenderObject.
69         * rendering/RenderTableCell.cpp:
70         Pass in the correct backgroundObject to paintFillLayers().
71
72         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
73
74 2010-01-14  Nate Chapin  <japhet@chromium.org>
75
76         Reviewed by Dimitri Glazkov.
77
78         Standardize the rest of the v8 bindings on toNative() wherever possible.
79
80         https://bugs.webkit.org/show_bug.cgi?id=33677
81
82         * bindings/v8/NPV8Object.cpp:
83         (v8ObjectToNPObject): Special case for converting NPObjects, since there aren't genereated bindings for them.
84         * bindings/v8/NPV8Object.h:
85         * bindings/v8/ScriptController.cpp:
86         * bindings/v8/V8Collection.cpp:
87         * bindings/v8/V8Collection.h:
88         (WebCore::toNativeCollection): Special case for converting V8Collections, since there aren't genereated bindings for them.
89         * bindings/v8/V8DOMWindowShell.cpp:
90         * bindings/v8/V8DOMWrapper.cpp:
91         * bindings/v8/V8DOMWrapper.h:
92         * bindings/v8/V8NPObject.cpp:
93         * bindings/v8/V8Proxy.cpp:
94         * bindings/v8/V8SVGPODTypeWrapper.h:
95         * bindings/v8/WorkerContextExecutionProxy.cpp:
96
97 2010-01-14  Evan Stade  <estade@chromium.org>
98
99         Reviewed by Eric Seidel.
100
101         Chromium Linux: don't stretch checkboxes
102         https://bugs.webkit.org/show_bug.cgi?id=28631
103
104         Make the default size for checkboxes/radio buttons also the maximum
105         size.
106
107         Based on patch by Adam Langley.
108
109         Test: fast/css/non-standard-checkbox-size.html
110
111         * rendering/RenderThemeChromiumSkia.cpp:
112         (WebCore::center):
113         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
114         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
115         (WebCore::RenderThemeChromiumSkia::paintRadio):
116
117 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
118
119         Reviewed by Adam Roben.
120
121         Follow up to <https://bugs.webkit.org/show_bug.cgi?id=33635>.
122         
123         Now that dropEffect and effectAllowed are guaranteed to not be
124         null, change null checks into asserts to make sure we are returning
125         a proper DragOperation value.
126
127         * dom/Clipboard.cpp:
128         (WebCore::Clipboard::sourceOperation): Change null check to assert.
129         (WebCore::Clipboard::destinationOperation): Ditto.
130
131 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
132
133         Reviewed by Oliver Hunt.
134
135         [DnD] effectAllowed and dropEffect can be set to bogus values.
136         Fixes <https://bugs.webkit.org/show_bug.cgi?id=33635>.
137         
138         Test to make aure dropEffect and effectAllowed are being set to valid values
139         when they are being set (list of valid values given by HTML5 specification).
140         
141         Also, drive by change to initialize dropEffect to none (as described in spec).
142
143         Test: fast/events/bogus-dropEffect-effectAllowed.html
144
145         * dom/Clipboard.cpp:
146         (WebCore::Clipboard::Clipboard): Initialize m_dropEffect to "none".
147         (WebCore::Clipboard::setDropEffect): Check if dropEffect is being set to a valid value.
148         (WebCore::Clipboard::setEffectAllowed): Check if effectAllowed is being set to a valid value.
149
150 2010-01-14  Kent Hansen  <kent.hansen@nokia.com>
151
152         Reviewed by Darin Adler.
153
154         Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
155         https://bugs.webkit.org/show_bug.cgi?id=33371
156
157         RuntimeObjectImp should not reimplement getPropertyNames();
158         move the implementation to getOwnPropertyNames().
159
160         * bridge/runtime_object.cpp:
161         (JSC::RuntimeObjectImp::getOwnPropertyNames):
162         * bridge/runtime_object.h:
163
164 2010-01-14  Kwang Yul Seo  <skyul@company100.net>
165
166         Reviewed by Alexey Proskuryakov.
167
168         Add ENABLE(XSLT) guard to TransformSourceLibxslt.cpp
169         https://bugs.webkit.org/show_bug.cgi?id=33665
170
171         TransformSource is available only when ENABLE(XSLT) guard is true.
172
173         * dom/TransformSourceLibxslt.cpp:
174
175 2010-01-14  Adam Roben  <aroben@apple.com>
176
177         Treat all synchronous loads equally in FrameLoader::loadSubframe
178
179         Only loads of the empty URL or about:blank were being treated as
180         synchronous loads. But other loads can be synchronous (e.g., when we
181         receive a null ResourceRequest from requestFromDelegate or when a
182         policy decision of "ignore" is made). We now treat those loads the
183         same way we treated empty URLs and about:blank.
184
185         Fixes <rdar://problem/7533333> <http://webkit.org/b/33533>
186         window.onload never fires if page contains an <iframe> with a bad
187         scheme or whose load is cancelled by returning null from resource load
188         delegate's willSendRequest
189
190         Tests: fast/loader/onload-bad-scheme-for-frame.html
191                fast/loader/onload-policy-ignore-for-frame.html
192                fast/loader/onload-willSendRequest-null-for-frame.html
193
194         Reviewed by Brady Eidson.
195
196         * loader/FrameLoader.cpp:
197         (WebCore::FrameLoader::loadSubframe):
198           - Detect synchronous loads by checking the subframe's loader's
199             state, rather than by checking its URL
200           - Removed unnecessary call to completed(), since checkCompleted()
201             will call completed() if needed (the call to completed() was added
202             first and wasn't removed when the call to checkCompleted() was
203             added in r8316)
204           - Added more comments about the strange thing this function does
205             with the subframe's loader
206
207 2010-01-14  Diego Gonzalez  <diego.gonzalez@openbossa.org>
208
209         Reviewed by Kenneth Christiansen.
210
211         [Qt] Missing fileSystemPath() method in Qt KURL implementation
212         https://bugs.webkit.org/show_bug.cgi?id=33614
213
214         No new tests.
215
216         * platform/qt/KURLQt.cpp:
217         (WebCore::KURL::fileSystemPath):
218
219 2010-01-13  Alexey Proskuryakov  <ap@apple.com>
220
221         Reviewed by Brady Eidson.
222
223         https://bugs.webkit.org/show_bug.cgi?id=33652
224         REGRESSION: Frames stop appearing after browsing for a while
225
226         <rdar://problem/7308312> REGRESSION: iBench gets slower after several runs
227
228         I do not know how not creating renderers for frames could make iBench slower, but it did.
229
230         Test: fast/frames/cached-frame-counter.html
231
232         * history/CachedFrame.cpp:
233         (WebCore::CachedFrame::CachedFrame): A frame that's cached is moved away from Page,
234         so decrement frame count here.
235         (WebCore::CachedFrame::open): Increase frame count when a frame is restored.
236
237         * history/CachedFrame.h: Remove unneeded forward declarations.
238
239         * history/CachedPage.h: Ditto.
240
241         * history/CachedPage.cpp: (WebCore::CachedPage::restore): Assert that page frame count is
242         zero prior to restoring a page from b/f cache.
243         
244         * page/Page.cpp: (WebCore::Page::checkFrameCountConsistency): A debug-only method to
245         check that frame count stored in Page matches the number of frames in frame tree.
246
247         * page/Page.h:
248         (WebCore::Page::decrementFrameCount): Assert that frame count is positive.
249         (WebCore::Page::frameCount): Call checkFrameCountConsistency().
250
251 2010-01-14  Steve Falkenburg  <sfalken@apple.com>
252
253         Windows build fixes.
254         Add forward declarations and additional includes of windows.h.
255
256         * platform/Cursor.h: Add forward declaration of HCURSOR. Move destructor implementation into cpp.
257         * platform/graphics/transforms/TransformationMatrix.h: Add forward declaration of XFORM. Remove windows.h include.
258         * platform/graphics/win/TransformationMatrixWin.cpp: Add include of windows.h.
259         * platform/win/CursorWin.cpp: Moved destructor of SharedCursor here.
260         (WebCore::SharedCursor::~SharedCursor): Moved here.
261         * platform/win/EventLoopWin.cpp: Add include of windows.h.
262         * platform/win/SystemInfo.cpp: Add include of windows.h.
263
264 2010-01-14  Nate Chapin  <japhet@chromium.org>
265
266         Reviewed by Dimitri Glazkov.
267
268         Switch the custom V8 bindings to use class toNative() functions.
269
270         Refactoring, so no new tests.
271
272         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
273         * bindings/v8/custom/V8AttrCustom.cpp:
274         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
275         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
276         * bindings/v8/custom/V8ClipboardCustom.cpp:
277         * bindings/v8/custom/V8CoordinatesCustom.cpp:
278         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
279         * bindings/v8/custom/V8DOMWindowCustom.cpp:
280         * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
281         * bindings/v8/custom/V8DatabaseCustom.cpp:
282         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
283         * bindings/v8/custom/V8DocumentCustom.cpp:
284         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
285         * bindings/v8/custom/V8ElementCustom.cpp:
286         * bindings/v8/custom/V8EventCustom.cpp:
287         * bindings/v8/custom/V8GeolocationCustom.cpp:
288         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
289         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
290         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
291         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
292         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
293         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
294         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
295         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
296         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
297         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
298         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
299         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
300         * bindings/v8/custom/V8HistoryCustom.cpp:
301         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
302         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
303         * bindings/v8/custom/V8LocationCustom.cpp:
304         * bindings/v8/custom/V8MessageEventCustom.cpp:
305         * bindings/v8/custom/V8MessagePortCustom.cpp:
306         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
307         * bindings/v8/custom/V8NodeCustom.cpp:
308         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
309         * bindings/v8/custom/V8NodeListCustom.cpp:
310         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
311         * bindings/v8/custom/V8PopStateEventCustom.cpp:
312         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
313         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
314         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
315         * bindings/v8/custom/V8SVGLengthCustom.cpp:
316         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
317         * bindings/v8/custom/V8StorageCustom.cpp:
318         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
319         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
320         * bindings/v8/custom/V8WebGLArrayCustom.h:
321         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
322         * bindings/v8/custom/V8WebSocketCustom.cpp:
323         * bindings/v8/custom/V8WorkerContextCustom.cpp:
324         * bindings/v8/custom/V8WorkerCustom.cpp:
325         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
326         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
327         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
328
329 2010-01-14  Martin Robinson  <martin.james.robinson@gmail.com>
330
331         Reviewed by Xan Lopez.
332
333         [GTK] Enable DOM clipboard and drag-and-drop access
334         https://bugs.webkit.org/show_bug.cgi?id=30623
335
336         Add DataObjectGtk, a container for pasteboard and drag-and-drop data.
337
338         No new tests, because functionality has not changed.
339
340         * GNUmakefile.am:
341         * platform/gtk/DataObjectGtk.cpp: Added.
342         (WebCore::DataObjectGtk::text):
343         (WebCore::DataObjectGtk::markup):
344         (WebCore::DataObjectGtk::setText):
345         (WebCore::DataObjectGtk::setMarkup):
346         (WebCore::DataObjectGtk::files):
347         (WebCore::DataObjectGtk::url):
348         (WebCore::DataObjectGtk::urlLabel):
349         (WebCore::DataObjectGtk::hasURL):
350         (WebCore::DataObjectGtk::clear):
351         (WebCore::DataObjectGtk::forClipboard):
352         * platform/gtk/DataObjectGtk.h: Added.
353         (WebCore::DataObjectGtk::create):
354         (WebCore::DataObjectGtk::uriList):
355         (WebCore::DataObjectGtk::image):
356         (WebCore::DataObjectGtk::setRange):
357         (WebCore::DataObjectGtk::setURIList):
358         (WebCore::DataObjectGtk::setImage):
359         (WebCore::DataObjectGtk::setDragContext):
360         (WebCore::DataObjectGtk::hasText):
361         (WebCore::DataObjectGtk::hasMarkup):
362         (WebCore::DataObjectGtk::hasURIList):
363         (WebCore::DataObjectGtk::hasImage):
364         (WebCore::DataObjectGtk::dragContext):
365
366 2010-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
367
368         Reviewed by Pavel Feldman.
369
370         WebInspector: Scrolling of Timeline Page was broken by fix for bug 33470.
371         https://bugs.webkit.org/show_bug.cgi?id=33666
372
373         * inspector/front-end/inspector.css:
374
375 2010-01-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
376
377         [Qt] Unreviewed fix of builds with the --no-svg switch.
378
379         * WebCore.pri:
380
381 2010-01-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
382
383         [Qt] Unreviewed build fix on Windows.
384
385         * platform/graphics/transforms/TransformationMatrix.h:
386
387 2010-01-14  Andreas Kling  <andreas.kling@nokia.com>
388
389         Reviewed by Kenneth Rohde Christiansen.
390
391         [Qt] Enable scrolling optimization for pages with embedded widgets
392
393         https://bugs.webkit.org/show_bug.cgi?id=33373
394
395         Added a basic manual test for scrolling of embedded QWidgets.
396
397         * manual-tests/qt/qtplugin-scrolling.html: Added.
398         * platform/ScrollView.cpp:
399         (WebCore::ScrollView::scrollContents):
400         (WebCore::ScrollView::setParent):
401         * platform/ScrollView.h:
402         * platform/qt/ScrollViewQt.cpp:
403         (WebCore::ScrollView::platformInit):
404         (WebCore::ScrollView::platformAddChild):
405         (WebCore::ScrollView::platformRemoveChild):
406         * plugins/qt/PluginViewQt.cpp:
407         (WebCore::PluginView::updatePluginWidget):
408         (WebCore::PluginView::invalidateRect):
409
410 2009-12-09  Philippe Normand  <pnormand@igalia.com>
411
412         Reviewed by Xan Lopez.
413
414         [GStreamer] Check return values of gst_element_set_state()
415         https://bugs.webkit.org/show_bug.cgi?id=30000
416
417         Check for state change failure when going from READY/NULL to
418         PAUSED or PLAYING. Also refactored the common code of play() and
419         pause() to a new private method of the player.
420
421         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
422         (WebCore::MediaPlayerPrivate::changePipelineState):
423         (WebCore::MediaPlayerPrivate::play):
424         (WebCore::MediaPlayerPrivate::pause):
425         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
426
427 2010-01-14  Eric Seidel  <eric@webkit.org>
428
429         No review, rolling out r53248.
430         http://trac.webkit.org/changeset/53248
431         https://bugs.webkit.org/show_bug.cgi?id=32641
432
433         Caused 2 tests to crash on various bots:
434         fast/dom/HTMLSelectElement/listbox-select-reset.html and
435         fast/forms/listbox-typeahead-scroll.html
436
437         * dom/SelectElement.cpp:
438         (WebCore::SelectElement::recalcStyle):
439         (WebCore::SelectElement::setRecalcListItems):
440         (WebCore::SelectElement::recalcListItems):
441         (WebCore::SelectElement::restoreFormControlState):
442         (WebCore::SelectElement::reset):
443         (WebCore::SelectElement::typeAheadFind):
444         * dom/SelectElement.h:
445         * html/HTMLOptionElement.cpp:
446         (WebCore::HTMLOptionElement::selected):
447         (WebCore::HTMLOptionElement::insertedIntoTree):
448         * html/HTMLSelectElement.cpp:
449         (WebCore::HTMLSelectElement::recalcStyle):
450         * html/HTMLSelectElement.h:
451         * wml/WMLSelectElement.cpp:
452         (WebCore::WMLSelectElement::recalcStyle):
453
454 2010-01-14  Ben Murdoch  <benm@google.com>
455
456         Reviewed by Darin Adler.
457
458         [Android] [Qt] The document.createEvent API does not support touch events.
459         https://bugs.webkit.org/show_bug.cgi?id=33605
460
461         Test: fast/events/touch/create-touch-event.html
462
463         * dom/Document.cpp:
464         (WebCore::Document::createEvent): add creation of a TouchEvent when the "TouchEvent" argument is supplied.
465
466 2010-01-14  James Robinson  <jamesr@chromium.org>
467
468         Reviewed by Alexey Proskuryakov.
469
470         Ensures that the 'selected' attribute of an <option> is correct
471         https://bugs.webkit.org/show_bug.cgi?id=32641
472
473         Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed,
474         so the attribute is up to date more often.  Also gets rid of most of the recalcStyle() side effects.
475
476          Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed.
477
478          Tests: fast/forms/HTMLOptionElement_selected2.html
479                 fast/forms/HTMLOptionElement_selected3.html
480
481         * dom/SelectElement.cpp:
482         (WebCore::SelectElement::setOptionsChangedOnRenderer):
483         (WebCore::SelectElement::setRecalcListItems):
484         (WebCore::SelectElement::recalcListItems):
485         (WebCore::SelectElement::restoreFormControlState):
486         (WebCore::SelectElement::reset):
487         (WebCore::SelectElement::typeAheadFind):
488         * dom/SelectElement.h:
489         * html/HTMLOptionElement.cpp:
490         (WebCore::HTMLOptionElement::selected):
491         (WebCore::HTMLOptionElement::insertedIntoTree):
492         * html/HTMLSelectElement.cpp:
493         (WebCore::HTMLSelectElement::recalcStyle):
494         (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
495         * html/HTMLSelectElement.h:
496         * wml/WMLSelectElement.cpp:
497         (WebCore::WMLSelectElement::recalcStyle):
498
499 2010-01-14  Zoltan Horvath  <zoltan@webkit.org>
500
501         Reviewed by Oliver Hunt.
502
503         [Qt] Allow custom memory allocation control for TransparencyLayer class
504         https://bugs.webkit.org/show_bug.cgi?id=33585
505
506         Inherits the following class from FastAllocBase because it is 
507         instantiated by 'new':
508
509         class name              - instantiated at: WebCore/'location'
510         class TransparencyLayer - platform/graphics/qt/GraphicsContextQt.cpp:906
511
512         * platform/graphics/qt/GraphicsContextQt.cpp:
513
514 2010-01-14  Zoltan Horvath  <zoltan@webkit.org>
515
516         Reviewed by Oliver Hunt.
517
518         [Qt] Allow custom memory allocation control for FontPlatformDataPrivate class
519         https://bugs.webkit.org/show_bug.cgi?id=33583
520
521         Inherits the following class from Noncopyable because it is 
522         instantiated by 'new' and no need to be copyable:
523
524         class name                    - instantiated at: WebCore/'location'
525         class FontPlatformDataPrivate - platform/graphics/qt/FontPlatformData.h:70
526
527         * platform/graphics/qt/FontPlatformData.h:
528
529 2010-01-12  Philippe Normand  <pnormand@igalia.com>
530
531         Reviewed by Xan Lopez.
532
533         [GTK] un-needed seeks
534         https://bugs.webkit.org/show_bug.cgi?id=33532
535
536         Avoid un-needed seeks. Don't seek at current playback position and
537         don't update the rate if it is already set to target value.
538
539         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
540         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
541         (WebCore::MediaPlayerPrivate::seek):
542         (WebCore::MediaPlayerPrivate::setRate):
543         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
544
545 2010-01-14  Eric Seidel  <eric@webkit.org>
546
547         No review.  Tiger build fix after http://trac.webkit.org/changeset/53238.
548
549         Need to implement WebGLContextAttributes
550         https://bugs.webkit.org/show_bug.cgi?id=31169
551
552         Fix a build break when ENABLE(3D_CANVAS) is disabled.
553
554         * html/HTMLCanvasElement.cpp:
555         (WebCore::HTMLCanvasElement::getContext): UNUSED_PARAM(attrs) when 3D_CANVAS is disabled.
556
557 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
558
559         Reviewed by Timothy Hatcher.
560
561         Web Inspector: use hidden text area for clipboard in order to
562         workaround windows setData bug.
563
564         https://bugs.webkit.org/show_bug.cgi?id=33633
565
566         * inspector/front-end/TextEditor.js:
567         (WebInspector.TextEditor):
568         (WebInspector.TextEditor.prototype._copy):
569         * inspector/front-end/inspector.css:
570
571 2010-01-13  Mads Ager  <ager@chromium.org>
572
573         Reviewed by Dimitri Glazkov.
574
575         [V8] Slow named property lookup on DOMWindow because of missing fast case
576         https://bugs.webkit.org/show_bug.cgi?id=33584
577
578         Add fast case checks to V8 named property getter on DOMWindow
579         objects.  If the property is not in the DOM there is no reason to
580         search the DOM for all occurrences.
581
582         Covered by layout tests.
583
584         * bindings/v8/custom/V8DOMWindowCustom.cpp:
585         (WebCore::V8DOMWindow::namedPropertyGetter):
586
587 2010-01-13  Gavin Barraclough  <barraclough@apple.com>
588
589         Reviewed by Oliver Hunt.
590
591         <rdar://problem/7403736> REGRESSION (r49963,r49965): 8% Dromaeo Core DOM test regression
592
593         Adding isolated worlds support to the JSC bindings introduced a regression due to
594         additional map lookups.  Add a mechanism to quickly detect that a lookup is for the
595         'normal' world, and add fast paths to a couple of methods to check the normal world
596         first.
597
598         * bindings/js/JSDOMBinding.cpp:
599         (WebCore::Document::getWrapperCache):
600         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
601         (WebCore::forgetDOMObject):
602         * bindings/js/JSDOMBinding.h:
603         (WebCore::DOMWrapperWorld::isNormal):
604         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
605         * bindings/js/ScriptController.cpp:
606         (WebCore::IsolatedWorld::IsolatedWorld):
607         * dom/Document.cpp:
608         (WebCore::Document::Document):
609         (WebCore::Document::createWrapperCache):
610         * dom/Document.h:
611
612 2010-01-13  Kenneth Russell  <kbr@google.com>
613
614         Reviewed by Oliver Hunt.
615
616         Need to implement WebGLContextAttributes
617         https://bugs.webkit.org/show_bug.cgi?id=31169
618
619         Added the WebGLContextAttributes class and custom JavaScript
620         bindings to accept a native object as the second argument to
621         getContext("experimental-webgl") per the WebGL specification.
622         Added GraphicsContext3D::Attributes struct to isolate DOM and
623         graphics layers. Added getContextAttributes() to
624         WebGLRenderingContext. Added test case ensuring that context
625         attributes can be passed down and returned. Tested in Safari and
626         Chromium. The attributes will be hooked up to the creation of the
627         OpenGL context in bug 33416.
628
629         Test: fast/canvas/webgl/context-attributes.html
630
631         * DerivedSources.make:
632         * WebCore.gypi:
633         * WebCore.xcodeproj/project.pbxproj:
634         * bindings/js/JSHTMLCanvasElementCustom.cpp:
635         (WebCore::JSHTMLCanvasElement::getContext):
636         * bindings/scripts/CodeGeneratorV8.pm:
637         * bindings/scripts/IDLParser.pm:
638         * bindings/v8/DOMData.cpp:
639         * bindings/v8/DerivedSourcesAllInOne.cpp:
640         * bindings/v8/V8DOMWrapper.cpp:
641         * bindings/v8/V8Index.cpp:
642         * bindings/v8/V8Index.h:
643         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
644         (WebCore::V8HTMLCanvasElement::getContextCallback):
645         * html/HTMLCanvasElement.cpp:
646         (WebCore::HTMLCanvasElement::getContext):
647         * html/HTMLCanvasElement.h:
648         * html/HTMLCanvasElement.idl:
649         * html/canvas/CanvasContextAttributes.cpp: Added.
650         (WebCore::CanvasContextAttributes::CanvasContextAttributes):
651         (WebCore::CanvasContextAttributes::~CanvasContextAttributes):
652         * html/canvas/CanvasContextAttributes.h: Added.
653         * html/canvas/WebGLContextAttributes.cpp: Added.
654         (WebCore::WebGLContextAttributes::create):
655         (WebCore::WebGLContextAttributes::WebGLContextAttributes):
656         (WebCore::WebGLContextAttributes::~WebGLContextAttributes):
657         (WebCore::WebGLContextAttributes::alpha):
658         (WebCore::WebGLContextAttributes::setAlpha):
659         (WebCore::WebGLContextAttributes::depth):
660         (WebCore::WebGLContextAttributes::setDepth):
661         (WebCore::WebGLContextAttributes::stencil):
662         (WebCore::WebGLContextAttributes::setStencil):
663         (WebCore::WebGLContextAttributes::antialias):
664         (WebCore::WebGLContextAttributes::setAntialias):
665         (WebCore::WebGLContextAttributes::premultipliedAlpha):
666         (WebCore::WebGLContextAttributes::setPremultipliedAlpha):
667         (WebCore::WebGLContextAttributes::attributes):
668         * html/canvas/WebGLContextAttributes.h: Added.
669         * html/canvas/WebGLContextAttributes.idl: Added.
670         * html/canvas/WebGLRenderingContext.cpp:
671         (WebCore::WebGLRenderingContext::create):
672         (WebCore::WebGLRenderingContext::getContextAttributes):
673         * html/canvas/WebGLRenderingContext.h:
674         * html/canvas/WebGLRenderingContext.idl:
675         * platform/graphics/GraphicsContext3D.h:
676         * platform/graphics/mac/GraphicsContext3DMac.cpp:
677         (WebCore::GraphicsContext3D::create):
678         (WebCore::GraphicsContext3D::GraphicsContext3D):
679         (WebCore::GraphicsContext3D::getContextAttributes):
680
681 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
682
683         Fix Windows build.
684
685         * platform/graphics/cg/GraphicsContextCG.cpp:
686
687 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
688
689         Reviewed by Darin Adler.
690
691         Transition followed by animation fails to run the animation sometimes
692         https://bugs.webkit.org/show_bug.cgi?id=33563
693
694         If a transition was closely followed by an animation, it was possible for the cleanup
695         after the end of the transition to kill the animation.
696         
697         Fix this by including the keyframes name (or empty string for transitions) in the labels
698         used to identify CAAnimations on layers.
699         
700         No test because this was a subtle timing issue that is hard to reproduce in a layout test.
701
702         * platform/graphics/mac/GraphicsLayerCA.h: Some new methods and signature changes.
703         
704         * platform/graphics/mac/GraphicsLayerCA.mm:
705         (WebCore::animationIdentifier): Pass the keyframes name, since this is included in the identifier string now.
706         (WebCore::moveAllAnimationsForProperty): Pass the keyframes name.
707         (WebCore::GraphicsLayerCA::moveAnimationsForProperty): Try to move both transition- and animation-related
708         CAAnimations, using the list of running animations to get the keyframe names for the latter.
709
710         (WebCore::GraphicsLayerCA::ensureStructuralLayer): moveAnimation renamed to moveAnimationsForProperty
711         and takes the keyframes name.
712
713         (WebCore::GraphicsLayerCA::updateLayerAnimations): Pass keyframes name down (or "" for transitions).
714         (WebCore::GraphicsLayerCA::setAnimationOnLayer): Pass keyframes name down.
715         (WebCore::GraphicsLayerCA::removeAnimationFromLayer): Pass keyframes name down.
716         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): Pass keyframes name down.
717         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Pass keyframes name down.
718
719 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
720
721         Reviewed by Dan Bernstein.
722
723         Fix shadow drawing to do the correct computations using the base coordinate space
724         https://bugs.webkit.org/show_bug.cgi?id=33629
725         
726         Shadows draw using the CGContext base CTM, so we need to convert the shadow offet
727         and size from user CTM into into base CTM coordinates, via the matix obtained from wkGetUserToBaseCTM().
728
729         Test: compositing/shadows/shadow-drawing.html
730
731         * platform/graphics/cg/GraphicsContextCG.cpp:
732         (WebCore::GraphicsContext::setPlatformShadow):
733
734 2010-01-13  Nikolas Zimmermann  <nzimmermann@rim.com>
735
736         Reviewed by Oliver Hunt.
737
738         SVGClipPathElement shouldn't resolve style manually
739         https://bugs.webkit.org/show_bug.cgi?id=33647
740
741         Build renderers for SVGClipPathElement, so we can query the style from the renderer
742         instead of re-resolving style on every clip path resource invalidation.
743
744         * svg/SVGClipPathElement.cpp:
745         (WebCore::SVGClipPathElement::createRenderer):
746         (WebCore::SVGClipPathElement::canvasResource):
747         * svg/SVGClipPathElement.h:
748         (WebCore::SVGClipPathElement::isValid):
749
750 2010-01-13  Kelly Norton  <knorton@google.com>
751
752         Reviewed by Timothy Hatcher.
753
754         Web Inspector does not update the DOM tree when attributes change.
755         https://bugs.webkit.org/show_bug.cgi?id=20162
756
757         * dom/Element.cpp: Moves callbacks to InspectorController directly into setAttribute
758         and removeAttribute and removes the existing call sites. This makes it possible to
759         see attribute modifications.
760         (WebCore::Element::setAttribute):
761         (WebCore::Element::dispatchAttrRemovalEvent):
762         (WebCore::Element::dispatchAttrAdditionEvent):
763         (WebCore::Element::removeAttribute):
764         * inspector/front-end/DOMAgent.js:
765         (WebInspector.DOMNode.prototype._setAttributesPayload): Clear existing attributes.
766         (WebInspector.DOMAgent.prototype._didApplyDomChange): Updated call site and fixed style.
767         (WebInspector.DOMAgent.prototype._attributesUpdated): Added.
768         * inspector/front-end/ElementsPanel.js:
769         (WebInspector.ElementsPanel.prototype._attributesUpdated): Added.
770         (WebInspector.ElementsPanel.prototype.updateModifiedNodes): Updated call site.
771         * inspector/front-end/ElementsTreeOutline.js: Renamed _updateTitle to updateTitle.
772         (WebInspector.ElementsTreeElement.prototype.onattach): Updated updateTitle call site.
773         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto.
774         (WebInspector.ElementsTreeElement.prototype._editingCancelled): Ditto.
775
776 2010-01-13  Carol Szabo <carol.szabo@nokia.com>
777
778         Reviewed by Darin Adler.
779
780         CounterNode::nextInPreOrderAfterChildren(stayWithin) does not stay within.
781         https://bugs.webkit.org/show_bug.cgi?id=33625
782
783         No new tests because the fix should affect strictly performance.
784
785         * rendering/CounterNode.cpp:
786         (WebCore::CounterNode::nextInPreOrderAfterChildren):
787
788 2010-01-13  Nikolas Zimmermann  <nzimmermann@rim.com>
789
790         Reviewed by Oliver Hunt.
791
792         Window size changes are not propagated down the render tree
793         https://bugs.webkit.org/show_bug.cgi?id=33643
794
795         Test: svg/custom/relative-sized-content.xhtml
796
797         * rendering/RenderSVGContainer.cpp: Fix incorrect markParents=true usage, leading to unnecessary relayouts.
798         (WebCore::RenderSVGContainer::layout): Use new layoutChildren() method.
799         (WebCore::RenderSVGContainer::paint): Fix indention.
800         * rendering/RenderSVGHiddenContainer.cpp: Fix incorrect markParents=true usage.
801         (WebCore::RenderSVGHiddenContainer::layout): Use new layoutChildren() helper.
802         * rendering/RenderSVGRoot.cpp: Refactor existing code to layout children in SVGRenderSupport::layoutChildren.
803         (WebCore::RenderSVGRoot::layout): Make children relayouting depend on width/height changes, if the outermost svg uses relative viewport sizes.
804         * rendering/SVGRenderSupport.cpp: Add central place handling child layout, skips relayouting non-relative sized children as benefit.
805         (WebCore::SVGRenderBase::layoutChildren): This methods contains the actual changes.
806         * rendering/SVGRenderSupport.h:
807         * svg/SVGGElement.h: Remove dead code.
808         * svg/SVGSVGElement.h: Make hasRelativeValues() public to remove the need for friendship declarations.
809         * svg/SVGStyledElement.h: Change default return value for hasRelativeValues() to false, as it was intended.
810         (WebCore::SVGStyledElement::hasRelativeValues): Make it public, to be usable from SVGRenderSupport.
811         * svg/SVGSymbolElement.h: Remove dead code.
812         * svg/SVGUseElement.cpp: Implement hasRelativeValues() - it was simply missing here.
813         (WebCore::SVGUseElement::hasRelativeValues):
814         * svg/SVGUseElement.h:
815
816 2010-01-13  Fumitoshi Ukai  <ukai@chromium.org>
817
818         Reviewed by David Levin.
819
820         Fix websocket/tests/worker/worker-simple.html crash on Leopard Intel Debug (Tests) builder
821         https://bugs.webkit.org/show_bug.cgi?id=33581
822
823         unref m_workerContext when websocket is disconnected, so that avoid
824         keeping reference to workerContext longer than worker thread runs.
825
826         * websockets/WorkerThreadableWebSocketChannel.cpp:
827         (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
828         (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
829
830 2010-01-12  Jon Honeycutt  <jhoneycutt@apple.com>
831
832         MSAA: selected, selectable, extended selectable, and multiple
833         selectable states are not reported
834
835         https://bugs.webkit.org/show_bug.cgi?id=33574
836         <rdar://problem/7536826>
837
838         Reviewed by Darin Adler.
839
840         * accessibility/AccessibilityObject.h:
841         (WebCore::AccessibilityObject::isMultiSelectable):
842         Use the correct function name - the function name overriden by
843         and used in AccessiblityRenderObject.
844
845         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
846         (setAtkStateSetFromCoreObject):
847         Update for function rename.
848         (webkit_accessible_selection_select_all_selection):
849         Ditto.
850
851 2010-01-13  Darin Adler  <darin@apple.com>
852
853         Reviewed by Dan Bernstein.
854
855         Move more of the selection and caret painting code from Frame to SelectionController.
856         https://bugs.webkit.org/show_bug.cgi?id=33619
857
858         Helpful preparation step for a bug fix I am working on.
859
860         * editing/SelectionController.cpp:
861         (WebCore::SelectionController::SelectionController): Initialize new data members.
862         Note that m_caretVisible starts as true for the drag caret controller to match the
863         old behavior for painting.
864         (WebCore::SelectionController::setSelection): Changed to call selectionLayoutChanged
865         in its new name and location.
866         (WebCore::SelectionController::paintCaret): Added checks that were formerly done
867         at the Frame level. Tweaked formatting and changed to use early return as well.
868         (WebCore::SelectionController::focusedOrActiveStateChanged): Updated for call
869         moved into this class.
870         (WebCore::SelectionController::updateAppearance): Moved the
871         Frame::selectionLayoutChanged function here. Had to rename it because the word
872         "layout" is usedfor other purposes in this function.
873         (WebCore::SelectionController::setCaretVisible): Moved here from Frame.
874         (WebCore::SelectionController::clearCaretRectIfNeeded): Ditto.
875         (WebCore::SelectionController::caretBlinkTimerFired): Ditto.
876
877         * editing/SelectionController.h: Added new functions. Moved conditional function
878         out of class definition for clarity. Removed unneeded == and != operators.
879         Removed unneeded use of bit fields.
880
881         * page/Frame.cpp: Moved functions to SelectionController.
882         (WebCore::Frame::Frame): Removed initialization of moved data members.
883
884         * page/Frame.h: Removed things moved to SelectionController as well as unneeded
885         forward declaration of Timer class template.
886
887         * page/FrameView.cpp:
888         (WebCore::FrameView::layout): Updated for new location of function.
889
890         * rendering/RenderBlock.cpp:
891         (WebCore::RenderBlock::paintCaret): Ditto.
892
893 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
894
895         Reviewed by Darin Adler.
896
897         <rdar://problem/7532544>
898         
899         Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will
900         be used for a shadow drawing fix.
901
902         * WebCore.base.exp:
903         * platform/mac/WebCoreSystemInterface.h:
904         * platform/mac/WebCoreSystemInterface.mm:
905
906 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
907
908         Reviewed by Dan Bernstein.
909
910         Fix shadow drawing to do the correct computations using the base coordinate space
911         https://bugs.webkit.org/show_bug.cgi?id=33629
912
913         Step 1: do some renames in setPlatformShadow():
914             size -> offset
915             width -> xOffset
916             height -> yOffset
917         
918         * platform/graphics/cg/GraphicsContextCG.cpp:
919         (WebCore::GraphicsContext::setPlatformShadow):
920
921 2010-01-13  Jeremy Orlow  <jorlow@chromium.org>
922
923         Reviewed by Darin Fisher.
924
925         [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
926         https://bugs.webkit.org/show_bug.cgi?id=33492
927
928         * page/Page.cpp:
929         (WebCore::Page::sessionStorage):
930         * storage/StorageNamespace.cpp:
931         (WebCore::StorageNamespace::sessionStorageNamespace):
932         * storage/StorageNamespace.h:
933         (WebCore::StorageNamespace::~StorageNamespace):
934
935 2010-01-13  Dirk Schulze  <krit@webkit.org>
936
937         Reviewed by Beth Dakin.
938
939         Repaint bug dragging a star shape with a dash stroke
940         https://bugs.webkit.org/show_bug.cgi?id=33406
941
942         Calculation of repaint rects for RenderPath objects was wrong. We must take the
943         union of strokeBoundingBox and objectBoundingBox, since the strokeBoundingBox
944         must not contain the objectBoundingBox. This is mainly visible on dash-arrays for
945         strokes.
946
947         Test: svg/custom/js-repaint-rect-on-path-with-stroke.svg
948
949         * rendering/RenderPath.cpp:
950         (WebCore::RenderPath::strokeBoundingBox):
951
952 2010-01-13  Kevin Ollivier  <kevino@theolliviers.com>
953
954         [wx] Build fix. Make the XFORM operator work on wx port.
955
956         * platform/graphics/transforms/TransformationMatrix.h:
957         * wscript:
958
959 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
960
961         Reviewed by Timothy Hatcher.
962
963         Web Inspector: Introduce SourceFrame2 with basic breakpoint / execution line
964         rendering capabilities.
965
966         Contains a drive-by naming fix (lineNumberOffset and lineNumberToOffset were
967         too close to each other, but were unrelated).
968
969         https://bugs.webkit.org/show_bug.cgi?id=33618
970
971         * WebCore.gypi:
972         * WebCore.vcproj/WebCore.vcproj:
973         * inspector/front-end/SourceFrame2.js: Added.
974         (WebInspector.SourceFrame2):
975         (WebInspector.SourceFrame2.prototype.set text):
976         (WebInspector.SourceFrame2.prototype.get executionLine):
977         (WebInspector.SourceFrame2.prototype.set executionLine):
978         (WebInspector.SourceFrame2.prototype.revealLine):
979         (WebInspector.SourceFrame2.prototype._toggleBreakpoint):
980         (WebInspector.SourceFrame2.prototype.resize):
981         (WebInspector.BreakpointLineNumberDecorator):
982         (WebInspector.BreakpointLineNumberDecorator.prototype.decorate):
983         (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint):
984         (WebInspector.BreakpointLineNumberDecorator.prototype._paintProgramCounter):
985         (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown):
986         (WebInspector.ExecutionLineDecorator):
987         (WebInspector.ExecutionLineDecorator.prototype.decorate):
988         * inspector/front-end/TextEditor.js:
989         (WebInspector.TextEditor):
990         (WebInspector.TextEditor.prototype.get textModel):
991         (WebInspector.TextEditor.prototype.set readOnly):
992         (WebInspector.TextEditor.prototype.set lineNumberDecorator):
993         (WebInspector.TextEditor.prototype.set lineDecorator):
994         (WebInspector.TextEditor.prototype.selectionRange):
995         (WebInspector.TextEditor.prototype._offsetToLine):
996         (WebInspector.TextEditor.prototype._lineToOffset):
997         (WebInspector.TextEditor.prototype.reveal):
998         (WebInspector.TextEditor.prototype._textChanged):
999         (WebInspector.TextEditor.prototype._updateSize):
1000         (WebInspector.TextEditor.prototype.updateCanvasSize):
1001         (WebInspector.TextEditor.prototype._repaintAll):
1002         (WebInspector.TextEditor.prototype._paintLines):
1003         (WebInspector.TextEditor.prototype._paintLinesContinuation):
1004         (WebInspector.TextEditor.prototype.paintLineNumbers):
1005         (WebInspector.TextEditor.prototype._paintCurrentLine):
1006         (WebInspector.TextEditor.prototype._mouseDown):
1007         (WebInspector.TextEditor.prototype._caretForMouseEvent):
1008         (WebInspector.TextEditor.prototype._keyDown):
1009         (WebInspector.TextEditor.prototype._handleNavigationKey):
1010         (WebInspector.TextEditor.prototype._textInput):
1011         (WebInspector.TextEditor.prototype._updateCursor):
1012         (WebInspector.TextEditor.prototype._paintSelection):
1013         (WebInspector.TextEditor.prototype._initFont):
1014
1015 2010-01-13  Nate Chapin  <japhet@chromium.org>
1016
1017         Reviewed by Dimitri Glazkov.
1018
1019         Generate a function in the V8 bindings to convert v8 objects
1020         to native WebCore objects.
1021
1022         * bindings/scripts/CodeGeneratorV8.pm: Generate and use toNative().
1023         * bindings/v8/V8Binding.cpp: Remove manually defined conversion helprs.
1024         (WebCore::getElementStringAttr):
1025         (WebCore::setElementStringAttr):
1026         * bindings/v8/V8Binding.h: Remove manually defined conversion helprs.
1027         * bindings/v8/V8SVGPODTypeWrapper.h: Still need a manually defined coversion helper for SVGPODTypes.
1028         (WebCore::V8SVGPODTypeWrapper::toNative):
1029         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1030         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1031         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1032         (WebCore::V8WebGLRenderingContext::getUniformCallback):
1033
1034 2010-01-13  Brian Weinstein  <bweinstein@apple.com>
1035
1036         Reviewed by Adam Roben.
1037
1038         REGRESSION (r49268): DHTML drag not allowed unless event.dataTransfer.effectAllowed
1039         is set (differs from HTML5).
1040         Fixes <https://bugs.webkit.org/show_bug.cgi?id=33607> and <rdar://7507114>.
1041
1042         If no effectAllowed is set in the dragStart operation, we should default to
1043         uninitialized instead of none, so the user doesn't have to manually set the
1044         effectAllowed to enable drag and drop.
1045
1046         * dom/Clipboard.cpp:
1047         (WebCore::Clipboard::Clipboard):
1048
1049 2010-01-13  Dave Hyatt  <hyatt@apple.com>
1050
1051         Reviewed by Dan Bernstein.
1052
1053         https://bugs.webkit.org/show_bug.cgi?id=32495
1054
1055         font-size:small with background-color causes text to get clipped.  Make sure to only paint within the lineTop/lineBottom of
1056         a line for quirky inline flow boxes that didn't contribute to the overall height of the line. 
1057         
1058         Added fast/backgrounds/quirks-mode-line-boxes-backgrounds.html
1059
1060         * rendering/InlineFlowBox.cpp:
1061         (WebCore::InlineFlowBox::computeVerticalOverflow):
1062         (WebCore::InlineFlowBox::paintBoxDecorations):
1063         (WebCore::InlineFlowBox::paintMask):
1064
1065 2010-01-13  Dumitru Daniliuc  <dumi@chromium.org>
1066
1067         Reviewed by Darin Adler.
1068
1069         Refactoring DatabaseAuthorizer to use a CaseFoldingHash function
1070         for the set of whitelisted sqlite functions, and fixing some
1071         indenting issues.
1072
1073         https://bugs.webkit.org/show_bug.cgi?id=33612
1074
1075         * storage/DatabaseAuthorizer.cpp:
1076         (WebCore::DatabaseAuthorizer::allowFunction):
1077         * storage/DatabaseAuthorizer.h:
1078
1079 2010-01-13  Carol Szabo  <carol.szabo@nokia.com>
1080
1081         Reviewed by Darin Adler.
1082
1083         RenderObject::nextInPreOrderAfterChildren(RenderObject* stayWithin) does not stay within
1084         https://bugs.webkit.org/show_bug.cgi?id=33600
1085
1086         No new tests as this fix affects mainly performance.
1087         No test has been found yet that could evidence the bug in the layout
1088         of a page, but the fix to bug 32884 exposes this bug on some pages
1089         such as http://www.w3.org/Style/CSS/Test/CSS2.1/current/html4/counters-scope-implied-001.htm
1090
1091         * rendering/RenderObject.cpp:
1092         (WebCore::RenderObject::nextInPreOrderAfterChildren):
1093
1094 2010-01-13  Jeremy Orlow  <jorlow@chromium.org>
1095
1096         No reviewer.  More or less a build fix.  My 53180 broke some 
1097         stuff on the Chromium port so I'm reverting.
1098
1099         * page/Page.cpp:
1100         (WebCore::Page::sessionStorage):
1101         * storage/StorageNamespace.cpp:
1102         (WebCore::StorageNamespace::sessionStorageNamespace):
1103         * storage/StorageNamespace.h:
1104         (WebCore::StorageNamespace::~StorageNamespace):
1105
1106 2010-01-13  Steve Block  <steveblock@google.com>
1107
1108         Update appendClassName in jni_runtime.cpp to use WebCore::StringBuilder, rather than JSC::StringBuilder.
1109         https://bugs.webkit.org/show_bug.cgi?id=33586
1110
1111         Avoiding the JSC version of StringBuilder allows this file to be used with both JSC and V8 on Android.
1112
1113         No new tests, refactoring only.
1114
1115         * bridge/jni/jni_runtime.cpp: Modified.
1116         (JavaMethod::signature): Modified. Use WebCore::StringBuilder.
1117
1118 2010-01-13  Kent Hansen  <kent.hansen@nokia.com>
1119
1120         Reviewed by Timothy Hatcher.
1121
1122         Some objects in the global scope are not completed
1123         https://bugs.webkit.org/show_bug.cgi?id=19119
1124
1125         Use Object.getOwnPropertyNames instead of for-in to provide completions, since
1126         Object.getOwnPropertyNames reports both enumerable and non-enumerable properties.
1127
1128         * inspector/front-end/InjectedScript.js:
1129         (InjectedScript._getPropertyNames):
1130         (InjectedScript.getCompletions):
1131
1132 2010-01-13  Ben Murdoch  <benm@google.com>
1133
1134         Reviewed by Simon Hausmann.
1135
1136         [Android] [Qt] The JSC ScriptController does not consider Touch Events user gestures.
1137         https://bugs.webkit.org/show_bug.cgi?id=33597
1138
1139         * bindings/js/ScriptController.cpp:
1140         (WebCore::ScriptController::processingUserGestureEvent): Add the touch event types (touchstart, touchmove and touchend) to the set of events that are considered user gestures.
1141
1142 2010-01-13  Simon Hausmann  <simon.hausmann@nokia.com>
1143
1144         Rubber-stamped by Tor Arne Vestbø.
1145
1146         [Qt] REGRESSION(53187) Touchevent related tests fail
1147
1148         https://bugs.webkit.org/show_bug.cgi?id=33602
1149
1150         Pass the ENABLE_TOUCH_EVENTS to the IDL generators.
1151
1152         * WebCore.pri:
1153
1154 2010-01-13  Ilya Tikhonovsky  <loislo@chromium.org>
1155
1156         Reviewed by Pavel Feldman.
1157
1158         WebInspector: Timeline panel scrolling speed can be increased.
1159         https://bugs.webkit.org/show_bug.cgi?id=33579
1160
1161         * inspector/front-end/TimelinePanel.js:
1162         (WebInspector.TimelinePanel):
1163         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
1164         (WebInspector.TimelinePanel.prototype._refresh):
1165         (WebInspector.TimelinePanel.prototype._refreshRecords):
1166
1167 2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1168
1169         Reviewed by Simon Hausmann.
1170
1171         [Qt] Split the build process in two different .pro files.
1172         This allows qmake to be run once all source files are available.
1173
1174         * DerivedSources.pro: Added.
1175         * WebCore.pri: Added. Contains common logic between source generation and compilation.
1176         * WebCore.pro: Moved source generation to DerivedSources.pro.
1177
1178 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
1179
1180         Reviewed by Timothy Hatcher.
1181
1182         Web Inspector: Scrolling editor to the 20Kth line is not smooth.
1183
1184         https://bugs.webkit.org/show_bug.cgi?id=33587
1185
1186         * inspector/front-end/TextEditor.js:
1187         (WebInspector.TextEditor):
1188         (WebInspector.TextEditor.prototype._textChanged):
1189         (WebInspector.TextEditor.prototype._highlightChanged):
1190         (WebInspector.TextEditor.prototype._paintLinesContinuation):
1191         * inspector/front-end/TextEditorHighlighter.js:
1192         (WebInspector.TextEditorHighlighter):
1193         (WebInspector.TextEditorHighlighter.prototype.highlight):
1194         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
1195         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
1196         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
1197         (WebInspector.TextEditorHighlighter.prototype._lex):
1198         * inspector/front-end/TextEditorModel.js:
1199         (WebInspector.TextEditorModel.prototype._setLine):
1200         (WebInspector.TextEditorModel.prototype.setAttribute):
1201         (WebInspector.TextEditorModel.prototype.getAttribute):
1202         (WebInspector.TextEditorModel.prototype.removeAttribute):
1203
1204 2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1205
1206         Reviewed by Simon Hausmann.
1207
1208         [Qt] Fix the build on Windows.
1209
1210         PluginViewWin.cpp requires the conversion operator from TransformationMatrix to XFORM.
1211
1212         * WebCore.pro: Build TransformationMatrixWin.cpp.
1213         * platform/graphics/transforms/TransformationMatrix.h: Enable the conversion operator to XFORM.
1214
1215 2010-01-13  Miikka Heikkinen <miikka.heikkinen@digia.com>
1216
1217         Reviewed by Simon Hausmann.
1218
1219         [Qt/Symbian] Added missing vendor information to qtwebkit.sis
1220
1221         This information is necessary to Symbian sign the package.
1222
1223         http://bugreports.qt.nokia.com/browse/QTBUG-7290
1224
1225         * WebCore.pro:
1226
1227 2010-01-11  Jeremy Orlow  <jorlow@chromium.org>
1228
1229         Reviewed by Darin Fisher.
1230
1231         [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
1232         https://bugs.webkit.org/show_bug.cgi?id=33492
1233
1234         * page/Page.cpp:
1235         (WebCore::Page::sessionStorage):
1236         * storage/StorageNamespace.cpp:
1237         (WebCore::StorageNamespace::sessionStorageNamespace):
1238         * storage/StorageNamespace.h:
1239         (WebCore::StorageNamespace::~StorageNamespace):
1240
1241 2010-01-12  Dumitru Daniliuc  <dumi@chromium.org>
1242
1243         Reviewed by Adam Barth.
1244
1245         Adding a list of whitelisted sqlite functions that users are
1246         allowed to use.
1247
1248         https://bugs.webkit.org/show_bug.cgi?id=33549
1249
1250         * platform/sql/SQLiteDatabase.cpp:
1251         (WebCore::SQLiteDatabase::authorizerFunction):
1252         * storage/DatabaseAuthorizer.cpp:
1253         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
1254         (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
1255         (WebCore::DatabaseAuthorizer::allowFunction):
1256         * storage/DatabaseAuthorizer.h:
1257
1258 2010-01-12  Fumitoshi Ukai  <ukai@chromium.org>
1259
1260         Reviewed by Simon Hausmann.
1261
1262         [Qt][WebSocket] SocketStreamHandleSoup.cpp is misnamed
1263         https://bugs.webkit.org/show_bug.cgi?id=33077
1264
1265         * WebCore.pro:
1266         * platform/network/qt/SocketStreamHandleQt.cpp: Copied from WebCore/platform/network/qt/SocketStreamHandleSoup.cpp.
1267         * platform/network/qt/SocketStreamHandleSoup.cpp: Removed.
1268
1269 2010-01-12  Simon Fraser  <simon.fraser@apple.com>
1270
1271         Reviewed by Dan Bernstein.
1272
1273         position:fixed and transform on same element breaks fixed behavior
1274         https://bugs.webkit.org/show_bug.cgi?id=31283
1275
1276         Fix interactions of transforms and fixed positioning, namely that fixed position
1277         elements with a transformed ancestor are positioned relative to that ancestor,
1278         and an element with both a transform and fixed position respects that positioning.
1279         
1280         Test: transforms/2d/transform-fixed-container.html
1281
1282         * rendering/RenderBox.cpp:
1283         (WebCore::RenderBox::mapLocalToContainer):
1284         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
1285         Transforms should not unconditionally stop the propagation of the 'fixed' flag to ancestors,
1286         but only if the transformed element is not itself fixed.
1287         
1288         * rendering/RenderLayer.cpp:
1289         (WebCore::RenderLayer::convertToLayerCoords):
1290         Fix this method to behave correctly for fixed position layers whose container is not
1291         the root, but some other (probably transformed) ancestor. In that case, we can fall into
1292         the "position: absolute" code path.
1293
1294 2010-01-12  Tony Chang  <tony@chromium.org>
1295
1296         Reviewed by Adam Barth.
1297
1298         Fix an assert being triggered by how the Chromium port sets the
1299         replacing flag for error pages.  This was caused by r53143.
1300
1301         Covered by existing Chromium UI tests.
1302
1303         * loader/FrameLoader.cpp:
1304         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1305
1306 2010-01-12  Kent Hansen  <kent.hansen@nokia.com>
1307
1308         Reviewed by Geoffrey Garen.
1309
1310         [ES5] Implement Object.getOwnPropertyNames
1311         https://bugs.webkit.org/show_bug.cgi?id=32242
1312
1313         Add new argument to reimplementations of getPropertyNames()
1314         and getOwnPropertyNames(), and update the JS bindings generator.
1315
1316         Test: fast/js/Object-getOwnPropertyNames.html
1317
1318         * bindings/js/JSDOMWindowCustom.cpp:
1319         (WebCore::JSDOMWindow::getPropertyNames):
1320         (WebCore::JSDOMWindow::getOwnPropertyNames):
1321         * bindings/js/JSDOMWindowShell.cpp:
1322         (WebCore::JSDOMWindowShell::getPropertyNames):
1323         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
1324         * bindings/js/JSDOMWindowShell.h:
1325         * bindings/js/JSHistoryCustom.cpp:
1326         (WebCore::JSHistory::getOwnPropertyNames):
1327         * bindings/js/JSLocationCustom.cpp:
1328         (WebCore::JSLocation::getOwnPropertyNames):
1329         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1330         (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
1331         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
1332         * bindings/js/JSQuarantinedObjectWrapper.h:
1333         * bindings/js/JSStorageCustom.cpp:
1334         (WebCore::JSStorage::getOwnPropertyNames):
1335         * bindings/scripts/CodeGeneratorJS.pm:
1336         * bridge/runtime_array.cpp:
1337         (JSC::RuntimeArray::getOwnPropertyNames):
1338         * bridge/runtime_array.h:
1339         * bridge/runtime_object.cpp:
1340         (JSC::RuntimeObjectImp::getPropertyNames):
1341         (JSC::RuntimeObjectImp::getOwnPropertyNames):
1342         * bridge/runtime_object.h:
1343
1344 2010-01-12  Brian Weinstein  <bweinstein@apple.com>
1345
1346         Reviewed by Dave Hyatt.
1347
1348         Safari shows an unneeded horizontal scrollbar on many websites.
1349         Fixes <rdar://6321041> and <http://webkit.org/b/33555>.
1350         
1351         If a div has no children, and its height or width are 0, we can ignore
1352         it in our calculation of lowest, rightmost, and leftmost positions. This
1353         calculation was causing horizontal scrollbars to be drawn when they weren't needed.
1354
1355         Test: fast/block/positioning/absolute-positioning-no-scrollbar.html
1356
1357         * rendering/RenderBlock.cpp:
1358         (WebCore::RenderBlock::lowestPosition): Added check for no children and width or height 0.
1359         (WebCore::RenderBlock::rightmostPosition): Ditto.
1360         (WebCore::RenderBlock::leftmostPosition): Ditto.
1361
1362 2010-01-12  Alexander Pavlov  <apavlov@chromium.org>
1363
1364         Reviewed by Timothy Hatcher.
1365
1366         Optimize WebInspector.TimelineGrid.prototype.updateDividers()
1367
1368         DOM element property access and modification are slow and should be done as lazily as possible.
1369         https://bugs.webkit.org/show_bug.cgi?id=33536
1370
1371         * inspector/front-end/TimelineGrid.js:
1372         (WebInspector.TimelineGrid.prototype.updateDividers):
1373         (WebInspector.TimelineGrid.prototype._setDividerAndBarLeft):
1374
1375 2010-01-12  Beth Dakin  <bdakin@apple.com>
1376
1377         Reviewed by Sam Weinig.
1378
1379         Fix for https://bugs.webkit.org/show_bug.cgi?id=33550 REGRESSION: -
1380         webkit-svg-shadow with opacity still over-clipped
1381
1382         We need to call inflateForShadow() on the repaintRect before we 
1383         clip for opacity or we will over-clip.
1384         * rendering/SVGRenderSupport.cpp:
1385         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1386
1387 2010-01-12  Steve Falkenburg  <sfalken@apple.com>
1388
1389         Reviewed by Sam Weinig.
1390
1391         Update all-in-one derived sources for Geolocation.
1392
1393         * DerivedSources.cpp: Add JSCoordinates.cpp, JSGeolocation.cpp, JSGeoposition.cpp, JSPositionError.cpp
1394
1395 2010-01-12  Nate Chapin  <japhet@chromium.org>
1396
1397         Reviewed by Dimitri Glazkov.
1398
1399         Remove static const ints from V8CustomBinding.h
1400
1401         https://bugs.webkit.org/show_bug.cgi?id=33547
1402
1403         * bindings/scripts/CodeGeneratorV8.pm: Generate and use custom 
1404             internal field indices from lists of custom internal fields.
1405         * bindings/v8/NPV8Object.cpp:
1406         * bindings/v8/NPV8Object.h:
1407         * bindings/v8/V8Binding.cpp:
1408         * bindings/v8/V8DOMWindowShell.cpp:
1409         * bindings/v8/V8DOMWindowShell.h:
1410         * bindings/v8/V8DOMWrapper.cpp: Remove a bunch of now unnecessary
1411             manually calls to setInternalFieldCount().
1412         * bindings/v8/V8DOMWrapper.h:
1413         * bindings/v8/V8Index.h:
1414         * bindings/v8/V8IsolatedContext.cpp:
1415         * bindings/v8/V8IsolatedContext.h:
1416         * bindings/v8/V8NPObject.cpp:
1417         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
1418         * bindings/v8/custom/V8CustomBinding.h: Remove the static const ints.
1419         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
1420         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1421         * bindings/v8/custom/V8DocumentCustom.cpp:
1422         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
1423         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1424         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1425         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
1426         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1427         * bindings/v8/custom/V8MessagePortCustom.cpp:
1428         * bindings/v8/custom/V8NodeCustom.cpp:
1429         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1430         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
1431         * bindings/v8/custom/V8WebSocketCustom.cpp:
1432         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1433         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1434         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
1435
1436 2010-01-12  Darin Fisher  <darin@chromium.org>
1437
1438         Fixing chromium build bustage.
1439
1440         * bindings/v8/custom/V8PopStateEventCustom.cpp: Add V8Proxy.h include.
1441
1442 2010-01-12  Darin Fisher  <darin@chromium.org>
1443
1444         Reviewed by Dimitri Glazkov.
1445
1446         Add V8 bindings for PopStateEvent.
1447         https://bugs.webkit.org/show_bug.cgi?id=33546
1448         
1449         This is covered by existing tests for PopStateEvent.
1450
1451         * WebCore.gypi:
1452         * bindings/v8/DOMObjectsInclude.h:
1453         * bindings/v8/DerivedSourcesAllInOne.cpp:
1454         * bindings/v8/V8DOMWrapper.cpp:
1455         (WebCore::V8DOMWrapper::convertEventToV8Object):
1456         * bindings/v8/V8Index.cpp:
1457         * bindings/v8/V8Index.h:
1458         * bindings/v8/custom/V8PopStateEventCustom.cpp: Added.
1459         (WebCore::V8PopStateEvent::initPopStateEventCallback):
1460         (WebCore::V8PopStateEvent::stateAccessorGetter):
1461
1462 2010-01-12  Kelly Norton  <knorton@google.com>
1463
1464         Reviewed by Timothy Hatcher.
1465
1466         Adds source length to ParseHTMLRecords in the inspector timeline.
1467         https://bugs.webkit.org/show_bug.cgi?id=33548
1468
1469         Test: inspector/timeline-parse-html.html
1470
1471         * html/HTMLTokenizer.cpp:
1472         (WebCore::HTMLTokenizer::write):
1473         * inspector/InspectorTimelineAgent.cpp:
1474         (WebCore::InspectorTimelineAgent::willWriteHTML):
1475         * inspector/InspectorTimelineAgent.h:
1476         * inspector/TimelineRecordFactory.cpp:
1477         (WebCore::TimelineRecordFactory::createParseHTMLRecord):
1478         * inspector/TimelineRecordFactory.h:
1479
1480 2010-01-12  Jungshik Shin  <jshin@chromium.org>
1481
1482         Reviewed by Darin Adler
1483
1484         https://bugs.webkit.org/show_bug.cgi?id=31597
1485
1486         Make ICU's text breakiterator and string search use Chrome's UI
1487         language instead of 'en-US' or the OS UI language.
1488
1489         As long as the webkit layout tests are run in en-US locale, there'd be 
1490         no visible change.
1491
1492         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
1493         (UILanguage):
1494         (WebCore::currentSearchLocaleID):
1495         (WebCore::currentTextBreakLocaleID):
1496
1497 2010-01-12  Beth Dakin  <bdakin@apple.com>
1498
1499         Rubber-stamped by Dave Hyatt.
1500
1501         This patch changes the name of -webkit-shadow to -webkit-svg-shadow 
1502         to avoid giving a custom property an overly-general name.
1503         <rdar://problem/7534590>
1504
1505         * css/CSSComputedStyleDeclaration.cpp:
1506         (WebCore::):
1507         * css/CSSParser.cpp:
1508         (WebCore::CSSParser::parseShadow):
1509         * css/SVGCSSComputedStyleDeclaration.cpp:
1510         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
1511         * css/SVGCSSParser.cpp:
1512         (WebCore::CSSParser::parseSVGValue):
1513         * css/SVGCSSPropertyNames.in:
1514         * css/SVGCSSStyleSelector.cpp:
1515         (WebCore::CSSStyleSelector::applySVGProperty):
1516
1517 2010-01-12  Peter Kasting  <pkasting@google.com>
1518
1519         Not reviewed, build fix.
1520
1521         * WebCore.vcproj/WebCore.vcproj:
1522
1523 2010-01-12  Nate Chapin  <japhet@chromium.org>
1524
1525         Reviewed by Dimitri Glazkov.
1526
1527         Add a null check in case of an event handler with invalid syntax.
1528
1529         Should make fast/js/invalid-syntax--for-function.html not crash in
1530         Chromium's test shell.
1531
1532         * bindings/v8/V8LazyEventListener.cpp:
1533         (WebCore::V8LazyEventListener::callListenerFunction): Check the listener object before using it.
1534
1535 2010-01-12  Peter Kasting  <pkasting@google.com>
1536
1537         Reviewed by Dimitri Glazkov.
1538
1539         Remove XBM support from the open-source image decoders.
1540         https://bugs.webkit.org/show_bug.cgi?id=27823
1541
1542         * GNUmakefile.am:
1543         * WebCore.gypi:
1544         * WebCore.vcproj/WebCore.vcproj:
1545         * WebCoreSources.bkl:
1546         * platform/image-decoders/ImageDecoder.cpp:
1547         (WebCore::ImageDecoder::create):
1548         * platform/image-decoders/xbm: Removed.
1549         * platform/image-decoders/xbm/XBMImageDecoder.cpp: Removed.
1550         * platform/image-decoders/xbm/XBMImageDecoder.h: Removed.
1551
1552 2010-01-12  Alexey Proskuryakov  <ap@apple.com>
1553
1554         Reviewed by Darin Adler.
1555
1556         https://bugs.webkit.org/show_bug.cgi?id=33540
1557         Make it possible to build in debug mode with assertions disabled
1558
1559         * dom/Element.cpp: (WebCore::Element::getURLAttribute):
1560         * dom/SelectElement.cpp: (WebCore::SelectElementData::checkListItems):
1561         * editing/TextIterator.cpp:
1562         * loader/Cache.cpp: (WebCore::Cache::removeFromLRUList):
1563         * rendering/RenderArena.cpp: (WebCore::RenderArena::free):
1564
1565 2010-01-12  Eric Carlson  <eric.carlson@apple.com>
1566
1567         Reviewed by Darin Adler and Simon Fraser.
1568
1569         rdar://problem/5684062
1570         https://bugs.webkit.org/show_bug.cgi?id=23094
1571         Flash of white when switching from poster image to video playback
1572         
1573         https://bugs.webkit.org/show_bug.cgi?id=23140
1574         <video> poster should scale like a video frame
1575
1576         * html/HTMLMediaElement.cpp:
1577         (WebCore::HTMLMediaElement::setReadyState): Only call updatePosterImage from one place
1578
1579         * html/HTMLVideoElement.cpp:
1580         (WebCore::HTMLVideoElement::HTMLVideoElement): m_shouldShowPosterImage -> m_shouldDisplayPoster.
1581         (WebCore::HTMLVideoElement::createRenderer): Always create a RenderVideo.
1582         (WebCore::HTMLVideoElement::attach): Call updatePosterImage before checking to see if we
1583             should display the poster image. renderer() is never a RenderImage, don't need to check.
1584             m_shouldShowPosterImage -> m_shouldDisplayPoster.
1585         (WebCore::HTMLVideoElement::detach): m_shouldShowPosterImage -> m_shouldDisplayPoster.
1586         (WebCore::HTMLVideoElement::parseMappedAttribute): Cache poster attribute when it is set since
1587             it is checked frequently. m_shouldShowPosterImage -> m_shouldDisplayPoster.
1588         (WebCore::HTMLVideoElement::updatePosterImage): Don't bother looking at the network state, 
1589             display the poster as long as the attribute is valid and the media engine says it hasn't
1590             rendered a video frame. m_shouldShowPosterImage -> m_shouldDisplayPoster.
1591         (WebCore::HTMLVideoElement::hasAvailableVideoFrame): New, ask the media engine if a video frame
1592             is available to render.
1593         * html/HTMLVideoElement.h:
1594         (WebCore::HTMLVideoElement::poster):
1595         (WebCore::HTMLVideoElement::shouldDisplayPoster):
1596
1597         * loader/ImageLoader.cpp:
1598         (WebCore::ImageLoader::updateRenderer): Call setCachedImage for render video too.
1599
1600         * manual-tests/video-player.html: Remove bit-rot from manual test so it works again.
1601
1602         * platform/graphics/MediaPlayer.cpp:
1603         (WebCore::MediaPlayer::hasAvailableVideoFrame): New, ask the media engine if a video frame
1604             is available to render.
1605
1606         * platform/graphics/MediaPlayer.h: Prototype for hasAvailableVideoFrame.
1607         * platform/graphics/MediaPlayerPrivate.h: Ditto.
1608
1609         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Declare hasAvailableVideoFrame, declare
1610             all bool variables to aid packing.
1611         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 
1612         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_videoFrameHasDrawn. Cleanup
1613             floating point initializers to match coding guidelines.
1614         (WebCore::MediaPlayerPrivate::load): Initialize m_videoFrameHasDrawn.
1615         (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame): New.
1616         (WebCore::MediaPlayerPrivate::repaint): Set m_videoFrameHasDrawn.
1617
1618         (WebCore::RenderImage::paintReplaced): Split part out into paint method.
1619         (WebCore::RenderImage::paint): New.
1620         * rendering/RenderImage.h: Declare paint. Make isWidthSpecified and isHeightSpecified protected
1621             instead of private so RenderVideo can use them.
1622
1623         * rendering/RenderMedia.cpp:
1624         (WebCore::RenderMedia::RenderMedia): Inherit from RenderImage, not RenderReplaced
1625         (WebCore::RenderMedia::destroy): Ditto.
1626         (WebCore::RenderMedia::styleDidChange): Ditto.
1627         (WebCore::RenderMedia::layout): Ditto.
1628         (WebCore::RenderMedia::lowestPosition): Ditto.
1629         (WebCore::RenderMedia::rightmostPosition): Ditto.
1630         (WebCore::RenderMedia::leftmostPosition): Ditto.
1631         * rendering/RenderMedia.h: Declare isImage and isRenderImage.
1632
1633         * rendering/RenderVideo.cpp:
1634         (WebCore::RenderVideo::intrinsicSizeChanged): New, call RenderVideo::intrinsicSizeChanged
1635             when displaying a poster so it is sized correctly.
1636         (WebCore::RenderVideo::imageChanged): Override so we can cache the image's intrisic size and
1637         use it when we also know the movie's intrinsic size but still need to draw the poster.
1638         (WebCore::RenderVideo::videoBox): Use the poster's intrinsic size when drawing the poster,
1639         use the movie's intrinsic size when drawing frames.
1640         (WebCore::RenderVideo::paintReplaced): Call RenderImage::paint when drawing the poster.
1641         (WebCore::RenderVideo::videoElement): New.
1642         (WebCore::RenderVideo::updatePlayer):
1643         * rendering/RenderVideo.h:
1644         (WebCore::RenderVideo::minimumReplacedHeight): Added.
1645
1646 2010-01-12  Tony Chang  <tony@chromium.org>
1647
1648         Reviewed by Maciej Stachowiak.
1649
1650         Fix a crash in Chromium when receiving multipart/x-mixed-replace data.
1651         If we stop a multipart load after ResourceLoader::didReceiveResponse
1652         but before ResourceLoader::didReceiveData, we have a NULL document
1653         loader because it has been moved back to the provisional state.  New
1654         loads that happen after this will dereference the NULL document
1655         loader.
1656
1657         Work around this by moving the provisional document loader back as
1658         the document loader when the request is stopped.
1659
1660         https://bugs.webkit.org/show_bug.cgi?id=31446
1661
1662         Test: http/tests/multipart/multipart-wait-before-boundary.html
1663
1664         * loader/FrameLoader.cpp:
1665         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1666
1667 2010-01-12  Enrica Casucci  <enrica@apple.com>
1668
1669         Reviewed by Darin Adler.
1670
1671         WebKit returns incorrect match count when first string match is on an element with user-select-none style
1672         https://bugs.webkit.org/show_bug.cgi?id=33508
1673         <rdar://problem/7482143>
1674
1675         If we use VisiblePosition to calculate the start of the new search range,
1676         we skip all the nodes with user-select-none style, producing an incorrect
1677         match count.
1678         
1679         No new tests: there are no API's available to Javascript to verify the
1680         number of matches found.
1681
1682         * page/Frame.cpp:
1683         (WebCore::Frame::markAllMatchesForText): Changed to use the end of the previous
1684         result range as the start of the new search range.
1685
1686 2010-01-12  Mikhail Naganov  <mnaganov@chromium.org>
1687
1688         Reviewed by Timothy Hatcher.
1689
1690         Changed ".sidebar" style to allow v-scroll to appear in
1691         "Profiles" panel sidebar.
1692
1693         https://bugs.webkit.org/show_bug.cgi?id=33470
1694
1695         No new tests -- no code changed.
1696
1697         * inspector/front-end/inspector.css:
1698
1699 2010-01-12  Adam Roben  <aroben@apple.com>
1700
1701         Windows accelerated compositing build fix after r53110
1702
1703         * plugins/PluginWidget.h:
1704         (WebCore::PluginWidget::platformLayer): Define platformLayer() for
1705         non-Mac platforms that have accelerated compositing turned on. It
1706         would probably be better to make PluginWidget not be used at all on
1707         non-Mac platforms, but this fix is much simpler.
1708
1709 2010-01-12  Yury Semikhatsky  <yurys@chromium.org>
1710
1711         Reviewed by Pavel Feldman.
1712
1713         Support injection of inspector scripts into the inspected context.
1714
1715         https://bugs.webkit.org/show_bug.cgi?id=33523
1716
1717         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1718         (WebCore::WeakReferenceCallback):
1719         (WebCore::createInjectedScriptHostV8Wrapper):
1720         (WebCore::createInjectedScript):
1721         (WebCore::InjectedScriptHost::injectedScriptFor):
1722
1723 2010-01-12  Ben Murdoch  <benm@google.com>
1724
1725         Reviewed by Darin Adler.
1726
1727         Form Reset : Press Back Button and Reset , TextareaElemnt is not set to Default Value
1728         https://bugs.webkit.org/show_bug.cgi?id=31539
1729
1730         Added manual test: manual-tests/textarea-reset-default-value.html.
1731
1732         * html/HTMLTextAreaElement.cpp:
1733         (WebCore::HTMLTextAreaElement::restoreFormControlState): set the value, rather than default value of a text area when restoring its state. This allows resetting a form with a textarea to work correctly after its state has been restored.
1734         * manual-tests/resources/textarea-form-back-on-submit.html: Added.
1735         * manual-tests/textarea-reset-default-value.html: Added.
1736
1737 2010-01-12  Simon Hausmann  <simon.hausmann@nokia.com>
1738
1739         Reviewed by Holger Freyther.
1740
1741         [Qt] WebCore::Path allocates QPainterPath unnecessarily on the heap
1742         https://bugs.webkit.org/show_bug.cgi?id=33466
1743
1744         WebCore::Path is a pointer to a PlatformPath. In case of Qt that's a
1745         QPainterPath, which itself is a pointer to the elements (QVector).
1746         That creates unecessary allocations in PathQt.cpp.
1747
1748         Replaced the "PlatformPath* m_path;" with a PlatformPathPtr, which
1749         is a plain QPainterPath.
1750
1751         * platform/graphics/Path.h:
1752         (WebCore::Path::platformPath):
1753         * platform/graphics/qt/GraphicsContextQt.cpp:
1754         (WebCore::drawFilledShadowPath):
1755         (WebCore::GraphicsContext::fillPath):
1756         (WebCore::GraphicsContext::fillRoundedRect):
1757         (WebCore::GraphicsContext::addPath):
1758         (WebCore::GraphicsContext::clip):
1759         (WebCore::GraphicsContext::clipOut):
1760         * platform/graphics/qt/PathQt.cpp:
1761         (WebCore::Path::~Path):
1762         (WebCore::Path::operator=):
1763         (WebCore::Path::contains):
1764         (WebCore::Path::strokeContains):
1765         (WebCore::Path::translate):
1766         (WebCore::Path::boundingRect):
1767         (WebCore::Path::strokeBoundingRect):
1768         (WebCore::Path::moveTo):
1769         (WebCore::Path::addLineTo):
1770         (WebCore::Path::addQuadCurveTo):
1771         (WebCore::Path::addBezierCurveTo):
1772         (WebCore::Path::addArcTo):
1773         (WebCore::Path::closeSubpath):
1774         (WebCore::Path::addArc):
1775         (WebCore::Path::addRect):
1776         (WebCore::Path::addEllipse):
1777         (WebCore::Path::clear):
1778         (WebCore::Path::isEmpty):
1779         (WebCore::Path::debugString):
1780         (WebCore::Path::apply):
1781         (WebCore::Path::transform):
1782
1783 2010-01-12  Jakub Wieczorek  <faw217@gmail.com>
1784
1785         Reviewed by Adam Barth.
1786
1787         [Qt] XSL stylesheets can load documents from a different origin
1788
1789         https://bugs.webkit.org/show_bug.cgi?id=33423
1790
1791         * xml/XSLTProcessorQt.cpp:
1792         (WebCore::XSLTUriResolver::XSLTUriResolver):
1793         (WebCore::XSLTUriResolver::resolve):
1794         (WebCore::XSLTProcessor::transformToString):
1795
1796 2010-01-12  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1797
1798         Reviewed by Gustavo Noronha Silva.
1799
1800         https://bugs.webkit.org/show_bug.cgi?id=30883
1801         [Gtk] Implement AtkText for HTML elements which contain text
1802
1803         Tweak/correction: Eliminate a needless variable.
1804
1805         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1806         (webkit_accessible_text_get_caret_offset):
1807
1808 2010-01-12  Yury Semikhatsky  <yurys@chromium.org>
1809
1810         Reviewed by Geoffrey Garen.
1811
1812         Allow creating injected script for the inspected script state. The InjectedScript is
1813         cached on the inspected ExecState global object and will be garbage collected when the
1814         object is collected. Each InjectedScript object is assigned unique id.
1815
1816         https://bugs.webkit.org/show_bug.cgi?id=33469
1817
1818         * bindings/js/JSDOMGlobalObject.cpp:
1819         (WebCore::JSDOMGlobalObject::markChildren):
1820         (WebCore::JSDOMGlobalObject::setInjectedScript):
1821         (WebCore::JSDOMGlobalObject::injectedScript):
1822         * bindings/js/JSDOMGlobalObject.h: InjectedScript is cached on the global object as a
1823         field that is not visible from the inspected code. This InjectedScript should be alive as long as
1824         the global object is alive and should be accessible from Web Inspector's native code.
1825         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
1826         * bindings/js/JSInjectedScriptHostCustom.cpp:
1827         (WebCore::createInjectedScript): Creates injected script using the lexical global object of the
1828         inspected ScriptState. Reference to the object is stored on the global DOM object.
1829         (WebCore::InjectedScriptHost::injectedScriptFor):
1830         * inspector/InjectedScriptHost.cpp:
1831         (WebCore::InjectedScriptHost::InjectedScriptHost):
1832         (WebCore::InjectedScriptHost::injectedScriptForId):
1833         (WebCore::InjectedScriptHost::discardInjectedScripts): This method is expected to be called when the
1834         the InjectedScript are no longer needed. In particular, this should be called before frame navigation. 
1835         * inspector/InjectedScriptHost.h:
1836         (WebCore::InjectedScriptHost::setInjectedScriptSource): This allows to provide injected script source.
1837         The source may be loaded in a platform specific way.
1838
1839 2010-01-11  Darin Adler  <darin@apple.com>
1840
1841         Reviewed by Dan Bernstein.
1842
1843         Fix handling of unusual kana sequences in search
1844         https://bugs.webkit.org/show_bug.cgi?id=33506
1845
1846         * editing/TextIterator.cpp:
1847         (WebCore::composedVoicedSoundMark): Removed unnnecessary case for a
1848         non-kana-letter character. This function only works for kana letters.
1849         (WebCore::SearchBuffer::isBadMatch): Fixed voiced sound mark code to
1850         properly handle cases where one character has a shorter list of
1851         combining voiced sound marks than the other.
1852
1853 2010-01-11  Victor Wang  <victorw@chromium.org>
1854
1855         Reviewed by Dimitri Glazkov.
1856
1857         Clear m_acceptedIndexOnAbandon flag when user accepts the selected index.
1858
1859         https://bugs.webkit.org/show_bug.cgi?id=33499
1860
1861         TEST: manual-tests/chromium/onchange-reload-popup.html
1862         It should be covered by the above test. The current
1863         test shell does not support sending keyboard events to popup
1864         list so use manual test for it.
1865
1866         * platform/chromium/PopupMenuChromium.cpp:
1867         (WebCore::PopupListBox::acceptIndex):
1868
1869 2010-01-11  Gustavo Noronha Silva  <gns@gnome.org>
1870
1871         Reviewed by Eric Seidel.
1872
1873         [GTK] Debug bots crashing in plugins/iframe-shims.html
1874         https://bugs.webkit.org/show_bug.cgi?id=33472
1875
1876         Call computeOffsetInContainerNode() instead of
1877         offsetInContainerNode(), since we are not sure this is always
1878         parent-anchored.
1879
1880         plugins/iframe-shims.html no longer ASSERTS
1881
1882         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1883         (objectAndOffsetUnignored):
1884
1885 2010-01-11  Simon Fraser  <simon.fraser@apple.com>
1886
1887         Reviewed by Kevin Decker.
1888
1889         https://bugs.webkit.org/show_bug.cgi?id=33455
1890         Allows plugins to participate in accelerated compositing
1891
1892         For plugins using the CoreAnimation rendering mode, host their CALayers in the
1893         accelerated compositing layer tree.
1894         
1895         This requires making normal flow RenderLayers for RenderEmbeddedObjects when they represent
1896         a plugin using this mode.
1897         
1898         * WebCore.base.exp: Export Node::setNeedsStyleRecalc() for use by WebKit.
1899         * WebCore.xcodeproj/project.pbxproj: Re-order files for sorting.
1900
1901         * rendering/RenderEmbeddedObject.h:
1902         * rendering/RenderEmbeddedObject.cpp:
1903         (WebCore::RenderEmbeddedObject::requiresLayer): Make a layer if the plugin is using
1904         accelerated compositing mode.
1905         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Asks whether the plugin has
1906         a layer, via PluginWidget.
1907
1908         * rendering/RenderLayer.cpp:
1909         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1910         (WebCore::RenderLayer::isSelfPaintingLayer):
1911         RenderEmbeddedObjects should be normal flow layers, and self-painting layers.
1912         
1913         * rendering/RenderLayerBacking.cpp:
1914         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1915         Parent the plugin's layer in the GraphicsLayer when updating the layer configuration.
1916         
1917         * rendering/RenderLayerCompositor.h:
1918         * rendering/RenderLayerCompositor.cpp:
1919         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1920         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
1921         RenderEmbeddedObjects that allow accelerated compositing trip accelerated compositing mode
1922         for the page.
1923
1924 2010-01-11  Andreas Kling  <andreas.kling@nokia.com>
1925
1926         Reviewed by Darin Adler.
1927
1928         Fixed an uninitialized PluginView member (m_mode) which wasn't
1929         set when constructed with a null PluginPackage*
1930
1931         https://bugs.webkit.org/show_bug.cgi?id=33468
1932
1933         * plugins/PluginView.cpp:
1934         (WebCore::PluginView::PluginView):
1935
1936 2010-01-11  Dirk Schulze  <krit@webkit.org>
1937
1938         Reviewed by Nikolas Zimmermann.
1939
1940         SVG radialGradient example radial-gradient-with-outstanding-focalPoint.svg fails
1941         https://bugs.webkit.org/show_bug.cgi?id=32201
1942
1943         This patch moves every focalPoint that lies outside the circle defined by the radial
1944         gradients central point and its radius to stay inside this circle, as demanded by the
1945         SVG 1.1 specification.
1946         We use r * 0.99 as maximum radius for the aforementioned circle, when determining where
1947         the focalPoint is lying, to achieve compatibility with Firefox.
1948
1949         * svg/SVGRadialGradientElement.cpp:
1950         (WebCore::SVGRadialGradientElement::buildGradient):
1951
1952 2010-01-11  Alexey Proskuryakov  <ap@apple.com>
1953
1954         Reviewed by Oliver Hunt.
1955
1956         https://bugs.webkit.org/show_bug.cgi?id=33493
1957         Log redirect details to Network channel
1958
1959         * platform/network/mac/ResourceHandleMac.mm:
1960         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
1961         Log response code and Location header field value. Also, removed a redundant null check.
1962
1963 2010-01-11  Beth Dakin  <bdakin@apple.com>
1964
1965         Reviewed by Oliver Hunt.
1966
1967         Fix for https://bugs.webkit.org/show_bug.cgi?id=33491 REGRESSION: 
1968         Many SVG -webkit-shadow tests are currently failing (in the pixel 
1969         tests)
1970         -and-
1971         <rdar://problem/7501200>
1972
1973         The real fix here is to call inflateForShadow() on the repaintRect 
1974         in prepareToRenderSVGContent(). But in order to do that, I had to 
1975         move inflateForShadow() to a different class since functions in 
1976         SVGRenderBase cannot call each other. inflateForShadow() now exists 
1977         in SVGRenderStyle which I think makes some sense because a similar 
1978         function that returns a box shadow's extent exists on RenderStyle.
1979
1980         Now call inflateForShadow() through the SVGRenderStyle.
1981         * rendering/RenderForeignObject.cpp:
1982         (WebCore::RenderForeignObject::computeRectForRepaint):
1983         * rendering/RenderSVGImage.cpp:
1984         (WebCore::RenderSVGImage::computeRectForRepaint):
1985         * rendering/RenderSVGModelObject.cpp:
1986         (WebCore::RenderSVGModelObject::computeRectForRepaint):
1987         * rendering/RenderSVGRoot.cpp:
1988         (WebCore::RenderSVGRoot::computeRectForRepaint):
1989         * rendering/RenderSVGText.cpp:
1990         (WebCore::RenderSVGText::computeRectForRepaint):
1991
1992         No longer implement inflateForShadow() here.
1993         * rendering/SVGRenderSupport.cpp:
1994         (WebCore::SVGRenderBase::prepareToRenderSVGContent): Call new 
1995         inflateForShadow() through the SVGRenderStyle
1996         * rendering/SVGRenderSupport.h:
1997
1998         Implementation of inflateForShadow() now lives here.
1999         * rendering/style/SVGRenderStyle.cpp:
2000         (WebCore::getSVGShadowExtent):
2001         (WebCore::SVGRenderStyle::inflateForShadow):
2002         * rendering/style/SVGRenderStyle.h:
2003
2004 2010-01-11  Alexander Pavlov  <apavlov@chromium.org>
2005
2006         Reviewed by Pavel Feldman.
2007
2008         Rewrite relative URLs in the ElementsTreeOutline to make them navigable
2009
2010         Targets for "src" and "href" attribute values in the Elements outline tree
2011         are rewritten to full URLs whenever possible.
2012         https://bugs.webkit.org/show_bug.cgi?id=33024
2013
2014         Test: inspector/elements-panel-rewrite-href.html
2015
2016         * inspector/front-end/ElementsTreeOutline.js:
2017         (WebInspector.ElementsTreeElement.prototype._rewriteAttrHref):
2018         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
2019         * inspector/front-end/inspector.js:
2020
2021 2010-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
2022
2023         Not reviewed. Attempt to fix windows builds, by removing the no-longer existant JSSVGPointListCustom.cpp from JSBindingsAllInOne.cpp.
2024
2025         * bindings/js/JSBindingsAllInOne.cpp:
2026
2027 2010-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
2028
2029         Reviewed by Adam Roben & Dirk Schulze.
2030
2031         svg <text> fails to update when setting x/y
2032         https://bugs.webkit.org/show_bug.cgi?id=22384
2033
2034         Introduce JSSVGPODListCustom, refactoring the existing custom code for SVG POD type lists.
2035         (Currently SVGTransformList/SVGPointList was handled correctly, and SVGLengthList/SVGNumberList not)
2036
2037         Remove the need for custom JSSVG*List.cpp implementations, but instead tweak CodeGeneratorJS.pm,
2038         to call into the new JSSVGPODListCustom methods. Fixes dynamic updates of the SVGTextElement
2039         'rotate' & 'x'/'y' SVG DOM properties.
2040
2041         Tests: svg/custom/text-xy-updates-SVGList.xhtml
2042                svg/dynamic-updates/SVGTextElement-svgdom-rotate-prop.html
2043   
2044         * Android.jscbindings.mk: Remove old files from build, add the new header.
2045         * GNUmakefile.am: Ditto.
2046         * WebCore.gypi: Ditto.
2047         * WebCore.pro: Ditto.
2048         * WebCore.vcproj/WebCore.vcproj: Ditto.
2049         * WebCore.xcodeproj/project.pbxproj: Ditto.
2050         * bindings/js/JSSVGPODListCustom.h: Copied from bindings/js/JSSVGTransformListCustom.cpp. Refactored code to be sharable between all JSSVG*List classes.
2051         (WebCore::JSSVGPODListCustom::finishGetter):
2052         (WebCore::JSSVGPODListCustom::finishSetter):
2053         (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult):
2054         (WebCore::JSSVGPODListCustom::clear):
2055         (WebCore::JSSVGPODListCustom::initialize):
2056         (WebCore::JSSVGPODListCustom::getItem):
2057         (WebCore::JSSVGPODListCustom::insertItemBefore):
2058         (WebCore::JSSVGPODListCustom::replaceItem):
2059         (WebCore::JSSVGPODListCustom::removeItem):
2060         (WebCore::JSSVGPODListCustom::appendItem):
2061         * bindings/js/JSSVGPointListCustom.cpp: Removed.
2062         * bindings/js/JSSVGTransformListCustom.cpp: Removed.
2063         * bindings/scripts/CodeGeneratorJS.pm: Forward any SVGList call on POD list types to the new JSSVGPODListCustom.
2064         * svg/SVGNumberList.cpp: Make SVGNumberList a SVGPODList, instead of a SVGList, to make dynamic updates work.
2065         (WebCore::SVGNumberList::SVGNumberList):
2066         * svg/SVGNumberList.h:
2067         * svg/SVGPointList.idl: Remove JSCCustom markers everywhere.
2068         * svg/SVGTransformList.idl: Ditto.
2069
2070 2010-01-08  Enrica Casucci  <enrica@apple.com>
2071
2072         Reviewed by Darin Adler.
2073
2074         Cannot focus on an empty editable span in a non editable div.
2075         https://bugs.webkit.org/show_bug.cgi?id=33411
2076         <rdar://problem/5982901>
2077
2078         We now allow to set the focus inside an empty inline element if it is the only
2079         editable element inside non-editable content.
2080
2081         * dom/Position.cpp:
2082         (WebCore::Position::isCandidate): Extended to allow positions in inline elements when
2083         at the border between editable and non editable content.
2084         (WebCore::Position::getInlineBoxAndOffset): Modified to be able to calculate the caret
2085         position inside an empty inline.
2086         * editing/DeleteSelectionCommand.cpp:
2087         (WebCore::DeleteSelectionCommand::mergeParagraphs): When merging, we don't always find a break
2088         element, since now an editable inline is a VisiblePosition if it is at editability boundary.
2089         * editing/VisibleSelection.h: Updated comment on the use of Position member variables
2090         instead of VisiblePosition.
2091         * page/Frame.cpp:
2092         (WebCore::Frame::selectionLayoutChanged): Changed to avoid multiple calls to upstream and
2093         downstream on the same position.
2094
2095 2010-01-06  Dimitri Glazkov  <dglazkov@chromium.org>
2096
2097         Reviewed by Nikolas Zimmermann.
2098
2099         [V8] IsRefPtrType() in CodeGeneratorV8.pm increases maintenance burden.
2100         https://bugs.webkit.org/show_bug.cgi?id=32994
2101
2102         Refactoring, covered by existings tests.
2103
2104         * bindings/scripts/CodeGeneratorV8.pm: Reversed testing for ref-counted objects,
2105             since there's a much smaller (and more stable) set of non-ref-counted ones.
2106
2107 2010-01-06  Kelly Norton  <knorton@google.com>
2108
2109         Reviewed by Pavel Feldman.
2110
2111         Fixes the fact that timeline panel results are skewed by the use of DOM mutation events.
2112         https://bugs.webkit.org/show_bug.cgi?id=32846
2113
2114         Instead of using DOM mutation events in InspectorDOMAgent, InspectorController is now called
2115         directly when the DOM is mutated.
2116
2117         * dom/ContainerNode.cpp: Calls InspectorController directly when child nodes are added/removed.
2118         (WebCore::dispatchChildInsertionEvents):
2119         (WebCore::dispatchChildRemovalEvents):
2120         * dom/Element.cpp: Calls InspectorController directly when attributes are added/removed.
2121         (WebCore::Element::dispatchAttrRemovalEvent):
2122         (WebCore::Element::dispatchAttrAdditionEvent):
2123         * inspector/InspectorController.cpp:
2124         (WebCore::InspectorController::didInsertDOMNode):
2125         (WebCore::InspectorController::didRemoveDOMNode):
2126         (WebCore::InspectorController::didModifyDOMAttr):
2127         * inspector/InspectorController.h:
2128         * inspector/InspectorDOMAgent.cpp:
2129         (WebCore::InspectorDOMAgent::startListening):
2130         (WebCore::InspectorDOMAgent::stopListening):
2131         (WebCore::InspectorDOMAgent::handleEvent):
2132         (WebCore::InspectorDOMAgent::didInsertDOMNode):
2133         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2134         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
2135         * inspector/InspectorDOMAgent.h:
2136
2137 2010-01-10  Darin Adler  <darin@apple.com>
2138
2139         Reviewed by Alexey Proskuryakov.
2140
2141         REGRESSION: Japanese text search ignores small vs. large and voicing mark differences
2142         https://bugs.webkit.org/show_bug.cgi?id=30437
2143         rdar://problem/7214058
2144
2145         Test: fast/text/find-kana.html
2146
2147         * editing/TextIterator.cpp:
2148         (WebCore::isKanaLetter): Added.
2149         (WebCore::isSmallKanaLetter): Added.
2150         (WebCore::composedVoicedSoundMark): Added.
2151         (WebCore::isCombiningVoicedSoundMark): Added.
2152         (WebCore::containsKanaLetters): Added.
2153         (WebCore::normalizeCharacters): Added.
2154         (WebCore::SearchBuffer::SearchBuffer): Initialize the data members
2155         m_targetRequiresKanaWorkaround and m_normalizedTarget.
2156         (WebCore::SearchBuffer::isBadMatch): Added. Checks for matches that
2157         ICU's default collation considers correct, but we consider incorrect.
2158         (WebCore::SearchBuffer::search): Added code to call isBadMatch and
2159         move to the next match with usearch_next if the result is true.
2160
2161 2010-01-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2162
2163         Reviewed by Xan Lopez.
2164
2165         https://bugs.webkit.org/show_bug.cgi?id=30883
2166         [Gtk] Implement AtkText for HTML elements which contain text
2167
2168         * accessibility/gtk/AccessibilityObjectWrapperAtk.h
2169         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2170         (objectAndOffsetUnignored):
2171         (webkit_accessible_text_get_caret_offset):
2172         * editing/gtk/SelectionControllerGtk.cpp:
2173         (SelectionController::notifyAccessibilityForSelectionChange)
2174
2175         Adjust the caret offset and object with focus to reflect the
2176         unignored parent of the static text object which contains the
2177         caret. This is necessary because the static text objects are
2178         no longer being exposed to ATs.
2179
2180 2010-01-11  Kim Grönholm  <kim.gronholm@nomovok.com>
2181
2182         Reviewed by Antti Koivisto.
2183
2184         Touchevent coordinates are incorrect after page zoom and page scroll
2185         https://bugs.webkit.org/show_bug.cgi?id=32899
2186
2187         Test: fast/events/touch-coords-in-zoom-and-scroll.html
2188
2189         * dom/Touch.cpp:
2190         (WebCore::contentsX):
2191         (WebCore::contentsY):
2192         * page/EventHandler.cpp:
2193         (WebCore::EventHandler::handleTouchEvent):
2194
2195 2010-01-11  Tony Chang  <tony@chromium.org>
2196
2197         Reviewed by Eric Seidel.
2198
2199         Have "Paste and Match Style" fire the dom paste event.
2200         https://bugs.webkit.org/show_bug.cgi?id=30639
2201
2202         Test: editing/execCommand/paste-and-match-style-event.html
2203
2204         * editing/Editor.cpp:
2205         (WebCore::Editor::pasteAsPlainText):
2206
2207 2010-01-10  Oliver Hunt  <oliver@apple.com>
2208
2209         Reviewed by NOBODY (Build fix).
2210
2211         Rollout renderpath culling as it once again breaks pixel tests.
2212
2213         * rendering/RenderPath.cpp:
2214         (WebCore::RenderPath::paint):
2215         (WebCore::RenderPath::nodeAtFloatPoint):
2216
2217 2010-01-10  Simon Fraser  <simon.fraser@apple.com>
2218
2219         Reviewed by Darin Adler.
2220
2221         Allows plugins to participate in accelerated compositing
2222         https://bugs.webkit.org/show_bug.cgi?id=33455
2223
2224         Part 1: rename setContentsToVideo() on GraphicsLayer to setContentsToMedia()
2225         to make it more general. Rename associated enums and methods similarly.
2226
2227         * platform/graphics/GraphicsLayer.h:
2228         (WebCore::GraphicsLayer::setContentsToMedia):
2229         * platform/graphics/mac/GraphicsLayerCA.h:
2230         (WebCore::GraphicsLayerCA::):
2231         * platform/graphics/mac/GraphicsLayerCA.mm:
2232         (WebCore::GraphicsLayerCA::setContentsToMedia):
2233         (WebCore::GraphicsLayerCA::commitLayerChanges):
2234         (WebCore::GraphicsLayerCA::updateContentsMediaLayer):
2235         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2236         (WebCore::MediaPlayerPrivate::createQTMovieLayer):
2237         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
2238
2239 2010-01-10  Oliver Hunt  <oliver@apple.com>
2240
2241         Reviewed by Nikolas Zimmerman.
2242
2243         Bad DOM performance in large SVG files
2244         https://bugs.webkit.org/show_bug.cgi?id=30055
2245
2246         Cull RenderPaths before passing on to the underlying graphics system.
2247
2248         * rendering/RenderPath.cpp:
2249         (WebCore::RenderPath::paint):
2250         (WebCore::RenderPath::nodeAtFloatPoint):
2251
2252 2010-01-10  Adam Barth  <abarth@webkit.org>
2253
2254         Reviewed by Darin Adler.
2255
2256         Add defensive initialization of iframe sandbox flags
2257         https://bugs.webkit.org/show_bug.cgi?id=32368
2258
2259         We now initialize the SecurityOrigin's sandbox state directly duing
2260         construction.  This lets us properly set the isUnique bit.
2261
2262         Tests: http/tests/security/sandboxed-iframe-origin-add.html
2263                http/tests/security/sandboxed-iframe-origin-remove.html
2264
2265         * WebCore.base.exp:
2266         * dom/Document.cpp:
2267         (WebCore::Document::initSecurityContext):
2268         * page/SecurityOrigin.cpp:
2269         (WebCore::SecurityOrigin::SecurityOrigin):
2270         (WebCore::SecurityOrigin::create):
2271         (WebCore::SecurityOrigin::setSandboxFlags):
2272         * page/SecurityOrigin.h:
2273
2274 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
2275
2276         Reviewed by Timothy Hatcher.
2277
2278         Web Inspector: Inspect Element selects the wrong element.
2279         Drive-by fix that focuses dom tree upon settting focuesDOMNode.
2280
2281         https://bugs.webkit.org/show_bug.cgi?id=33449
2282
2283         * inspector/front-end/ElementsPanel.js:
2284         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
2285         (WebInspector.ElementsPanel.prototype.setDocument):
2286         * inspector/front-end/treeoutline.js:
2287         (TreeElement.prototype.select):
2288
2289 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
2290
2291         Reviewed by Timothy Hatcher.
2292
2293         Web Inspector: Introduce support for flexible line height in the text editor.
2294
2295         https://bugs.webkit.org/show_bug.cgi?id=33431
2296
2297         * inspector/front-end/TextEditor.js:
2298         (WebInspector.TextEditor):
2299         (WebInspector.TextEditor.prototype._offsetToLineNumber):
2300         (WebInspector.TextEditor.prototype._lineNumberToOffset):
2301         (WebInspector.TextEditor.prototype._lineHeight):
2302         (WebInspector.TextEditor.prototype.reveal):
2303         (WebInspector.TextEditor.prototype._textChanged):
2304         (WebInspector.TextEditor.prototype._selectionChanged):
2305         (WebInspector.TextEditor.prototype._updateSize):
2306         (WebInspector.TextEditor.prototype._paintLines):
2307         (WebInspector.TextEditor.prototype._paintLinesContinuation):
2308         (WebInspector.TextEditor.prototype._paintLineNumbers):
2309         (WebInspector.TextEditor.prototype._paintCurrentLine):
2310         (WebInspector.TextEditor.prototype._scroll):
2311         (WebInspector.TextEditor.prototype._repaintOnScroll):
2312         (WebInspector.TextEditor.prototype._caretForMouseEvent):
2313         (WebInspector.TextEditor.prototype._handleNavigationKey):
2314         (WebInspector.TextEditor.prototype._updateCursor):
2315         (WebInspector.TextEditor.prototype._invalidateHighlight):
2316         (WebInspector.TextEditor.prototype._paintSelection):
2317         (WebInspector.TextEditor.prototype._initFont):
2318         (WebInspector.TextCursor.prototype.setTextLineHeight):
2319
2320 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
2321
2322         Reviewed by Timothy Hatcher.
2323
2324         Web Inspector: Do not repaint line numbers while editing within line.
2325
2326         https://bugs.webkit.org/show_bug.cgi?id=33427
2327
2328         * inspector/front-end/TextEditor.js:
2329         (WebInspector.TextEditor.prototype._textChanged):
2330         (WebInspector.TextEditor.prototype._selectionChanged):
2331         (WebInspector.TextEditor.prototype._repaintAll):
2332         (WebInspector.TextEditor.prototype._paintLines):
2333         (WebInspector.TextEditor.prototype._paintLinesContinuation):
2334         (WebInspector.TextEditor.prototype._paintLineNumbers):
2335         (WebInspector.TextEditor.prototype._updateCursor):
2336         (WebInspector.TextEditor.prototype._copy):
2337
2338 2010-01-10  Adam Barth  <abarth@webkit.org>
2339
2340         Unreviewed whitespace fixes.
2341
2342         * html/HTMLFrameOwnerElement.cpp:
2343         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
2344         * loader/FrameLoader.cpp:
2345         (WebCore::FrameLoader::updateSandboxFlags):
2346         * loader/FrameLoader.h:
2347
2348 2010-01-09  Adam Barth  <abarth@webkit.org>
2349
2350         Reviewed by Darin Adler.
2351
2352         Unify origin sandbox flag with m_noAccess in SecurityOrigin
2353         https://bugs.webkit.org/show_bug.cgi?id=32372
2354
2355         It turns out the SandboxOrigin bit is slightly different than the
2356         unique origin concept because the sandbox bit is inherited by iframes.
2357         These concepts are separate in the spec, so I think it's ok to keep
2358         them separate in the implementation as well.
2359
2360         No new tests because there is no behavior change.
2361
2362         * dom/Document.cpp:
2363         (WebCore::Document::cookie):
2364         (WebCore::Document::setCookie):
2365         * loader/CrossOriginAccessControl.cpp:
2366         (WebCore::passesAccessControlCheck):
2367         * page/SecurityOrigin.cpp:
2368         (WebCore::schemesWithUniqueOrigins):
2369         (WebCore::SecurityOrigin::SecurityOrigin):
2370         (WebCore::SecurityOrigin::canAccess):
2371         (WebCore::SecurityOrigin::canRequest):
2372         (WebCore::SecurityOrigin::taintsCanvas):
2373         (WebCore::SecurityOrigin::setSandboxFlags):
2374         (WebCore::SecurityOrigin::toString):
2375         (WebCore::SecurityOrigin::registerURLSchemeAsNoAccess):
2376         (WebCore::SecurityOrigin::shouldTreatURLSchemeAsNoAccess):
2377         * page/SecurityOrigin.h:
2378         (WebCore::SecurityOrigin::canAccessDatabase):
2379         (WebCore::SecurityOrigin::canAccessStorage):
2380         (WebCore::SecurityOrigin::canAccessCookies):
2381         (WebCore::SecurityOrigin::isUnique):
2382
2383 2010-01-09  Adam Barth  <abarth@webkit.org>
2384
2385         Reviewed by Darin Adler.
2386
2387         ScriptController::isEnabled needs to be renamed
2388         https://bugs.webkit.org/show_bug.cgi?id=32063
2389
2390         Rename ScriptController::isEnabled to
2391         ScriptController::canExecuteScripts to reflect what the method actually
2392         means.  This is a trivial change, but it involved touching a lot of
2393         call sites.
2394
2395         * WebCore.PluginHostProcess.exp:
2396         * bindings/ScriptControllerBase.cpp:
2397         (WebCore::ScriptController::canExecuteScripts):
2398         (WebCore::ScriptController::executeScript):
2399         * bindings/js/JSEventListener.cpp:
2400         (WebCore::JSEventListener::handleEvent):
2401         * bindings/js/JSLazyEventListener.cpp:
2402         (WebCore::JSLazyEventListener::parseCode):
2403         * bindings/js/ScheduledAction.cpp:
2404         (WebCore::ScheduledAction::execute):
2405         * bindings/js/ScriptController.cpp:
2406         (WebCore::ScriptController::bindingRootObject):
2407         (WebCore::ScriptController::windowScriptNPObject):
2408         (WebCore::ScriptController::jsObjectForPluginElement):
2409         (WebCore::ScriptController::executeScriptInWorld):
2410         * bindings/js/ScriptController.h:
2411         * bindings/js/ScriptControllerMac.mm:
2412         (WebCore::ScriptController::windowScriptObject):
2413         * bindings/js/ScriptEventListener.cpp:
2414         (WebCore::createAttributeEventListener):
2415         * bindings/js/ScriptState.cpp:
2416         (WebCore::scriptStateFromNode):
2417         * bindings/v8/ScriptController.cpp:
2418         (WebCore::ScriptController::windowScriptNPObject):
2419         (WebCore::ScriptController::createScriptObjectForPluginElement):
2420         * bindings/v8/ScriptController.h:
2421         * bindings/v8/ScriptEventListener.cpp:
2422         (WebCore::createAttributeEventListener):
2423         * bindings/v8/V8Proxy.cpp:
2424         (WebCore::V8Proxy::retrieve):
2425         * dom/ScriptElement.cpp:
2426         (WebCore::ScriptElementData::evaluateScript):
2427         * dom/XMLTokenizerLibxml2.cpp:
2428         (WebCore::XMLTokenizer::startElementNs):
2429         * html/HTMLMediaElement.cpp:
2430         (WebCore::HTMLMediaElement::controls):
2431         * html/HTMLTokenizer.cpp:
2432         (WebCore::HTMLTokenizer::parseTag):
2433         (WebCore::HTMLTokenizer::processToken):
2434         * inspector/InspectorController.cpp:
2435         (WebCore::canPassNodeToJavaScript):
2436         * inspector/JavaScriptDebugServer.cpp:
2437         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
2438         * loader/FrameLoader.cpp:
2439         (WebCore::FrameLoader::isProcessingUserGesture):
2440         (WebCore::FrameLoader::open):
2441         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
2442         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
2443
2444 2010-01-09  Evan Martin  <evan@chromium.org>
2445
2446         Reviewed by Eric Seidel.
2447
2448         Inspector font for errors is ugly on non-OSX platforms
2449         https://bugs.webkit.org/show_bug.cgi?id=33340
2450
2451         * css/view-source.css: Add a fallback to sans-serif on a CSS
2452         selector that previously only listed Lucida Grande.
2453
2454 2010-01-09  Dan Bernstein  <mitz@apple.com>
2455
2456         Reviewed by Nikolas Zimmermann.
2457
2458         <rdar://problem/7525778> Font fallback kills SVG kerning
2459         https://bugs.webkit.org/show_bug.cgi?id=33400
2460
2461         Test: platform/mac/fast/text/sticky-typesetting-features.html
2462
2463         Cache font attributes separately for different typesetting features.
2464
2465         * platform/graphics/SimpleFontData.h: Replaced single-element caches
2466         with maps.
2467         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
2468         (WebCore::disableLigatures): Added an ATSUStyle parameter.
2469         (WebCore::initializeATSUStyle): Look up the ATSUStyle in the map and
2470         initialize if necessary. Return the ATSUStyle.
2471         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
2472         Use the ATSUStyle returned from initializeATSUStyle().
2473         * platform/graphics/mac/SimpleFontDataMac.mm:
2474         (WebCore::SimpleFontData::platformInit):
2475         (WebCore::SimpleFontData::platformDestroy): Destroy the ATSUStyles in the
2476         map.
2477         (WebCore::SimpleFontData::getCFStringAttributes): Look up the attributes
2478         dictionary in the map and initialize if necessary.
2479
2480 2010-01-08  Adam Barth  <abarth@webkit.org>
2481
2482         Unreviewed.  Fix namespace indent for SecurityOrigin.h.
2483
2484         * page/SecurityOrigin.h:
2485         (WebCore::SecurityOrigin::domainWasSetInDOM):
2486         (WebCore::SecurityOrigin::protocol):
2487         (WebCore::SecurityOrigin::host):
2488         (WebCore::SecurityOrigin::domain):
2489         (WebCore::SecurityOrigin::port):
2490         (WebCore::SecurityOrigin::canLoadLocalResources):
2491         (WebCore::SecurityOrigin::setSandboxFlags):
2492         (WebCore::SecurityOrigin::isSandboxed):
2493         (WebCore::SecurityOrigin::canAccessDatabase):
2494         (WebCore::SecurityOrigin::canAccessStorage):
2495         (WebCore::SecurityOrigin::):
2496
2497 2010-01-08  Adam Barth  <abarth@webkit.org>
2498
2499         Reviewed by Dmitry Titov.
2500
2501         bindings/v8/DOMData is missing a virtual destructor
2502         https://bugs.webkit.org/show_bug.cgi?id=33390
2503
2504         DOMData is the base class for ChildThreadDOMData and MainThreadDOMData classes
2505         but it does not have a virtual destructor. While this isn't currently causing
2506         any leaks, since there are no instances of ChildThreadDOMData or
2507         MainThreadDOMData that are manipulated via a DOMData pointer, the ARM GCC
2508         compiler generates the following compilation error:
2509
2510         "/WebCore/bindings/v8/DOMData.h:45: error: 'class WebCore::DOMData' has virtual
2511         functions and accessible non-virtual destructor"
2512
2513         We therefore need to add a virtual destructor to DOMData.
2514
2515         * bindings/v8/DOMData.cpp:
2516         (WebCore::DOMData::~DOMData):
2517         * bindings/v8/DOMData.h:
2518
2519 2010-01-08  Daniel Bates  <dbates@webkit.org>
2520
2521         Reviewed by Adam Barth.
2522
2523         https://bugs.webkit.org/show_bug.cgi?id=33417
2524
2525         Cleans up style errors exposed by the patch for bug #33198.
2526
2527         No functionality was changed. So, no new tests.
2528
2529         * platform/graphics/SimpleFontData.h:
2530         * plugins/PluginPackage.cpp:
2531
2532 2010-01-08  Simon Fraser  <simon.fraser@apple.com>
2533
2534         Reviewed by Dan Bernstein.
2535
2536         WebGL canvas paints background color twice
2537         https://bugs.webkit.org/show_bug.cgi?id=33361
2538
2539         Clean up some logic around "directly composited" content: some images, video, and WebGL.
2540
2541         We previously set the GraphicsLayer background color to the CSS background color
2542         in some cases where the box has no other decorations. However, the content 
2543         layer's bounds do not correspond with the background box in many cases,
2544         and we could end up both painting the background color, and setting it on the layer.
2545         
2546         Simplify this logic to never use layer background colors, and thus skip allocating
2547         backing store only when the element has no visible box decorations.
2548
2549         Tests: compositing/images/direct-image-background-color.html
2550                compositing/reflections/simple-composited-reflections.html
2551                compositing/video/video-background-color.html
2552                compositing/webgl/webgl-background-color.html
2553                compositing/webgl/webgl-blending.html
2554
2555         * rendering/RenderLayerBacking.h:
2556         * rendering/RenderLayerBacking.cpp:
2557         (WebCore::is3DCanvas): Utility to determine if a RenderObject is a canvas with WebGL
2558         (WebCore::RenderLayerBacking::RenderLayerBacking): Remove m_hasDirectlyCompositedContent.
2559         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): canUseDirectCompositing()
2560         is renamed to isDirectlyCompositedImage() and only applies to images now. 
2561         No longer set layer background color.
2562         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Just use hasPaintedContent()
2563         as the argument to setDrawsContent().
2564         (WebCore::hasBoxDecorationsOrBackground): Renamed.
2565         (WebCore::RenderLayerBacking::hasNonCompositingContent):
2566         (WebCore::hasBoxDecorationsOrBackgroundImage): Renamed from hasBoxDecorations().
2567         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Moved test for
2568         hasOverflowControls() into hasNonCompositingContent() and removed the FIXME comment.
2569         (WebCore::RenderLayerBacking::containsPaintedContent): New method that decides
2570         if the layer (and its non-composited children) has any content that must be painted into backing store.
2571         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Renamed from canUseDirectCompositing()
2572         and reduced to only apply to images.
2573         (WebCore::RenderLayerBacking::rendererContentChanged): 3D canvas no longer falls under the
2574         canUseDirectCompositing() scope.
2575
2576 2010-01-08  Steve Block  <steveblock@google.com>
2577
2578         Reviewed by Darin Adler.
2579
2580         Use member initialization syntax instead of assignment for member variables of Document used
2581         for determining minimum layout delay.
2582         https://bugs.webkit.org/show_bug.cgi?id=33316
2583
2584         No new tests, style change only.
2585
2586         * dom/Document.cpp: Modified.
2587         (WebCore::Document::Document): Modified. Use initializer list for m_startTime, m_overMinimumLayoutThreshold and m_extraLayoutDelay.
2588
2589 2010-01-08  Kenneth Russell  <kbr@google.com>
2590
2591         Reviewed by Dimitri Glazkov.
2592
2593         Passing array that is too large to set method of WebGLArrays does not throw an exception
2594         https://bugs.webkit.org/show_bug.cgi?id=33352
2595
2596         Added needed range checks to JSC and V8 custom bindings. Expanded
2597         preexisting test suite for WebGLArrays and updated its expected
2598         results. Tested in WebKit and Chromium.
2599
2600         Test: fast/canvas/webgl/array-set-out-of-bounds.html
2601
2602         * bindings/js/JSWebGLArrayHelper.h:
2603         (WebCore::setWebGLArrayFromArray):
2604         * bindings/v8/custom/V8WebGLArrayCustom.h:
2605         (WebCore::setWebGLArrayFromArray):
2606
2607 2010-01-08  Alexey Proskuryakov  <ap@apple.com>
2608
2609         Reviewed by Dan Bernstein.
2610
2611         https://bugs.webkit.org/show_bug.cgi?id=32962
2612         HTML tags are wrongfully parsed when setting innerHTML of a SCRIPT element
2613
2614         Also fixed the same for STYLE elements.
2615
2616         Tests: fast/dom/css-innerHTML.html
2617                fast/dom/script-innerHTML-x.xhtml
2618                fast/dom/script-innerHTML.html
2619
2620         * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerHTML): Don't parse JS or CSS as HTML,
2621         matching Firefox.
2622
2623 2010-01-08  Beth Dakin  <bdakin@apple.com>
2624
2625         Reviewed by Oliver Hunt.
2626
2627         Fix for https://bugs.webkit.org/show_bug.cgi?id=32757 Repaint bug 
2628         with -webkit-shadow on svg shapes
2629         -and-
2630         <rdar://problem/7389149>
2631
2632         Inflate the repaintRect for the shadow using its extent.
2633         * rendering/RenderForeignObject.cpp:
2634         (WebCore::RenderForeignObject::computeRectForRepaint):
2635         * rendering/RenderSVGImage.cpp:
2636         (WebCore::RenderSVGImage::computeRectForRepaint):
2637         * rendering/RenderSVGModelObject.cpp:
2638         (WebCore::RenderSVGModelObject::computeRectForRepaint):
2639         * rendering/RenderSVGRoot.cpp:
2640         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
2641         (WebCore::RenderSVGRoot::computeRectForRepaint):
2642         * rendering/RenderSVGText.cpp:
2643         (WebCore::RenderSVGText::computeRectForRepaint):
2644         * rendering/SVGRenderSupport.cpp:
2645         (WebCore::getSVGShadowExtent):
2646         (WebCore::SVGRenderBase::inflateForShadow):
2647         * rendering/SVGRenderSupport.h:
2648
2649 2010-01-08  Kenneth Russell  <kbr@google.com>
2650
2651         Reviewed by Dimitri Glazkov.
2652
2653         WebGLArray subclasses do the wrong conversion in indexSetter
2654         https://bugs.webkit.org/show_bug.cgi?id=33350
2655
2656         Test: fast/canvas/webgl/array-setters.html
2657
2658         * bindings/js/JSWebGLFloatArrayCustom.cpp:
2659         (WebCore::JSWebGLFloatArray::indexSetter):
2660         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
2661         (WebCore::JSWebGLUnsignedIntArray::indexSetter):
2662
2663 2010-01-08  Luiz Agostini  <luiz.agostini@openbossa.org>
2664
2665         Reviewed by Kenneth Rohde Christiansen.
2666
2667         [Qt] Delegation client
2668         https://bugs.webkit.org/show_bug.cgi?id=32826
2669
2670         Factory related code removed from QtAbstractWebPopup. Popups are now created
2671         by ChromeClientQt.
2672         Popup content information struct added to class QtAbstractWebPopup.
2673         PopupMenuClient is now hidden from higher layers.
2674         QtAbstractWebPopup now receives content information and font as parameters
2675         of method populate.
2676         QtFallbackWebPopup moved to WebKit/qt/WebCoreSupport.
2677
2678         * WebCore.pro:
2679         * platform/qt/PopupMenuQt.cpp:
2680         (WebCore::PopupMenu::PopupMenu):
2681         (WebCore::getItems):
2682         (WebCore::PopupMenu::show):
2683         * platform/qt/QtAbstractWebPopup.cpp:
2684         (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
2685         (WebCore::QtAbstractWebPopup::popupDidHide):
2686         (WebCore::QtAbstractWebPopup::valueChanged):
2687         * platform/qt/QtAbstractWebPopup.h:
2688         (WebCore::QtAbstractWebPopup::Item::):
2689         * platform/qt/QtFallbackWebPopup.cpp: Removed.
2690         * platform/qt/QtFallbackWebPopup.h: Removed.
2691
2692 2010-01-08  Yuzo Fujishima  <yuzo@google.com>
2693
2694         Reviewed by Darin Adler.
2695
2696         Skip invalid blocks in CSS property declarations.
2697         https://bugs.webkit.org/show_bug.cgi?id=31231
2698         https://bugs.webkit.org/show_bug.cgi?id=26619
2699
2700         This patch makes the CSS parser skip property declarations containing invalid blocks.
2701
2702         Test: fast/css/parsing-error-recovery.html
2703
2704         * css/CSSGrammar.y:
2705
2706 2010-01-08  Chris Fleizach  <cfleizach@apple.com>
2707
2708         Reviewed by Beth Dakin.
2709
2710         AX: CSS content not returned correctly in AX
2711         https://bugs.webkit.org/show_bug.cgi?id=33308
2712
2713         Test: platform/mac/accessibility/css-content-attribute.html
2714
2715         * accessibility/AccessibilityRenderObject.cpp:
2716         (WebCore::AccessibilityRenderObject::textUnderElement):
2717
2718 2010-01-08  Chris Marrin  <cmarrin@apple.com>
2719
2720         Reviewed by Adam Roben.
2721
2722         Implement full-screen video for Windows
2723         https://bugs.webkit.org/show_bug.cgi?id=31318
2724         
2725         This is mostly support logic for taking video
2726         into and out of full-screen. It also contains the
2727         QTMovieWin piece which adds support for the actual
2728         full-screen window itself. Events from the window
2729         are sent to the FullscreenVideosController for handling.
2730
2731         * loader/FrameLoader.cpp:
2732         (WebCore::FrameLoader::addData):
2733         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2734         (WebCore::MediaPlayerPrivate::supportsFullscreen):
2735         (WebCore::MediaPlayerPrivate::platformMedia):
2736         * platform/graphics/win/QTMovieWin.cpp:
2737         (QTMovieWinPrivate::QTMovieWinPrivate):
2738         (QTMovieWin::initializeQuickTime):
2739         (QTMovieWin::_handleMessages):
2740         (QTMovieWin::enterFullscreen):
2741         (QTMovieWin::exitFullscreen):
2742         * platform/graphics/win/QTMovieWin.h:
2743
2744 2010-01-08  Matt Perry  <mpcomplete@chromium.org>
2745
2746         Reviewed by Adam Barth.
2747
2748         Fix a regression that removed a call to
2749         FrameLoaderClient::didDestroyScriptContextForFrame.
2750         https://bugs.webkit.org/show_bug.cgi?id=33347
2751
2752         * bindings/v8/V8DOMWindowShell.cpp:
2753         (WebCore::V8DOMWindowShell::disposeContextHandles):
2754
2755 2010-01-08  Brent Fulgham  <bfulgham@webkit.org>
2756
2757         Reviewed by Adam Roben.
2758
2759         WebKit plugins are not rendered during printing.
2760         https://bugs.webkit.org/show_bug.cgi?id=33022.
2761
2762         * plugins/win/PluginViewWin.cpp:
2763         (WebCore::PluginView::paintWindowedPluginIntoContext): Tell
2764           cairo printing surface to flush so that blank regions do
2765           not write over the plugin's paint operations.
2766         * rendering/RenderLayer.cpp: Build fix.
2767         (WebCore::RenderLayer::beginTransparencyLayers): Correct
2768           method signature missing for ColorSpace.
2769
2770 2010-01-08  Chris Fleizach  <cfleizach@apple.com>
2771
2772         Reviewed by Eric Seidel.
2773
2774         REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
2775         https://bugs.webkit.org/show_bug.cgi?id=33300
2776
2777         * accessibility/mac/AccessibilityObjectWrapper.mm:
2778         (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]):
2779         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
2780
2781 2010-01-08  Pavel Feldman  <pfeldman@chromium.org>
2782
2783         Reviewed by Timothy Hatcher.
2784
2785         Web Inspector: Regex-based syntax highlighting is slow.
2786
2787         https://bugs.webkit.org/show_bug.cgi?id=33330
2788
2789         * WebCore.gypi:
2790         * WebCore.vcproj/WebCore.vcproj:
2791         * inspector/front-end/JavaScriptHighlighterScheme.js: Removed.
2792         * inspector/front-end/JavaScriptTokenizer.js: Added.
2793         (WebInspector.JavaScriptTokenizer):
2794         (WebInspector.JavaScriptTokenizer.prototype.set line):
2795         (WebInspector.JavaScriptTokenizer.prototype.getCondition):
2796         (WebInspector.JavaScriptTokenizer.prototype.setCondition):
2797         (WebInspector.JavaScriptTokenizer.prototype._charAt):
2798         (WebInspector.JavaScriptTokenizer.prototype.nextToken):
2799         * inspector/front-end/JavaScriptTokenizer.re2js: Added.
2800         * inspector/front-end/TextEditorHighlighter.js:
2801         (WebInspector.TextEditorHighlighter):
2802         (WebInspector.TextEditorHighlighter.prototype.highlight):
2803         (WebInspector.TextEditorHighlighter.prototype._lex):
2804         * inspector/front-end/WebKit.qrc:
2805         * inspector/front-end/inspector.html:
2806
2807 2010-01-07  Mike Belshe  <mbelshe@chromium.org>
2808
2809         Reviewed by Darin Adler.
2810
2811         Fix Spdy casing to match style guide.
2812
2813         https://bugs.webkit.org/show_bug.cgi?id=33326
2814
2815         * platform/network/chromium/ResourceResponse.h:
2816         (WebCore::ResourceResponse::ResourceResponse):
2817         (WebCore::ResourceResponse::wasFetchedViaSPDY):
2818         (WebCore::ResourceResponse::setWasFetchedViaSPDY):
2819
2820 2010-01-07  Daniel Bates  <dbates@rim.com>
2821
2822         Reviewed by Eric Seidel.
2823
2824         https://bugs.webkit.org/show_bug.cgi?id=32987
2825
2826         Added ENABLE_XHTMLMP flag. Disabled by default.
2827
2828         * Configurations/FeatureDefines.xcconfig:
2829         * GNUmakefile.am:
2830         * WebCore.pro:
2831         * WebCore.xcodeproj/project.pbxproj:
2832         * config.h:
2833
2834 2010-01-07  Stephanie Lewis  <slewis@apple.com>
2835
2836         Rolled out http://trac.webkit.org/changeset/52778 due to rolling
2837         out http://trac.webkit.org/changeset/52756
2838
2839         * dom/Document.cpp:
2840         (WebCore::Document::recalcStyle):
2841         * editing/SelectionController.cpp:
2842         (WebCore::SelectionController::layout):
2843         (WebCore::SelectionController::recomputeCaretRect):
2844         (WebCore::SelectionController::invalidateCaretRect):
2845         (WebCore::SelectionController::paintCaret):
2846         * html/HTMLFormControlElement.cpp:
2847         (WebCore::HTMLFormControlElement::attach):
2848         * html/HTMLInputElement.cpp:
2849         (WebCore::HTMLInputElement::attach):
2850         * page/Frame.cpp:
2851         (WebCore::Frame::revealSelection):
2852
2853 2010-01-07  Stephanie Lewis  <slewis@apple.com>
2854
2855         Rollout http://trac.webkit.org/changeset/52756 due to a large performance regression.
2856
2857         * dom/Document.cpp:
2858         (WebCore::Document::updateLayout):
2859         * editing/SelectionController.cpp:
2860         (WebCore::SelectionController::SelectionController):
2861         (WebCore::SelectionController::setSelection):
2862         * editing/SelectionController.h:
2863         * page/Frame.cpp:
2864         (WebCore::Frame::setCaretVisible):
2865         (WebCore::Frame::selectionLayoutChanged):
2866         (WebCore::Frame::caretBlinkTimerFired):
2867         (WebCore::Frame::selectionBounds):
2868         * page/FrameView.cpp:
2869         (WebCore::FrameView::needsLayout):
2870
2871 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
2872
2873         Reviewed by Sam Weinig.
2874
2875         Fix a crash seen on the buildbots.
2876
2877         * bindings/js/JSDOMWindowBase.cpp:
2878         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Don't disable specific
2879         function tracking here; it's too late, as some specific functions
2880         may already have been tracked in the base class constructor.
2881
2882 2010-01-07  Nikolas Zimmermann  <nzimmermann@rim.com>
2883
2884         Reviewed by Dirk Schulze.
2885
2886         SVGTextElement & friends need to implement svgAttributeChanged
2887         https://bugs.webkit.org/show_bug.cgi?id=33284
2888
2889         Implement svgAttributeChanged() for SVGTextElement & SVGTRefElement. As <text> element contain children,
2890         childrenChanged() has to be implemented as well for SVGTextElement.
2891
2892         Simplify SVGTransformable::parseTransformAttribute() code, clearing lists in the beginning
2893         and on error case, after parsing - previously the calling site had to take care of that.
2894
2895         Tests: svg/dynamic-updates/SVGTRefElement-dom-href-attr.html
2896                svg/dynamic-updates/SVGTextElement-dom-transform-attr.html
2897                svg/dynamic-updates/SVGTextElement-svgdom-transform-prop.html
2898
2899         * svg/SVGGradientElement.cpp:
2900         (WebCore::SVGGradientElement::parseMappedAttribute):
2901         * svg/SVGPatternElement.cpp:
2902         (WebCore::SVGPatternElement::parseMappedAttribute):
2903         * svg/SVGStyledTransformableElement.cpp:
2904         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
2905         * svg/SVGTRefElement.cpp:
2906         (WebCore::SVGTRefElement::svgAttributeChanged):
2907         * svg/SVGTRefElement.h:
2908         * svg/SVGTextElement.cpp:
2909         (WebCore::SVGTextElement::parseMappedAttribute):
2910         (WebCore::SVGTextElement::svgAttributeChanged):
2911         (WebCore::SVGTextElement::childrenChanged):
2912         * svg/SVGTextElement.h:
2913         * svg/SVGTextPositioningElement.cpp:
2914         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
2915         * svg/SVGTextPositioningElement.h:
2916         * svg/SVGTransformable.cpp:
2917         (WebCore::SVGTransformable::parseTransformAttribute):
2918         * svg/SVGTransformable.h:
2919
2920 2010-01-07  Brian Weinstein  <bweinstein@apple.com>
2921
2922         Reviewed by Adele Peterson.
2923
2924         Padding in popup menu gets lost with styled <select> in Windows.
2925         Fixes <rdar://7285538>, and <http://webkit.org/b/33235>.
2926
2927         [Win] Support padding-right on selects when webkit-appearance is off. Added a test
2928         case for narrow selects with -webkit-appearance: none, and padding left and right to
2929         show that both types of padding are honored.
2930
2931         * manual-tests/select-webkit-appearance-off-narrow-select.html: Added.
2932         * platform/win/PopupMenuWin.cpp:
2933         (WebCore::PopupMenu::calculatePositionAndSize): Use clientPaddingRight instead of a hardcoded constant.
2934         * rendering/RenderMenuList.cpp:
2935         (WebCore::RenderMenuList::clientPaddingRight): If webkit-appearance is off, use padding-right instead of
2936         the hardcoded constant.
2937
2938 2010-01-07  Alexey Proskuryakov  <ap@apple.com>
2939
2940         Reviewed by Geoffrey Garen.
2941
2942         https://bugs.webkit.org/show_bug.cgi?id=33057
2943         REGRESSION(r49365): typeof(xhr.responseText) != "string" in Windows
2944
2945         <rdar://problem/7296920> REGRESSION: WebKit fails to start PeaceKeeper benchmark
2946
2947         * config.h: Define JS_EXPORTCLASS. I'm not sure why this isn't done in JSC globally for all
2948         possible clients, but keeping the current design for now.
2949
2950 2010-01-07  Brent Fulgham  <bfulgham@webkit.org>
2951
2952         Reviewed by Jon Honeycutt.
2953
2954         Account for scale and current context position (as well as page
2955         position) in the device context world transform passed to
2956         plugins.  This is especially important for print surface DPI.
2957         http://bugs.webkit.org/show_bug.cgi?id=32909.
2958
2959         * plugins/win/PluginViewWin.cpp:
2960         (WebCore::PluginView::paintWindowedPluginIntoContext): Revise
2961           world context handling to include scaling and translation
2962           already set for the CTM.
2963
2964 2010-01-07  Nate Chapin  <japhet@chromium.org>
2965
2966         Reviewed by Dimitri Glazkov.
2967
2968         Generate V8 bindings header declarations for named and indexed accessors.
2969
2970         * bindings/scripts/CodeGeneratorV8.pm:
2971         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2972         * bindings/v8/custom/V8CustomBinding.h:
2973         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2974         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
2975         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2976         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2977         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2978         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
2979         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2980         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2981         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2982         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2983         * bindings/v8/custom/V8NodeListCustom.cpp:
2984         * bindings/v8/custom/V8StorageCustom.cpp:
2985         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
2986         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
2987         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
2988         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
2989         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
2990         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
2991         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
2992         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
2993
2994 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
2995
2996         Better build fix: use 'this->structure()', since 'structure' is a
2997         PassRefPtr, and therefore null.
2998
2999         * bindings/js/JSDOMWindowBase.cpp:
3000         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3001
3002 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
3003
3004         Build fix: avoid a name conflict by using the local 'structure' instead
3005         of the member 'structure()'.
3006
3007         * bindings/js/JSDOMWindowBase.cpp:
3008         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3009
3010 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
3011
3012         Build fix.
3013
3014         Add RenderEmbeddedObject.h/cpp to all the build systems.
3015
3016         * Android.mk:
3017         * GNUmakefile.am:
3018         * WebCore.gypi:
3019         * WebCore.pro:
3020         * WebCore.vcproj/WebCore.vcproj:
3021         * WebCoreSources.bkl:
3022
3023 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
3024
3025         Reviewed by Sam Weinig.
3026
3027         Safari memory usage skyrockets using new Google AdWords interface
3028         https://bugs.webkit.org/show_bug.cgi?id=33343
3029
3030         * bindings/js/JSDOMWindowBase.cpp:
3031         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Disabled specific function
3032         tracking for the window object, since there's no way to do direct
3033         method calls on the window object; they all go through the window shell.
3034
3035 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
3036
3037         Reviewed by Kevin Decker, Darin Adler.
3038
3039         https://bugs.webkit.org/show_bug.cgi?id=33338
3040         Create a renderer for <object> and <embed>
3041         
3042         Add RenderEmbeddedObject, which derives from RenderPartObject, and is created for <object> and <embed>.
3043         Instances of RenderPartObject are now only allocated for iframes.
3044         
3045         Move object/embed-related code from RenderPartObject to RenderEmbeddedObject.
3046
3047         * WebCore.xcodeproj/project.pbxproj:
3048         Add RenderEmbeddedObject.h/cpp
3049         
3050         * html/HTMLEmbedElement.cpp:
3051         (WebCore::HTMLEmbedElement::createRenderer): Create a RenderEmbeddedObject.
3052         (WebCore::HTMLEmbedElement::updateWidget): Use toRenderEmbeddedObject()
3053
3054         * html/HTMLMediaElement.cpp:
3055         (WebCore::HTMLMediaElement::createRenderer): Make a RenderEmbeddedObject for the plugin-proxy case.
3056         (WebCore::HTMLMediaElement::finishParsingChildren): Use toRenderEmbeddedObject() in the plugin-proxy code.
3057
3058         * html/HTMLObjectElement.cpp:
3059         (WebCore::HTMLObjectElement::createRenderer): Make a RenderEmbeddedObject
3060         (WebCore::HTMLObjectElement::updateWidget): Use toRenderEmbeddedObject()
3061
3062         * page/FrameView.h:
3063         * page/FrameView.cpp:
3064         (WebCore::FrameView::addWidgetToUpdate):
3065         (WebCore::FrameView::removeWidgetToUpdate):
3066         (WebCore::FrameView::updateWidgets):
3067         Objects in the m_widgetUpdateSet are only ever RenderEmbeddedObjects.
3068         
3069         * rendering/RenderEmbeddedObject.cpp: Added.
3070         * rendering/RenderEmbeddedObject.h: Added.
3071         Most of the code moved from RenderPartObject.
3072         
3073         * rendering/RenderObject.h:
3074         (WebCore::RenderObject::isEmbeddedObject): New method.
3075
3076         * rendering/RenderPart.cpp:
3077         (WebCore::RenderPart::RenderPart): Initialize m_hasFallbackContent here, rather than in the derived classes.
3078         * rendering/RenderPart.h: Comments.
3079         
3080         * rendering/RenderPartObject.h:
3081         * rendering/RenderPartObject.cpp:
3082         (WebCore::RenderPartObject::RenderPartObject): Clean up, code moved to base class, and removed object/embed-specific code.
3083         (WebCore::RenderPartObject::layout): Removed object/embed-specific code.
3084
3085 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
3086
3087         Reviewed by Darin Adler.
3088
3089         https://bugs.webkit.org/show_bug.cgi?id=33338
3090         Create a renderer for <object> and <embed>
3091
3092         First part of this change: renderPartObject->updateWidget() is a no-op for iframe elements,
3093         so we don't need to call it here, and can thus remove the attach() override entirely.
3094
3095         * html/HTMLIFrameElement.cpp:
3096         * html/HTMLIFrameElement.h:
3097
3098 2009-01-07  Pavel Feldman  <pfeldman@chromium.org>
3099
3100         Reviewed by Timothy Hatcher.
3101
3102         Web Inspector: Migrate to canvas-based text viewer / editor that scales.
3103
3104         https://bugs.webkit.org/show_bug.cgi?id=33001
3105
3106         * WebCore.gypi:
3107         * WebCore.vcproj/WebCore.vcproj:
3108         * inspector/front-end/JavaScriptHighlighterScheme.js: Added.
3109         (WebInspector.JavaScriptHighlighterScheme):
3110         * inspector/front-end/KeyboardShortcut.js:
3111         * inspector/front-end/TextEditor.js: Added.
3112         (WebInspector.TextEditor):
3113         (WebInspector.TextSelectionModel):
3114         (WebInspector.TextCursor):
3115         * inspector/front-end/TextEditorHighlighter.js: Added.
3116         (WebInspector.TextEditorHighlighter):
3117         (WebInspector.TextEditorHighlighter.prototype.highlight):
3118         (WebInspector.TextEditorHighlighter.prototype._lex):
3119         * inspector/front-end/TextEditorModel.js: Added.
3120         (WebInspector.TextRange):
3121         (WebInspector.TextRange.prototype.clone):
3122         (WebInspector.TextEditorModel):
3123         * inspector/front-end/WebKit.qrc:
3124         * inspector/front-end/inspector.css:
3125         * inspector/front-end/inspector.html:
3126
3127 2010-01-07  Christian Sejersen  <christian.webkit@gmail.com>
3128
3129         Reviewed by Darin Adler.
3130
3131         document.title does not replace or remove space characters
3132         https://bugs.webkit.org/show_bug.cgi?id=27032
3133
3134         Test: fast/dom/Document/document-title-get.html
3135
3136         * dom/Document.cpp: 
3137         (WebCore::Document::Document): 
3138         Initialization of m_rawTitle
3139         (WebCore::canonicalizedTitle): 
3140         Moved from DocumentLoader.cpp with minor edits
3141         (WebCore::Document::updateTitle): 
3142         Ensures the title is canonicalized
3143         (WebCore::Document::setTitle): 
3144         Uses m_rawTitle instaed of m_title 
3145         (WebCore::Document::removeTitle): 
3146         Uses m_rawTitle instead of m_title
3147         
3148         * dom/Document.h: 
3149         Added m_rawTitle that stores the passed in title, m_title now stores the 
3150         canonicalized title
3151         
3152         * loader/DocumentLoader.cpp:
3153         (WebCore::DocumentLoader::setTitle): 
3154         The title passed in is now canonicalized in Document.cpp
3155
3156 2010-01-07  Yuzo Fujishima  <yuzo@google.com>
3157
3158         Reviewed by Darin Adler.
3159
3160         Allow leading/trailing space for CSS nth-*() and lang().
3161         https://bugs.webkit.org/show_bug.cgi?id=17248
3162
3163         For pseudo-classes :nth-*() and :lang(), space must be allowed after '(' and before ')'.
3164         See the bug comments for why we don't allow space at other places.
3165
3166         * css/CSSGrammar.y:
3167
3168 2010-01-07  Chris Fleizach  <cfleizach@apple.com>
3169
3170         Reviewed by Beth Dakin.
3171
3172         AX: contentEditable DIVs are not AX accessible
3173         https://bugs.webkit.org/show_bug.cgi?id=33325
3174
3175         Test: accessibility/contenteditable-hidden-div.html
3176
3177         * accessibility/AccessibilityRenderObject.cpp:
3178         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3179         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
3180
3181 2010-01-07  Adam Barth  <abarth@webkit.org>
3182
3183         Unreviewed.  Resolve merge conflict.
3184
3185         * bindings/v8/V8Proxy.cpp:
3186         (WebCore::V8Proxy::setContextDebugId):
3187
3188 2010-01-07  Adam Barth  <abarth@webkit.org>
3189
3190         No review, rolling out r52847.
3191         http://trac.webkit.org/changeset/52847
3192         https://bugs.webkit.org/show_bug.cgi?id=33232
3193
3194         Might have caused a perf regression.  I'm rolling this out to see if it
3195         heals the perf bot.
3196
3197         * bindings/v8/ScriptController.cpp:
3198         (WebCore::ScriptController::ScriptController):
3199         (WebCore::ScriptController::~ScriptController):
3200         (WebCore::ScriptController::updateSecurityOrigin):
3201         (WebCore::ScriptController::evaluateInIsolatedWorld):
3202         (WebCore::ScriptController::haveInterpreter):
3203         (WebCore::ScriptController::clearWindowShell):
3204         (WebCore::ScriptController::updateDocument):
3205         * bindings/v8/ScriptController.h:
3206         * bindings/v8/V8DOMWindowShell.cpp:
3207         * bindings/v8/V8DOMWindowShell.h:
3208         * bindings/v8/V8DOMWrapper.cpp:
3209         (WebCore::V8DOMWrapper::instantiateV8Object):
3210         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
3211         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
3212         * bindings/v8/V8IsolatedContext.cpp:
3213         (WebCore::V8IsolatedContext::V8IsolatedContext):
3214         * bindings/v8/V8Proxy.cpp:
3215         (WebCore::V8Proxy::V8Proxy):
3216         (WebCore::V8Proxy::~V8Proxy):
3217         (WebCore::V8Proxy::handleOutOfMemory):
3218         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3219         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
3220         (WebCore::V8Proxy::clearForClose):
3221         (WebCore::V8Proxy::clearForNavigation):
3222         (WebCore::V8Proxy::context):
3223         (WebCore::V8Proxy::mainWorldContext):
3224         (WebCore::V8Proxy::currentContext):
3225         (WebCore::V8Proxy::setContextDebugId):
3226         * bindings/v8/V8Proxy.h:
3227         (WebCore::V8Proxy::windowShell):
3228         * bindings/v8/WorldContextHandle.cpp:
3229         (WebCore::WorldContextHandle::adjustedContext):
3230
3231 2010-01-07  Dan Bernstein  <mitz@apple.com>
3232
3233         Build fix
3234
3235         * WebCore.xcodeproj/project.pbxproj: Made TypesettingFeatures.h private.
3236
3237 2010-01-07  Dan Bernstein  <mitz@apple.com>
3238
3239         Reviewed by Sam Weinig.
3240
3241         Added Font::typesettingFeatures() and deployed it
3242
3243         No change in funcitonality
3244
3245         * WebCore.xcodeproj/project.pbxproj: Added TypesettingFeatures.h.
3246         * platform/graphics/Font.h:
3247         (WebCore::Font::typesettingFeatures): Added. Determines the typesetting
3248             features from the text redndering mode.
3249         * platform/graphics/FontFastPath.cpp:
3250         (WebCore::Font::canUseGlyphCache): Use typesettingFeatures().
3251         * platform/graphics/SimpleFontData.h:
3252         * platform/graphics/TypesettingFeatures.h: Added.
3253         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
3254         (WebCore::disableLigatures): Take TypesettingFeatures instead of
3255             TextRenderingMode.
3256         (WebCore::initializeATSUStyle): Ditto.
3257         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
3258             Use typesettingFeatures().
3259         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
3260         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
3261             Ditto.
3262         * platform/graphics/mac/SimpleFontDataMac.mm:
3263         (WebCore::SimpleFontData::getCFStringAttributes): Take
3264             TypesettingFeatures instead of TextRenderingMode.
3265         * rendering/RenderBlockLineLayout.cpp:
3266         (WebCore::RenderBlock::findNextLineBreak): Use TypesettingFeatures().
3267
3268 2010-01-07  Dimitri Glazkov  <dglazkov@chromium.org>
3269
3270         No review, rolling out r52900.
3271         http://trac.webkit.org/changeset/52900
3272         https://bugs.webkit.org/show_bug.cgi?id=30055
3273
3274         Broke over 30 SVG pixel tests.
3275
3276         * rendering/RenderPath.cpp:
3277         (WebCore::RenderPath::paint):
3278
3279 2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
3280
3281         Rubber-stamped by Kenneth Rohde Christiansen.
3282
3283         [Qt] The library version number of the first package release is 4.7.0.
3284
3285         * WebCore.pro:
3286
3287 2010-01-07  Yael Aharon  <yael.aharon@nokia.com>
3288
3289         Reviewed by Kenneth Rohde Christiansen.
3290
3291         [Qt] Allow the application to override online/offline network status
3292         https://bugs.webkit.org/show_bug.cgi?id=32684
3293
3294         Added API to NetworkStateNotifier for forcing network status.
3295
3296         * platform/network/NetworkStateNotifier.h:
3297         * platform/network/qt/NetworkStateNotifierPrivate.h:
3298         * platform/network/qt/NetworkStateNotifierQt.cpp:
3299         (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
3300         (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
3301         (WebCore::NetworkStateNotifierPrivate::networkAccessPermissionChanged):
3302         (WebCore::NetworkStateNotifier::updateState):
3303         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
3304         (WebCore::NetworkStateNotifier::setNetworkAccessAllowed):
3305
3306 2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
3307
3308         Reviewed by Tor Arne Vestbø.
3309
3310         [Qt] Fix linkage against Qt mobility API bearer management module
3311
3312         Use the documented .pro file syntax to link against the correct
3313         library and (more importantly) get the include paths correct.
3314
3315         * WebCore.pro:
3316
3317 2010-01-07  Eric Carlson  <eric.carlson@apple.com>
3318
3319         Reviewed by Maciej Stachowiak.
3320
3321         https://bugs.webkit.org/show_bug.cgi?id=33272
3322         'abort' event still fired as a progress event
3323
3324         rdar://6710625
3325         Test media/video-error-abort.html doesn't work
3326
3327         Test: http/tests/media/video-error-abort.html
3328
3329         * html/HTMLMediaElement.cpp:
3330         (WebCore::HTMLMediaElement::scheduleEvent): Incorporate code from enqueueEvent.
3331         (WebCore::HTMLMediaElement::loadInternal): Fix 'abort' event firing logic missed
3332         in https://bugs.webkit.org/show_bug.cgi?id=30513. Change order of initialization 
3333         to match spec wording.
3334         * html/HTMLMediaElement.h: Remove enqueueEvent prototype.
3335
3336 2010-01-07  Kim Grönholm  <kim.gronholm@nomovok.com>
3337
3338         Reviewed by Antti Koivisto.
3339
3340         Wrong state and TouchLists in TouchEvents
3341         https://bugs.webkit.org/show_bug.cgi?id=32878
3342
3343         Touch events changed to match the API and semantics of iPhone and
3344         Android. Each new touch point press dispatches a touchstart event with
3345         the pressed touch point(s) in the changedTouches list, and a release
3346         dispatches a touchend event with the released touch point(s) in
3347         changedTouches. Moved points dispatch a touchmove event, with the moved
3348         points in changedTouches. Old behaviour emitted only one touchstart when
3349         the first point was pressed and one touchend when the last point was
3350         released, and any events in between were touchmoves. New presses or
3351         releases could only be detected by comparing the lists touches and
3352         changedTouches.
3353
3354         * page/EventHandler.cpp:
3355         (WebCore::EventHandler::handleTouchEvent):
3356         * page/EventHandler.h:
3357
3358 2010-01-07  Kent Tamura  <tkent@chromium.org>
3359
3360         Reviewed by Maciej Stachowiak.
3361
3362         Remove COM code generation stuff.
3363         https://bugs.webkit.org/show_bug.cgi?id=32854
3364
3365         Remove the followings:
3366         - CodeGeenratorCOM.pm, COM code generator,
3367         - "#if !defined(LANGUAGE_COM) || !LANGUAGE_COM" in IDL files, and
3368         - UUID attributes in IDL files.
3369
3370         * bindings/scripts/CodeGeneratorCOM.pm: Removed.
3371         * css/CSSCharsetRule.idl:
3372         * css/CSSFontFaceRule.idl:
3373         * css/CSSImportRule.idl:
3374         * css/CSSMediaRule.idl:
3375         * css/CSSPageRule.idl:
3376         * css/CSSPrimitiveValue.idl:
3377         * css/CSSRule.idl:
3378         * css/CSSRuleList.idl:
3379         * css/CSSStyleDeclaration.idl:
3380         * css/CSSStyleRule.idl:
3381         * css/CSSStyleSheet.idl:
3382         * css/CSSUnknownRule.idl:
3383         * css/CSSValue.idl:
3384         * css/CSSValueList.idl:
3385         * css/Counter.idl:
3386         * css/MediaList.idl:
3387         * css/RGBColor.idl:
3388         * css/Rect.idl:
3389         * css/StyleSheet.idl:
3390         * css/StyleSheetList.idl:
3391         * css/WebKitCSSKeyframeRule.idl:
3392         * css/WebKitCSSKeyframesRule.idl:
3393         * css/WebKitCSSTransformValue.idl:
3394         * dom/Attr.idl:
3395         * dom/CDATASection.idl:
3396         * dom/CharacterData.idl:
3397         * dom/Comment.idl:
3398         * dom/DOMImplementation.idl:
3399         * dom/Document.idl:
3400         * dom/DocumentFragment.idl:
3401         * dom/DocumentType.idl:
3402         * dom/Element.idl:
3403         * dom/Entity.idl:
3404         * dom/EntityReference.idl:
3405         * dom/Event.idl:
3406         * dom/EventListener.idl:
3407         * dom/EventTarget.idl:
3408         * dom/NamedNodeMap.idl:
3409         * dom/Node.idl:
3410         * dom/NodeList.idl:
3411         * dom/Notation.idl:
3412         * dom/ProcessingInstruction.idl:
3413         * dom/Text.idl:
3414         * html/HTMLAnchorElement.idl:
3415         * html/HTMLAppletElement.idl:
3416         * html/HTMLAreaElement.idl:
3417         * html/HTMLBRElement.idl:
3418         * html/HTMLBaseElement.idl:
3419         * html/HTMLBaseFontElement.idl:
3420         * html/HTMLBlockquoteElement.idl:
3421         * html/HTMLBodyElement.idl:
3422         * html/HTMLButtonElement.idl:
3423         * html/HTMLCanvasElement.idl:
3424         * html/HTMLCollection.idl:
3425         * html/HTMLDListElement.idl:
3426         * html/HTMLDirectoryElement.idl:
3427         * html/HTMLDivElement.idl:
3428         * html/HTMLDocument.idl:
3429         * html/HTMLElement.idl:
3430         * html/HTMLEmbedElement.idl:
3431         * html/HTMLFieldSetElement.idl:
3432         * html/HTMLFontElement.idl:
3433         * html/HTMLFormElement.idl:
3434         * html/HTMLFrameElement.idl:
3435         * html/HTMLFrameSetElement.idl:
3436         * html/HTMLHRElement.idl:
3437         * html/HTMLHeadElement.idl:
3438         * html/HTMLHeadingElement.idl:
3439         * html/HTMLHtmlElement.idl:
3440         * html/HTMLIFrameElement.idl:
3441         * html/HTMLImageElement.idl:
3442         * html/HTMLInputElement.idl:
3443         * html/HTMLIsIndexElement.idl:
3444         * html/HTMLLIElement.idl:
3445         * html/HTMLLabelElement.idl:
3446         * html/HTMLLegendElement.idl:
3447         * html/HTMLLinkElement.idl:
3448         * html/HTMLMapElement.idl:
3449         * html/HTMLMarqueeElement.idl:
3450         * html/HTMLMenuElement.idl:
3451         * html/HTMLMetaElement.idl:
3452         * html/HTMLModElement.idl:
3453         * html/HTMLOListElement.idl:
3454         * html/HTMLObjectElement.idl:
3455         * html/HTMLOptGroupElement.idl:
3456         * html/HTMLOptionElement.idl:
3457         * html/HTMLOptionsCollection.idl:
3458         * html/HTMLParagraphElement.idl:
3459         * html/HTMLParamElement.idl:
3460         * html/HTMLPreElement.idl:
3461         * html/HTMLQuoteElement.idl:
3462         * html/HTMLScriptElement.idl:
3463         * html/HTMLSelectElement.idl:
3464         * html/HTMLStyleElement.idl:
3465         * html/HTMLTableCaptionElement.idl:
3466         * html/HTMLTableCellElement.idl:
3467         * html/HTMLTableColElement.idl:
3468         * html/HTMLTableElement.idl:
3469         * html/HTMLTableRowElement.idl:
3470         * html/HTMLTableSectionElement.idl:
3471         * html/HTMLTextAreaElement.idl:
3472         * html/HTMLTitleElement.idl:
3473         * html/HTMLUListElement.idl:
3474
3475 2010-01-07  Steve Block  <steveblock@google.com>
3476
3477         Reviewed by Darin Adler.
3478
3479         Adds the ability to increase the delay used when scheduling layout.
3480         https://bugs.webkit.org/show_bug.cgi?id=32875
3481
3482         No new tests possible.
3483
3484         * dom/Document.cpp: Modified.
3485         (WebCore::Document::Document): Modified. Initializes extra layout delay to zero.
3486         (WebCore::Document::minimumLayoutDelay): Modified. Adds extra layout delay when calculating minimum layout delay.
3487         * dom/Document.h: Modified.
3488         (WebCore::Document::setExtraLayoutDelay): Added. Sets the extra layout delay.
3489
3490 2010-01-07  Kent Tamura  <tkent@chromium.org>
3491
3492         Reviewed by Eric Seidel.
3493
3494         Some IDL files lack "," separators for extended attributes.
3495         https://bugs.webkit.org/show_bug.cgi?id=33190
3496
3497         To find such mistakes, IDLParser.pm rejects whitespace characters in
3498         extended attribute names.
3499
3500         * bindings/scripts/IDLParser.pm:
3501           parseExtendedAttributes rejects whitespace in a name.
3502         * css/WebKitCSSTransformValue.idl: Add missing ",".
3503         * dom/EventTarget.idl: ditto.
3504
3505 2010-01-07  Kent Tamura  <tkent@chromium.org>
3506
3507         Reviewed by Adam Barth.
3508
3509         Fix an issue that CodeGeneratorV8.pm doesnt handle HasIndexGetter of
3510         WebKitCSSTransformValue.idl correctly.
3511         https://bugs.webkit.org/show_bug.cgi?id=33193
3512
3513         CodeGeneratorV8.pm doesn't handle inheritance very well and it
3514         tried to refer v8WebKitCSSTransformValueIndexedPropertyGetter(),
3515         which does not exist. Because WebKitCSSTransformValue inherits
3516         CSSValueList and CSSValueList already has HadIndexGetter, we don't
3517         need to do anything for WebKitCSSTransformValue about HasIndexGetter.
3518
3519         * bindings/scripts/CodeGeneratorV8.pm:
3520           Reset $hasGetter for WebKitCSSTransformValue.
3521
3522 2010-01-07  Anton Muhin  <antonm@chromium.org>
3523
3524         Reviewed by Adam Barth.
3525
3526         Do not return strings whose handles are in near death state (that means
3527         they might be GCed) or just empty.
3528         https://bugs.webkit.org/show_bug.cgi?id=31180
3529
3530         * bindings/v8/V8Binding.cpp:
3531         (WebCore::v8ExternalString):
3532
3533 2010-01-06  MORITA Hajime  <morrita@gmail.com>
3534
3535         Reviewed by Nikolas Zimmermann.
3536
3537         SVG background color on selected text goes wrong when text has
3538         gradient stroke.
3539         https://bugs.webkit.org/show_bug.cgi?id=33069
3540
3541         Introduced SVGTextPaintSubphase like as PaintPhase on html painting,
3542         and paint background and foreground in separate subphase.
3543         
3544         Test: svg/text/selection-background-color.xhtml
3545         
3546         * rendering/SVGCharacterLayoutInfo.h:
3547         (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
3548         Added m_setupBackgroundCallback, m_setupForegroundCallback
3549         (WebCore::SVGTextChunkWalker::setupBackground):
3550         (WebCore::SVGTextChunkWalker::setupForeground):
3551         Added.
3552         * rendering/SVGInlineTextBox.cpp:
3553         (WebCore::SVGInlineTextBox::paintCharacters):
3554         pass SVGTextPaintInfo instead of SVGPaintServer
3555         * rendering/SVGInlineTextBox.h:
3556         (WebCore::SVGTextPaintSubphase):
3557         (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
3558         Added.
3559         * rendering/SVGRootInlineBox.cpp:
3560         (WebCore::SVGRootInlineBox::walkTextChunks):
3561         Invoke setupBackground() and setupForeground()
3562         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupBackgroundCallback):
3563         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupForegroundCallback):
3564         (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):        
3565         Added.
3566         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
3567         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
3568         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
3569         (WebCore::SVGRootInlineBox::paint):
3570         
3571 2010-01-06  Kinuko Yasuda  <kinuko@chromium.org>
3572
3573         Reviewed by Eric Seidel.
3574
3575         Make windowsKeyCodeForKeyEvent() return correct key code for
3576         numeric-pad arrow keys.
3577         https://bugs.webkit.org/show_bug.cgi?id=33250
3578
3579         Test: fast/events/keydown-numpad-keys.html
3580
3581         * platform/qt/PlatformKeyboardEventQt.cpp:
3582         (WebCore::windowsKeyCodeForKeyEvent):
3583
3584 2009-10-18 Patrick Gansterer <paroga@paroga.com>
3585
3586         Reviewed by Dirk Schulze.
3587
3588         Improve DOM performance in large SVG files.
3589         Check the dirty area before painting a path, which prevents unnecessary
3590         clipping and changes to the GraphicsContext.
3591         https://bugs.webkit.org/show_bug.cgi?id=30055
3592
3593         * rendering/RenderPath.cpp:
3594         (WebCore::RenderPath::paint):
3595
3596 2010-01-06  Kent Tamura  <tkent@chromium.org>
3597
3598         Reviewed by Darin Adler.