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