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