2009-07-24 Jian Li <jianli@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-07-24  Jian Li  <jianli@chromium.org>
2
3         Reviewed by Eric Seidel.
4
5         [V8] More V8 bindings changes to use ErrorEvent.
6         https://bugs.webkit.org/show_bug.cgi?id=27630
7
8         * bindings/v8/DOMObjectsInclude.h:
9         * bindings/v8/DerivedSourcesAllInOne.cpp:
10         * bindings/v8/V8DOMWrapper.cpp:
11         (WebCore::V8DOMWrapper::convertEventToV8Object):
12         * bindings/v8/V8Index.cpp:
13         * bindings/v8/V8Index.h:
14
15 2009-07-24  Brent Fulgham  <bfulgham@webkit.org>
16
17         Reviewed by Dave Hyatt.
18
19         Clean up dependencies on Apple support libraries for non-Apple build.
20         http://bugs.webkit.org/show_bug.cgi?id=27532.
21
22         * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references
23           to ApplicationServices.h and WebKitSystemInterface.h
24
25 2009-07-24  Dan Bernstein  <mitz@apple.com>
26
27         Another attempted build fix 
28
29         * bindings/js/JSAbstractWorkerCustom.cpp:
30
31 2009-07-24  Dan Bernstein  <mitz@apple.com>
32
33         Attempted build fix
34
35         * bindings/js/JSAbstractWorkerCustom.cpp:
36         (WebCore::toJS):
37
38 2009-07-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>
39
40         Build fix for 64 bit Linux.
41
42         int64_t is long on Linux 64 bit and not long long, thus
43         getFileSize with a int64_t out value fails to build.
44
45         Use a temporary to work around the problem.
46
47         * loader/appcache/ApplicationCacheStorage.cpp:
48         (WebCore::ApplicationCacheStorage::spaceNeeded):
49
50 2009-07-24  Eric Seidel  <eric@webkit.org>
51
52         Reviewed by Adam Barth.
53
54         Update all CREATE_DOM_*_WRAPPER callers to pass globalObject
55         https://bugs.webkit.org/show_bug.cgi?id=27644
56
57         This is another attempt at making the change for bug 27634 smaller.
58         I included the changes to make_names.pl as well as any file which
59         used CREATE_DOM_*_WRAPPER macros.
60
61         The changes to the construct* functions are what fix the cases in
62         fast/dom/constructed-objects-prototypes.html
63
64         The changes to passing globalObject through CREATE_* are what fix
65         fast/dom/prototype-inheritance-2.html
66
67         * bindings/js/JSCDATASectionCustom.cpp:
68         (WebCore::toJSNewlyCreated): pass globalObject.
69         * bindings/js/JSCSSRuleCustom.cpp:
70         (WebCore::toJS): pass globalObject.
71         * bindings/js/JSCSSValueCustom.cpp:
72         (WebCore::toJS): pass globalObject.
73         * bindings/js/JSDOMBinding.h: updated macros to pass globalObject.
74         * bindings/js/JSDocumentCustom.cpp:
75         (WebCore::toJS): pass globalObject.
76         * bindings/js/JSElementCustom.cpp:
77         (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value.
78         (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value.
79         (WebCore::toJSNewlyCreated): pass globalObject.
80         * bindings/js/JSEventCustom.cpp:
81         (WebCore::JSEvent::clipboardData): pass globalObject.
82         (WebCore::toJS): pass globalObject.
83         * bindings/js/JSHTMLCollectionCustom.cpp:
84         (WebCore::getNamedItems): use globalObject() for wrapping returned collection items.
85         (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items.
86         (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items.
87         (WebCore::toJS): pass globalObject.
88         * bindings/js/JSImageDataCustom.cpp:
89         (WebCore::toJS): pass globalObject.
90         * bindings/js/JSNodeCustom.cpp:
91         (WebCore::createWrapper): pass globalObject.
92         * bindings/js/JSSVGPathSegCustom.cpp:
93         (WebCore::toJS): pass globalObject.
94         * bindings/js/JSStyleSheetCustom.cpp:
95         (WebCore::toJS): pass globalObject.
96         * bindings/js/JSTextCustom.cpp:
97         (WebCore::toJSNewlyCreated): pass globalObject.
98         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
99         (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing
100         * bindings/js/JSXMLHttpRequestConstructor.cpp:
101         (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing
102         * bindings/js/JSXSLTProcessorConstructor.cpp:
103         (WebCore::constructXSLTProcessor): use constructors globalObject when constructing
104         * dom/make_names.pl:
105             Pass globalObject through CREATE_* macros and various support functions.
106
107 2009-07-24  Eric Seidel  <eric@webkit.org>
108
109         Reviewed by Adam Barth.
110
111         Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls
112         https://bugs.webkit.org/show_bug.cgi?id=27643
113
114         This is an attempt to make this change as small as possible.
115         I started by including all changes to CodeGeneratorJS.pm from bug 27634,
116         and then made the minimal amount of other changes needed to support that change.
117
118         Most toJS implementations ignore their passed JSDOMGlobalObject.
119         There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling.
120         All places where it is not clear what we should pass as the global object
121         (or where the global object is simply not available, like for some SVG bindings)
122         we pass deprecatedGlobalObjectForPrototype instead.
123
124         * bindings/js/JSCDATASectionCustom.cpp:
125         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
126         * bindings/js/JSCSSRuleCustom.cpp:
127         (WebCore::toJS): add ignored JSDOMGlobalObject*
128         * bindings/js/JSCSSValueCustom.cpp:
129         (WebCore::toJS): add ignored JSDOMGlobalObject*
130         * bindings/js/JSDOMBinding.cpp:
131         (WebCore::setDOMException): pass the wrong globalObject for now
132         * bindings/js/JSDOMBinding.h:
133             Pass the wrong global object to the CREATE_ macros for now.
134             In the next change we'll come back and pass the correct one.
135             That will require changes to make_names.pl.
136         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
137         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
138         (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer):
139         (WebCore::createDOMObjectWrapper):
140         (WebCore::getDOMObjectWrapper):
141         (WebCore::createDOMNodeWrapper):
142         (WebCore::getDOMNodeWrapper):
143         (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change.
144         (WebCore::toJSNewlyCreated):
145         * bindings/js/JSDOMWindowBase.cpp:
146         (WebCore::toJS): DOMWindow always uses its own prototype chain.
147         * bindings/js/JSDOMWindowBase.h:
148         * bindings/js/JSDocumentCustom.cpp:
149         (WebCore::toJS): add ignored JSDOMGlobalObject*
150         * bindings/js/JSElementCustom.cpp:
151         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
152         * bindings/js/JSEventCustom.cpp:
153         (WebCore::toJS): add ignored JSDOMGlobalObject*
154         * bindings/js/JSEventTarget.cpp:
155         (WebCore::toJS): add ignored JSDOMGlobalObject*
156         * bindings/js/JSEventTarget.h:
157         * bindings/js/JSHTMLCollectionCustom.cpp:
158         (WebCore::toJS): add ignored JSDOMGlobalObject*
159         * bindings/js/JSImageDataCustom.cpp:
160         (WebCore::toJS): add ignored JSDOMGlobalObject*
161         * bindings/js/JSNodeCustom.cpp:
162         (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion
163         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
164         (WebCore::toJS): add ignored JSDOMGlobalObject*
165         * bindings/js/JSSVGElementInstanceCustom.cpp:
166         (WebCore::toJS): pass globalObject along
167         * bindings/js/JSSVGMatrixCustom.cpp:
168         (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now.
169         (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now.
170         * bindings/js/JSSVGPathSegCustom.cpp:
171         (WebCore::toJS):
172         * bindings/js/JSSVGPathSegListCustom.cpp:
173             All of these methods need a globalObject, but most SVG binding don't have
174             space for one, so we just pass the lexicalGlobalObject for now.
175         (WebCore::JSSVGPathSegList::initialize):
176         (WebCore::JSSVGPathSegList::getItem):
177         (WebCore::JSSVGPathSegList::insertItemBefore):
178         (WebCore::JSSVGPathSegList::replaceItem):
179         (WebCore::JSSVGPathSegList::removeItem):
180         (WebCore::JSSVGPathSegList::appendItem):
181         * bindings/js/JSSVGPointListCustom.cpp:
182         (WebCore::finishGetter): pass wrong globalObject for now.
183         (WebCore::finishSetter):
184         (WebCore::finishSetterReadOnlyResult):
185         * bindings/js/JSSVGTransformListCustom.cpp:
186         (WebCore::finishGetter): pass wrong globalObject for now.
187         (WebCore::finishSetter):
188         (WebCore::finishSetterReadOnlyResult):
189         * bindings/js/JSStyleSheetCustom.cpp:
190         (WebCore::toJS): add ignored JSDOMGlobalObject*
191         * bindings/js/JSTextCustom.cpp:
192         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
193         * bindings/js/JSWorkerContextBase.cpp:
194         (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass.
195         * bindings/js/JSWorkerContextBase.h:
196         * bindings/scripts/CodeGeneratorJS.pm:
197             All generated toJS calls now pass a globalObject.
198             All generated toJS implementations now expect a globalObject.
199             Simplified all the slot casts by using a "castedThis" local.
200             SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead.
201             Simplified printing of constructor objects using a $constructorClassName variable.
202             All generated constructor functions follow the construct$className form to match the custom constructors.
203
204 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
205
206         Reviewed by Timothy Hatcher.
207
208         typing "document.__proto__" in inspector throws exception
209         https://bugs.webkit.org/show_bug.cgi?id=27169
210
211         * inspector/front-end/utilities.js:
212         (Object.type):
213
214 2009-07-24  Andrei Popescu  <andreip@google.com>
215
216         Reviewed by Anders Carlsson.
217
218         ApplicationCache should have size limit
219         https://bugs.webkit.org/show_bug.cgi?id=22700
220
221         https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html
222
223         This change implements a mechanism for limiting the maximum size of
224         the application cache file. When this size is reached, a ChromeClient
225         callback is invoked asynchronously and the saving of the last (failed)
226         cache is retried automatically.
227         
228         This change also extends the ApplicationCacheStorage API by allowing
229         a client to query or modify the application cache without having to
230         load any resources into memory.
231
232         Test: http/tests/appcache/max-size.html
233
234         * WebCore.base.exp:
235         Exports the symbols required by the DumpRenderTree test application.
236         * loader/EmptyClients.h:
237         Adds empty implementation of the new ChromeClient methods.
238         * loader/appcache/ApplicationCache.cpp:
239         * loader/appcache/ApplicationCache.h:
240         Adds the ability to calculate the approximate size of an ApplicationCache object.
241         * loader/appcache/ApplicationCacheGroup.cpp:
242         * loader/appcache/ApplicationCacheGroup.h:
243         Invokes the ChromeClient callback when the storage layer runs out of space.
244         After the callback is invoked, we re-attempt to store the newest cache,
245         in case the ChromeClient has freed some space.
246         * loader/appcache/ApplicationCacheResource.cpp:
247         * loader/appcache/ApplicationCacheResource.h:
248         Adds the ability to calculate the approximate size of an ApplicationCacheResource object.
249         * loader/appcache/ApplicationCacheStorage.cpp:
250         * loader/appcache/ApplicationCacheStorage.h:
251         Enforces a maximum size for the application cache file.
252         * page/ChromeClient.h:
253         Adds a new callback, invoked when the ApplicationCacheStorage reports that it has
254         reached the maximum size for its database file.
255         * platform/sql/SQLiteDatabase.cpp:
256         * platform/sql/SQLiteDatabase.h:
257         Adds a new method that allows querying for the amount of unused space inside the
258         application cache database file.
259
260 2009-07-24  Xan Lopez  <xlopez@igalia.com>
261
262         Reviewed by Jan Alonzo.
263
264         https://bugs.webkit.org/show_bug.cgi?id=25415
265         [GTK][ATK] Please implement support for get_text_at_offset
266
267         Use TextEncoding facilities to convert between UTF16 and UTF8
268         instead of rolling our own solution.
269
270         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
271         (convertUniCharToUTF8):
272
273 2009-07-24  Xan Lopez  <xlopez@igalia.com>
274
275         Reviewed by Jan Alonzo.
276
277         https://bugs.webkit.org/show_bug.cgi?id=25415
278         [GTK][ATK] Please implement support for get_text_at_offset
279
280         Fix confusion in g_substr between length in bytes and length in
281         characters. Was causing crashes in some situations when dealing
282         with non-ASCII text encoded as UTF8.
283
284         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
285         (g_substr):
286
287 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
288
289         Reviewed by Timothy Hatcher.
290
291         Inspector: Impossible to add an attribute to a node without attributes
292         https://bugs.webkit.org/show_bug.cgi?id=21108
293
294         * inspector/front-end/ElementsTreeOutline.js:
295         (WebInspector.ElementsTreeElement):
296         (WebInspector.ElementsTreeElement.prototype.set hovered):
297         (WebInspector.ElementsTreeElement.prototype.toggleNewButton):
298         (WebInspector.ElementsTreeElement.prototype.ondblclick):
299         (WebInspector.ElementsTreeElement.prototype._startEditing):
300         (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
301         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
302         * inspector/front-end/inspector.css:
303
304 2009-07-24  Keishi Hattori  <casey.hattori@gmail.com>
305
306         Reviewed by Timothy Hatcher.
307
308         Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node
309         https://bugs.webkit.org/show_bug.cgi?id=17907
310
311         * inspector/front-end/Console.js:
312         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{
313             _inspectedNodes, _addInspectedNode, $0, $1, $n}
314         * inspector/front-end/ElementsPanel.js:
315         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history
316             in _inspectorCommandLineAPI._inspectedNodes
317         (WebInspector.ElementsPanel):
318
319 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
320
321         Reviewed by Timothy Hatcher.
322
323         Dragging a resource in the sidebar should drag it's URL
324         https://bugs.webkit.org/show_bug.cgi?id=14410
325
326         * inspector/front-end/ResourcesPanel.js:
327         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
328
329 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
330
331         Reviewed by Timothy Hatcher.
332
333         Double click on a resource in the sidebar should open that resource in Safari
334         https://bugs.webkit.org/show_bug.cgi?id=14409
335
336         * inspector/front-end/ResourcesPanel.js:
337         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url
338
339 2009-07-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
340
341         Reviewed by Xan Lopez.
342
343         Bump pango version requirement to 1.12 and remove unnecessary #ifdefs.
344
345         * platform/graphics/gtk/FontGtk.cpp:
346         (WebCore::getDefaultPangoLayout):
347         * platform/graphics/gtk/FontPlatformDataPango.cpp:
348         (WebCore::FontPlatformData::FontPlatformData):
349         * platform/gtk/Language.cpp:
350
351 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
352
353         Reviewed by Timothy Hatcher.
354
355         Inspector: Missing UIString and other localizedString.js fixes
356         https://bugs.webkit.org/show_bug.cgi?id=27288
357
358         * English.lproj/localizedStrings.js:
359
360 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
361
362         Reviewed by Timothy Hatcher.
363
364         Inspector: Should Syntax Highlight JSON
365         https://bugs.webkit.org/show_bug.cgi?id=27503
366
367         * inspector/front-end/SourceView.js:
368         (WebInspector.SourceView.prototype._contentLoaded):
369
370 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
371
372         Reviewed by Eric Seidel.
373
374         Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
375         Style Guidelines as identified by cpplint.py.
376         https://bugs.webkit.org/show_bug.cgi?id=27624
377
378         * page/DragController.cpp:
379         (WebCore::DragController::~DragController):
380         (WebCore::documentFragmentFromDragData):
381         (WebCore::DragController::dragEnded):
382         (WebCore::DragController::dragEntered):
383         (WebCore::DragController::dragExited):
384         (WebCore::DragController::dragUpdated):
385         (WebCore::DragController::performDrag):
386         (WebCore::asFileInput):
387         (WebCore::DragController::tryDocumentDrag):
388         (WebCore::DragController::delegateDragSourceAction):
389         (WebCore::DragController::concludeEditDrag):
390         (WebCore::DragController::canProcessDrag):
391         (WebCore::DragController::tryDHTMLDrag):
392         (WebCore::DragController::mayStartDragAtEventLocation):
393         (WebCore::getCachedImage):
394         (WebCore::getImage):
395         (WebCore::prepareClipboardForImageDrag):
396         (WebCore::dragLocForDHTMLDrag):
397         (WebCore::DragController::startDrag):
398         (WebCore::DragController::doImageDrag):
399         (WebCore::DragController::doSystemDrag):
400         (WebCore::DragController::placeDragCaret):
401
402 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
403
404         Reviewed by Eric Seidel.
405
406         Update WebCore/page/Chrome.cpp to conform to WebKit
407         Style Guidelines as identified by cpplint.py.
408         https://bugs.webkit.org/show_bug.cgi?id=27608
409
410         * page/Chrome.cpp:
411         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
412         (WebCore::Chrome::runJavaScriptAlert):
413         (WebCore::Chrome::runJavaScriptConfirm):
414         (WebCore::Chrome::runJavaScriptPrompt):
415         (WebCore::Chrome::shouldInterruptJavaScript):
416         (WebCore::Chrome::setToolTip):
417         (WebCore::Chrome::requestGeolocationPermissionForFrame):
418         (WebCore::ChromeClient::generateReplacementFile):
419         (WebCore::ChromeClient::paintCustomScrollbar):
420
421 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
422
423         Reviewed by Eric Seidel.
424
425         Update WebCore/page/Coordinates.cpp to conform to WebKit
426         Style Guidelines as identified by cpplint.py.
427         https://bugs.webkit.org/show_bug.cgi?id=27614
428
429         * page/Coordinates.cpp:
430         (WebCore::Coordinates::toString):
431
432 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
433
434         Reviewed by Eric Seidel.
435
436         Update WebCore/page/DOMSelection.cpp/h to conform to WebKit
437         Style Guidelines as identified by cpplint.py.
438         https://bugs.webkit.org/show_bug.cgi?id=27614
439
440         * page/DOMSelection.cpp:
441         (WebCore::DOMSelection::setBaseAndExtent):
442         (WebCore::DOMSelection::modify):
443         (WebCore::DOMSelection::addRange):
444         (WebCore::DOMSelection::deleteFromDocument):
445         * page/DOMSelection.h:
446
447 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
448
449         Reviewed by Eric Seidel.
450
451         Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
452         Style Guidelines as identified by cpplint.py.
453         https://bugs.webkit.org/show_bug.cgi?id=27618
454
455         * page/DOMTimer.cpp:
456         (WebCore::DOMTimer::DOMTimer):
457         (WebCore::DOMTimer::~DOMTimer):
458         (WebCore::DOMTimer::fired):
459         (WebCore::DOMTimer::suspend):
460         (WebCore::DOMTimer::resume):
461         (WebCore::DOMTimer::canSuspend):
462         * page/DOMTimer.h:
463         (WebCore::DOMTimer::minTimerInterval):
464         (WebCore::DOMTimer::setMinTimerInterval):
465
466 2009-07-24  Eric Seidel  <eric@webkit.org>
467
468         Reviewed by Adam Barth.
469
470         Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead
471         https://bugs.webkit.org/show_bug.cgi?id=27641
472
473         Nothing uses globalObject() yet, but this was causing crashes
474         in the patch for bug 27634.  This is covered by fast/dom/gc-6.html.
475
476         I decided to change these to Base:: instead of DOMObjectWithGlobal::
477         for future-proofing.  All autogenerated classes use a typedef Base
478         to avoid bugs like these.  Sadly C++ does not have a built-in super:: we could use.
479
480         * WebCore.xcodeproj/project.pbxproj:
481         * bindings/js/JSAbstractWorkerCustom.cpp:
482         (WebCore::JSAbstractWorker::mark):
483         * bindings/js/JSDOMApplicationCacheCustom.cpp:
484         (WebCore::JSDOMApplicationCache::mark):
485         * bindings/js/JSMessageChannelCustom.cpp:
486         (WebCore::JSMessageChannel::mark):
487         * bindings/js/JSMessagePortCustom.cpp:
488         (WebCore::JSMessagePort::mark):
489         * bindings/js/JSNamedNodesCollection.cpp:
490         (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
491         * bindings/js/JSNodeCustom.cpp:
492         (WebCore::JSNode::mark):
493         * bindings/js/JSNodeFilterCustom.cpp:
494         (WebCore::JSNodeFilter::mark):
495         * bindings/js/JSNodeIteratorCustom.cpp:
496         (WebCore::JSNodeIterator::mark):
497         * bindings/js/JSSVGElementInstanceCustom.cpp:
498         (WebCore::JSSVGElementInstance::mark):
499         * bindings/js/JSTreeWalkerCustom.cpp:
500         (WebCore::JSTreeWalker::mark):
501
502 2009-07-22  Eric Seidel  <eric@webkit.org>
503
504         Reviewed by Adam Barth.
505
506         Make most DOMObjects hold onto a JSDOMGlobalObject*
507         https://bugs.webkit.org/show_bug.cgi?id=27588
508
509         This change is almost entirely plumbing.  Only one functional
510         change as part of this all (window.document.constructor has the correct prototype)
511         Changes are detailed below.
512
513         inner.document.constructor is fixed because all properties on the window
514         object are created with the correct globalObject (instead of the lexical one).
515         Since all objects now carry a globalObject pointer, when document creates
516         HTMLDocumentConstructor it now has the right globalObject to use.
517
518         Tests:
519           fast/dom/prototype-inheritance.html
520           fast/dom/prototype-inheritance-2.html
521
522         * bindings/js/DOMObjectWithSVGContext.h:
523         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
524             Update the comment and add an ignored globalObject argument.
525         * bindings/js/JSDOMBinding.h:
526             Pass a globalObject to all DOMObjects during creation.  Currently it's the wrong global object.
527             Once toJS is passed a globalObject it will be the right one.
528         (WebCore::createDOMObjectWrapper):
529         (WebCore::createDOMNodeWrapper):
530         * bindings/js/JSDOMGlobalObject.h:
531         (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier.
532         * bindings/js/JSDOMWindowCustom.cpp:
533         (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it.
534         (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
535         * bindings/js/JSDocumentCustom.cpp:
536         (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
537         * bindings/js/JSHTMLAllCollection.h:
538         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
539         * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor.
540         (WebCore::getNamedItems):
541         (WebCore::callHTMLCollection):
542         (WebCore::JSHTMLCollection::canGetItemsForName):
543         (WebCore::JSHTMLCollection::nameGetter):
544         (WebCore::JSHTMLCollection::item):
545         (WebCore::JSHTMLCollection::namedItem):
546         * bindings/js/JSHTMLFormElementCustom.cpp:
547         (WebCore::JSHTMLFormElement::nameGetter):
548         * bindings/js/JSNamedNodesCollection.cpp:
549              Now passed globalObject.  This is tested by inner.document.forms.testForm.
550              The passed globalObject is still wrong until toJS is fixed.
551         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
552         * bindings/js/JSNamedNodesCollection.h:
553         * bindings/js/JSSharedWorkerConstructor.cpp:
554              Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938
555              This class is not compiled by default, so not testable.
556         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
557         * bindings/js/JSSharedWorkerConstructor.h:
558         * bindings/scripts/CodeGeneratorJS.pm:
559              Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer.
560              SVG bindings which need a context() pointer do not have enough space for globalObject() too.
561              WorkerContext does not need a globalObject (it is one), so special case it.
562              Make all .constructor calls use the stored globalObject().  This is what fixes window.document.constructor.
563              Make all constructors inherit from DOMConstructorObject for consistency.  Since the auto-bound constructors
564              override createStructure anyway, there is no functional change here.  Just completing work started in r45938.
565
566 2009-07-23  Brady Eidson  <beidson@apple.com>
567
568         Reviewed by Geoff Garen.
569
570         WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
571         https://bugs.webkit.org/show_bug.cgi?id=27595
572
573         Test: http/tests/misc/will-send-request-returns-null-on-redirect.html
574         
575         * inspector/InspectorController.cpp:
576         (WebCore::InspectorController::removeResource): Null-check the request URL.
577         
578         * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one.
579         (WebCore::willSendRequest):
580
581 2009-07-23  Chris Fleizach  <cfleizach@apple.com>
582
583         Reviewed by Darin Adler.
584
585         Bug 27633 - AXLoadComplete can be fired off to frequently
586         https://bugs.webkit.org/show_bug.cgi?id=27633
587
588         An integration issue left out some curly braces.
589
590         * dom/Document.cpp:
591         (WebCore::Document::implicitClose):
592
593 2009-07-23  Darin Adler  <darin@apple.com>
594
595         Reviewed by Brady Eidson.
596
597         URL appears in back/forward button menu instead of title for items with custom representation
598         https://bugs.webkit.org/show_bug.cgi?id=27586
599         rdar://problem/5060337
600
601         * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit.
602         * loader/FrameLoader.cpp:
603         (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document
604         loader is the correct one; previously this would never happen because we'd
605         commit the load before any title changes could be registered, but now we can
606         encounter a case where we get a title during a provisional load.
607
608 2009-07-23  Dan Bernstein  <mitz@apple.com>
609
610         Reviewed by Dave Hyatt.
611
612         [CSS3 Backgrounds and Borders] Add support for inset box shadows
613         https://bugs.webkit.org/show_bug.cgi?id=27582
614
615         Test: fast/box-shadow/inset.html
616
617         * css/CSSComputedStyleDeclaration.cpp:
618         (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset'
619             as needed.
620
621         * css/CSSParser.cpp:
622         (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle
623             members. Initialize the allowStyle member.
624         (WebCore::ShadowParseContext::commitValue): Pass the style value to the
625             ShadowValue constructor. Reset allowStyle.
626         (WebCore::ShadowParseContext::commitLength): Update allowStyle.
627         (WebCore::ShadowParseContext::commitColor): Ditto.
628         (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and
629             updates the state.
630         (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword.
631
632         * css/CSSStyleSelector.cpp:
633         (WebCore::CSSStyleSelector::applyProperty): Get the style value from the
634             shadow value and pass it to the ShadowData constructor.
635
636         * css/ShadowValue.cpp:
637         (WebCore::ShadowValue::ShadowValue): Added style.
638         (WebCore::ShadowValue::cssText): Added style.
639
640         * css/ShadowValue.h:
641         (WebCore::ShadowValue::create): Added style.
642
643         * page/animation/AnimationBase.cpp:
644         (WebCore::blendFunc): Added a blend function for shadow styles. When blending
645             between normal and inset shadows, all intermediate values map to normal.
646         (WebCore::PropertyWrapperShadow::blend): Added normal style to the default
647             shadow.
648             
649         * rendering/InlineFlowBox.cpp:
650         (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter,
651             which is passed through to RenderBoxModelObject::paintBoxShadow().
652
653         (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of
654             the background.
655
656         * rendering/InlineFlowBox.h:
657
658         * rendering/RenderBox.cpp:
659         (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the
660             background.
661
662         * rendering/RenderBoxModelObject.cpp:
663         (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style
664             parameter, and code to paint inset shadows.
665
666         * rendering/RenderBoxModelObject.h:
667
668         * rendering/RenderFieldset.cpp:
669         (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of
670             the background.
671
672         * rendering/RenderTable.cpp:
673         (WebCore::RenderTable::paintBoxDecorations): Ditto.
674
675         * rendering/RenderTableCell.cpp:
676         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
677
678         * rendering/style/ShadowData.h:
679         Added a ShadowStyle enum.
680         (WebCore::ShadowData::ShadowData): Add and initialize a style member.
681
682 2009-07-23  Simon Fraser  <simon.fraser@apple.com>
683
684         Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined.
685
686         * css/MediaQueryEvaluator.cpp:
687         (WebCore::transform_3dMediaFeatureEval):
688
689 2009-07-23  Simon Fraser  <simon.fraser@apple.com>
690
691         Reviewed by Adele Peterson.
692
693         3d-transforms media query needs to look check that accelerated compositing is enabled
694         https://bugs.webkit.org/show_bug.cgi?id=27621
695         
696         When evaluating a media query with '-webkit-transform-3d', we need to check the
697         runtime switch that toggles accererated compositing, and therefore 3D.
698         
699         No test because we can't disable the pref dynamically in DRT.
700
701         * css/MediaQueryEvaluator.cpp:
702         (WebCore::transform_3dMediaFeatureEval):
703
704 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
705
706         Reviewed by Eric Seidel.
707
708         execCommand('underline') can't remove <U> underlines
709         https://bugs.webkit.org/show_bug.cgi?id=20215
710
711         This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that
712         WebKit can remove those presentational tags when necessary.
713         It also modifies StyleChange::init not to add "text-decoration: none".  Not only is this style meaningless
714         (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style.
715
716         * css/CSSValueList.cpp:
717         (WebCore::CSSValueList::hasValue): True if the property contains the specified value
718         * css/CSSValueList.h: Updated prototype
719         * editing/ApplyStyleCommand.cpp:
720         (WebCore::StyleChange::init): No longer adds "text-decoration: none"
721         (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements
722
723 2009-07-23  Jessie Berlin  <jberlin@apple.com>
724         
725         Reviewed by Dan Bernstein.
726
727         https://bugs.webkit.org/show_bug.cgi?id=27554
728         Expose the value of text-overflow in getComputedStyle.
729
730         Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html
731
732         * css/CSSComputedStyleDeclaration.cpp:
733         (WebCore::):
734         Add text-overflow to the list of computedProperties.
735         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
736         Return the value of the text-overflow property.
737
738 2009-07-23  Yongjun Zhang  <yongjun.zhang@nokia.com>
739
740         Reviewed by Simon Hausmann.
741
742         https://bugs.webkit.org/show_bug.cgi?id=27510
743
744         [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project
745         file for linking. This is a temporary workaround for qmake bug in Symbian port, should 
746         be reverted after qmake is fixed.
747
748         * WebCore.pro:
749
750 2009-07-23  Jian Li  <jianli@chromium.org>
751
752         Reviewed by David Levin.
753
754         [V8] Fix an assert in running workers in Chrome.
755         https://bugs.webkit.org/show_bug.cgi?id=27620
756
757         The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
758         to do not call removeObjectsFromWrapperMap for certain types of DOM
759         objects that exist only in main thread.
760
761         * bindings/v8/V8DOMMap.cpp:
762         (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
763
764 2009-07-23  David Hyatt  <hyatt@apple.com>
765
766         Reviewed by Dan Bernstein.
767
768         https://bugs.webkit.org/show_bug.cgi?id=27572
769         Implement support for background-attachment:local.
770
771         Added new test fast/overflow/overflow-with-local-attachment.html.
772
773         * css/CSSComputedStyleDeclaration.cpp:
774         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
775         * css/CSSParser.cpp:
776         (WebCore::CSSParser::parseFillProperty):
777         * css/CSSPrimitiveValueMappings.h:
778         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
779         (WebCore::CSSPrimitiveValue::operator EFillAttachment):
780         * css/CSSStyleSelector.cpp:
781         (WebCore::CSSStyleSelector::mapFillAttachment):
782         * css/CSSValueKeywords.in:
783         * rendering/RenderBoxModelObject.cpp:
784         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
785         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
786         * rendering/style/FillLayer.h:
787         (WebCore::FillLayer::attachment):
788         (WebCore::FillLayer::setAttachment):
789         (WebCore::FillLayer::hasFixedImage):
790         (WebCore::FillLayer::initialFillAttachment):
791         * rendering/style/RenderStyle.h:
792         (WebCore::InheritedFlags::backgroundAttachment):
793         (WebCore::InheritedFlags::maskAttachment):
794         * rendering/style/RenderStyleConstants.h:
795         (WebCore::):
796
797 2009-07-23  Ryosuke Niwa  <rniwa@webkit.org>
798
799         Reviewed by Eric Seidel.
800
801         copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
802         https://bugs.webkit.org/show_bug.cgi?id=27325
803
804         This patch deprecates copyInheritableProperties because it has been used for two different purposes:
805         1.  Calculating the typing style.
806         2.  Moving HTML subtrees and seeking to remove redundant styles.
807         These tasks should be broken out into two separate functions.  New code should not use this function.
808
809         It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.
810
811         There is no test since the patch does not change any behavior.
812
813         * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
814         (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
815         * css/CSSComputedStyleDeclaration.h: ditto
816         * editing/DeleteSelectionCommand.cpp: ditto
817         (WebCore::removeEnclosingAnchorStyle): ditto
818         (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
819         * editing/EditCommand.cpp: ditto
820         (WebCore::EditCommand::styleAtPosition): ditto
821         * editing/RemoveFormatCommand.cpp: ditto
822         (WebCore::RemoveFormatCommand::doApply): ditto
823         * editing/ReplaceSelectionCommand.cpp: ditto
824         (WebCore::handleStyleSpansBeforeInsertion): ditto
825         (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
826         * editing/markup.cpp: ditto
827         (WebCore::removeEnclosingMailBlockquoteStyle): ditto
828         (WebCore::removeDefaultStyles): ditto
829         (WebCore::createMarkup): ditto
830
831 2009-07-22  Pierre d'Herbemont  <pdherbemont@apple.com>
832
833         Reviewed by Simon Fraser.
834
835         Audio element at default width shouldn't have time field.
836         https://bugs.webkit.org/show_bug.cgi?id=27589
837
838         * rendering/MediaControlElements.cpp:
839         (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
840         forget to remember the visibility if there is no renderer.
841
842 2009-07-23  Beth Dakin  <bdakin@apple.com>
843
844         Reviewed by Darin Adler.
845
846         Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the 
847         AccessibilityObject class
848
849         Mostly this is just moving empty stubs into the header rather than 
850         muddying the cpp file with them. A few functions were made pure 
851         virtual.
852
853         * accessibility/AccessibilityObject.cpp:
854         (WebCore::AccessibilityObject::isARIAControl):
855         (WebCore::AccessibilityObject::clickPoint):
856         (WebCore::AccessibilityObject::documentFrameView):
857         (WebCore::AccessibilityObject::actionVerb):
858         * accessibility/AccessibilityObject.h:
859         (WebCore::AccessibilityObject::intValue):
860         (WebCore::AccessibilityObject::layoutCount):
861         (WebCore::AccessibilityObject::doAccessibilityHitTest):
862         (WebCore::AccessibilityObject::focusedUIElement):
863         (WebCore::AccessibilityObject::firstChild):
864         (WebCore::AccessibilityObject::lastChild):
865         (WebCore::AccessibilityObject::previousSibling):
866         (WebCore::AccessibilityObject::nextSibling):
867         (WebCore::AccessibilityObject::parentObjectIfExists):
868         (WebCore::AccessibilityObject::observableObject):
869         (WebCore::AccessibilityObject::linkedUIElements):
870         (WebCore::AccessibilityObject::titleUIElement):
871         (WebCore::AccessibilityObject::ariaRoleAttribute):
872         (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
873         (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
874         (WebCore::AccessibilityObject::roleValue):
875         (WebCore::AccessibilityObject::ariaAccessiblityName):
876         (WebCore::AccessibilityObject::ariaLabeledByAttribute):
877         (WebCore::AccessibilityObject::ariaDescribedByAttribute):
878         (WebCore::AccessibilityObject::accessibilityDescription):
879         (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
880         (WebCore::AccessibilityObject::axObjectCache):
881         (WebCore::AccessibilityObject::axObjectID):
882         (WebCore::AccessibilityObject::setAXObjectID):
883         (WebCore::AccessibilityObject::anchorElement):
884         (WebCore::AccessibilityObject::actionElement):
885         (WebCore::AccessibilityObject::boundingBoxRect):
886         (WebCore::AccessibilityObject::selectedTextRange):
887         (WebCore::AccessibilityObject::selectionStart):
888         (WebCore::AccessibilityObject::selectionEnd):
889         (WebCore::AccessibilityObject::url):
890         (WebCore::AccessibilityObject::selection):
891         (WebCore::AccessibilityObject::stringValue):
892         (WebCore::AccessibilityObject::title):
893         (WebCore::AccessibilityObject::helpText):
894         (WebCore::AccessibilityObject::textUnderElement):
895         (WebCore::AccessibilityObject::text):
896         (WebCore::AccessibilityObject::textLength):
897         (WebCore::AccessibilityObject::selectedText):
898         (WebCore::AccessibilityObject::accessKey):
899         (WebCore::AccessibilityObject::widget):
900         (WebCore::AccessibilityObject::widgetForAttachmentView):
901         (WebCore::AccessibilityObject::setFocused):
902         (WebCore::AccessibilityObject::setSelectedText):
903         (WebCore::AccessibilityObject::setSelectedTextRange):
904         (WebCore::AccessibilityObject::setValue):
905         (WebCore::AccessibilityObject::setSelected):
906         (WebCore::AccessibilityObject::makeRangeVisible):
907         (WebCore::AccessibilityObject::childrenChanged):
908         (WebCore::AccessibilityObject::addChildren):
909         (WebCore::AccessibilityObject::hasChildren):
910         (WebCore::AccessibilityObject::selectedChildren):
911         (WebCore::AccessibilityObject::visibleChildren):
912         (WebCore::AccessibilityObject::visiblePositionRange):
913         (WebCore::AccessibilityObject::visiblePositionRangeForLine):
914         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
915         (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
916         (WebCore::AccessibilityObject::visiblePositionForPoint):
917         (WebCore::AccessibilityObject::nextVisiblePosition):
918         (WebCore::AccessibilityObject::previousVisiblePosition):
919         (WebCore::AccessibilityObject::visiblePositionForIndex):
920         (WebCore::AccessibilityObject::indexForVisiblePosition):
921         (WebCore::AccessibilityObject::index):
922         (WebCore::AccessibilityObject::doAXRangeForLine):
923         (WebCore::AccessibilityObject::doAXRangeForIndex):
924         (WebCore::AccessibilityObject::doAXStringForRange):
925         (WebCore::AccessibilityObject::doAXBoundsForRange):
926         (WebCore::AccessibilityObject::updateBackingStore):
927
928 2009-07-23  Brian Weinstein  <bweinstein@apple.com>
929
930         Reviewed by David Hyatt.
931
932         Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.
933
934         * page/EventHandler.cpp:
935         (WebCore::EventHandler::handleMousePressEvent):
936         * platform/ScrollView.cpp:
937         (WebCore::ScrollView::wheelEvent):
938         * platform/ScrollView.h:
939
940 2009-07-23  David Hyatt  <hyatt@apple.com>
941
942         Reviewed by Dan Bernstein.
943
944         https://bugs.webkit.org/show_bug.cgi?id=27581
945         Drop the prefix from the box-shadow property.
946
947         * css/CSSComputedStyleDeclaration.cpp:
948         (WebCore::):
949         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
950         * css/CSSParser.cpp:
951         (WebCore::CSSParser::parseValue):
952         (WebCore::ShadowParseContext::commitLength):
953         (WebCore::cssPropertyID):
954         * css/CSSPropertyNames.in:
955         * css/CSSStyleSelector.cpp:
956         (WebCore::CSSStyleSelector::applyProperty):
957         * page/animation/AnimationBase.cpp:
958         (WebCore::ensurePropertyMap):
959
960 2009-07-22  Viet-Trung Luu  <viettrungluu@gmail.com>
961
962         Reviewed by David Hyatt.
963
964         https://bugs.webkit.org/show_bug.cgi?id=27289
965         When a mouse click occurs on a scrollbar without a preceding mouse move
966         onto it, the release isn't handled correctly (since
967         EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
968         only on mouse move). (Side comment: That scrollbar-handling code
969         in EventHandler is ugly. It should be fixed properly.)
970
971         Tests: scrollbars/scrollbar-miss-mousemove.html
972                scrollbars/scrollbar-miss-mousemove-disabled.html
973
974         * page/EventHandler.cpp:
975         (WebCore::EventHandler::handleMousePressEvent):
976         (WebCore::EventHandler::handleMouseMoveEvent):
977         (WebCore::EventHandler::updateLastScrollbarUnderMouse):
978         * page/EventHandler.h:
979
980 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
981
982         Reviewed by David Levin.
983
984         Update WebCore/page/BarInfo.cpp to conform to WebKit
985         Style Guidelines as identified by cpplint.py.
986         https://bugs.webkit.org/show_bug.cgi?id=27606
987
988         * page/BarInfo.cpp:
989         (WebCore::BarInfo::visible):
990
991 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
992
993         Reviewed by David Levin.
994
995         Update WebCore/page/Console.cpp to conform to WebKit
996         Style Guidelines as identified by cpplint.py.
997         https://bugs.webkit.org/show_bug.cgi?id=27606
998
999         * page/Console.cpp:
1000         (WebCore::printMessageSourceAndLevelPrefix):
1001         (WebCore::Console::profile):
1002         (WebCore::Console::time):
1003
1004 2009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
1005
1006         Reviewed by Holger Freyther.
1007
1008         Fix crashes with the QObject bindings after garbage collection.
1009
1010         There is one QtInstance per wrapped QObject, and that QtInstance keeps
1011         references to cached JSObjects for slots. When those objects get
1012         deleted due to GC, then they becoming dangling pointers.
1013
1014         When a cached member dies, it is now removed from the QtInstance's
1015         cache.
1016
1017         As we cannot track the lifetime of the children, we have to remove
1018         them from QtInstance alltogether. They are not cached and were
1019         only used for mark(), but we _want_ them to be subject to gc.
1020
1021         * bridge/qt/qt_instance.cpp:
1022         (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
1023         use qDeleteAll().
1024         (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
1025         clean m_methods and m_defaultMethod.
1026         (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
1027         (JSC::Bindings::QtField::valueFromInstance): Don't save children for
1028         marking.
1029         * bridge/qt/qt_instance.h: Declare removeCachedMethod.
1030         * bridge/qt/qt_runtime.cpp:
1031         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
1032         with this on the instance.
1033
1034 2009-07-23  Xan Lopez  <xlopez@igalia.com>
1035
1036         Reviewed by Mark Rowe.
1037
1038         https://bugs.webkit.org/show_bug.cgi?id=27599
1039         'const unsigned' in return value
1040
1041         Remove const modifier from unsigned return value, as it does not
1042         make sense.
1043
1044         * dom/ErrorEvent.h:
1045
1046 2009-07-22  Jens Alfke  <snej@chromium.org>
1047
1048         Reviewed by David Levin.
1049
1050         Bug 22784: Improve keyboard navigation of Select elements.
1051         Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
1052         on non-Mac platforms.
1053         https://bugs.webkit.org/show_bug.cgi?id=22784
1054         http://code.google.com/p/chromium/issues/detail?id=4576
1055
1056         New test: LayoutTests/fast/forms/select-popup-pagekeys.html
1057
1058         * dom/SelectElement.cpp:
1059         (WebCore::nextValidIndex): 
1060         New utility fn for traversing items of a select's list.
1061         (WebCore::SelectElement::menuListDefaultEventHandler):
1062         Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false.
1063
1064 2009-07-23  Xan Lopez  <xlopez@igalia.com>
1065
1066         Reviewed by Mark Rowe.
1067
1068         Fix a couple of compiler warnings.
1069
1070         * platform/graphics/cairo/ImageBufferCairo.cpp:
1071         (copySurface):
1072         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
1073         (WebCore::SimpleFontData::containsCharacters):
1074
1075 2009-07-22  Simon Hausmann  <simon.hausmann@nokia.com>
1076
1077         Rubber-stamped by David Levin.
1078
1079         Enable HTML5 Datagrid defines for the Qt build.
1080
1081         * WebCore.pro:
1082
1083 2009-07-22  Adam Barth  <abarth@webkit.org>
1084
1085         Reviewed by David Levin.
1086
1087         [V8] Make Node wrappers go fast
1088         https://bugs.webkit.org/show_bug.cgi?id=27597
1089
1090         Profiles indicate we're spending a lot of time asking whether we're on
1091         the main thread when looking up DOM wrappers for Nodes, but there isn't
1092         much point in doing that work because Nodes only exist on the main
1093         thread.  I've also added an assert to keep us honest in this regard.
1094
1095         * bindings/v8/V8DOMMap.cpp:
1096         (WebCore::):
1097         (WebCore::getDOMNodeMap):
1098         (WebCore::DOMData::getCurrent):
1099         (WebCore::DOMData::getCurrentMainThread):
1100
1101 2009-07-22  Adam Barth  <abarth@webkit.org>
1102
1103         Reviewed by Alexey Proskuryakov.
1104
1105         Remove unneeded virtual destructor from ScriptSourceProvider
1106         https://bugs.webkit.org/show_bug.cgi?id=27563
1107
1108         * bindings/js/ScriptSourceProvider.h:
1109
1110 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
1111
1112         Reviewed by Eric Seidel.
1113
1114         execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration
1115         https://bugs.webkit.org/show_bug.cgi?id=27476
1116
1117         executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none".
1118         This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value.
1119         It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations,
1120         and adds removeAll member function to CSSValueList.
1121
1122         Tests: editing/execCommand/toggle-text-decorations.html
1123                fast/css/getComputedStyle/getComputedStyle-text-decoration.html
1124
1125         * css/CSSComputedStyleDeclaration.cpp:
1126         (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList
1127         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue
1128         * css/CSSParser.cpp:
1129         (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated
1130         * css/CSSValueList.cpp:
1131         (WebCore::CSSValueList::removeAll): Removes all values that match the specified value
1132         * css/CSSValueList.h:
1133         * editing/EditorCommand.cpp:
1134         (WebCore::applyCommandToFrame): Apply style to a frame using specified command
1135         (WebCore::executeApplyStyle): Uses applyCommandToFrame
1136         (WebCore::executeToggleStyleInList): Uses applyCommandToFrame
1137         (WebCore::executeToggleStyle): Toggles a style in CSSValueList
1138         (WebCore::executeStrikethrough): Uses executeToggleStyleInList
1139         (WebCore::executeUnderline): Uses executeToggleStyleInList
1140
1141 2009-07-22  Daniel Bates  <dbates@intudata.com>
1142
1143         Reviewed by Adam Barth.
1144
1145         https://bugs.webkit.org/show_bug.cgi?id=27174
1146         And
1147         https://bugs.webkit.org/show_bug.cgi?id=26938
1148         
1149         Code cleanup. Implements support for detecting attacks transformed by 
1150         PHP Magic Quotes/PHP addslashes().
1151
1152         Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html
1153                http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html
1154                http/tests/security/xssAuditor/script-tag-addslashes-null-char.html
1155                http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html
1156
1157         * page/XSSAuditor.cpp:
1158         (WebCore::isInvalidCharacter):
1159         (WebCore::XSSAuditor::canEvaluate):
1160         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
1161         (WebCore::XSSAuditor::canLoadObject):
1162         (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes,
1163         and removes control characters that could otherwise cause a discrepancy between
1164         the source code of a script and the outgoing HTTP parameters.
1165         (WebCore::XSSAuditor::decodeURL):
1166         (WebCore::XSSAuditor::decodeHTMLEntities):
1167         (WebCore::XSSAuditor::findInRequest):
1168         * page/XSSAuditor.h:
1169
1170 2009-07-22  Oliver Hunt  <oliver@apple.com>
1171
1172         Reviewed by Adele Peterson.
1173
1174         Null deref in JSObject::mark due to null xhr wrapper
1175         https://bugs.webkit.org/show_bug.cgi?id=27565
1176
1177         Make event target binding for appcache and xhr behave in the same way as
1178         it does for all other events.
1179
1180         No test as I couldn't make a testcase which was remotely reliable.
1181
1182         * bindings/js/JSEventTarget.cpp:
1183         (WebCore::toJS):
1184
1185 2009-07-22  Mads Ager  <ager@chromium.org>
1186
1187         Reviewed by David Levin.
1188
1189         Inform V8 of the amount of WebCore string memory it is keeping alive.
1190         https://bugs.webkit.org/show_bug.cgi?id=27537
1191
1192         V8 uses external strings that are backed by WebCore strings. Since
1193         the external strings themselves are small, V8 has no way of
1194         knowing how much memory it is actually holding on to. With this
1195         change, we inform V8 of the amount of WebCore string data it is
1196         holding on to with external strings.
1197
1198         * bindings/v8/V8Binding.cpp:
1199         (WebCore::WebCoreStringResource::WebCoreStringResource):
1200         (WebCore::WebCoreStringResource::~WebCoreStringResource):
1201
1202 2009-07-22  David Hyatt  <hyatt@apple.com>
1203
1204         Reviewed by Beth Dakin.
1205
1206         https://bugs.webkit.org/show_bug.cgi?id=27562
1207         Add the finalized versions of background-clip and background-origin.  Remove background-clip from
1208         the background shorthand and have it be auto-set based off background-origin's value.
1209
1210         Three new tests added in fast/backgrounds/size
1211
1212         * css/CSSComputedStyleDeclaration.cpp:
1213         (WebCore::):
1214         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1215         * css/CSSMutableStyleDeclaration.cpp:
1216         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
1217         * css/CSSParser.cpp:
1218         (WebCore::CSSParser::parseValue):
1219         (WebCore::CSSParser::parseFillShorthand):
1220         (WebCore::CSSParser::parseFillProperty):
1221         * css/CSSPropertyLonghand.cpp:
1222         (WebCore::initShorthandMap):
1223         * css/CSSPropertyNames.in:
1224         * css/CSSStyleSelector.cpp:
1225         (WebCore::CSSStyleSelector::applyProperty):
1226         * css/CSSValueKeywords.in:
1227
1228 2009-07-22  Jens Alfke  <snej@chromium.org>
1229
1230         Reviewed by Darin Fisher.
1231
1232         Hook up V8 bindings for DataGrid elements.
1233         https://bugs.webkit.org/show_bug.cgi?id=27383
1234         http://code.google.com/p/chromium/issues/detail?id=16730
1235
1236         Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
1237         to handle exceptions, check appropriate JS prototypes, and
1238         test column-list's item() method as well as array-indexing.
1239
1240         * WebCore.gypi: Added new source files.
1241         * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
1242         * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
1243         * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
1244         (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
1245         * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
1246         (WebCore::V8DataGridDataSource::V8DataGridDataSource):
1247         (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
1248         * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
1249         (WebCore::V8DataGridDataSource::create):
1250         (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
1251         (WebCore::V8DataGridDataSource::jsDataSource):
1252         (WebCore::asV8DataGridDataSource):
1253         * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
1254         * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
1255         * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
1256         * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added.
1257         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
1258         (WebCore::ACCESSOR_GETTER):
1259         (WebCore::ACCESSOR_SETTER):
1260
1261 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
1262
1263         Reviewed by Eric Seidel.
1264
1265         pushDownTextDecorationStyleAroundNode needs clean up
1266         https://bugs.webkit.org/show_bug.cgi?id=27556
1267
1268         Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode
1269         While traversing, it will apply the specified style to all nodes but targetNode.
1270         i.e. the style is applies to all ancestor nodes and their siblings of targetNode.
1271
1272         * editing/ApplyStyleCommand.cpp:
1273         (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments
1274         * editing/ApplyStyleCommand.h: Updated prototype
1275
1276 2009-07-22  Peter Kasting  <pkasting@google.com>
1277
1278         Reviewed by David Kilzer.
1279
1280         https://bugs.webkit.org/show_bug.cgi?id=27323
1281         Handle any type of line endings in WebCore/css/*CSSPropertyNames.in.
1282
1283         * DerivedSources.make:
1284         * css/makeprop.pl:
1285         * css/makevalues.pl:
1286
1287 2009-07-22  Paul Godavari  <paul@chromium.org>
1288
1289         Reviewed by Darin Fisher.
1290
1291         Chromium has a build break after removal of JSRGBColor bindings
1292         https://bugs.webkit.org/show_bug.cgi?id=27548
1293
1294         Fix a build break in Chromium V8 after the JSRGBColor bindings change:
1295         https://bugs.webkit.org/show_bug.cgi?id=27242
1296
1297         * bindings/scripts/CodeGeneratorV8.pm:
1298
1299 2009-07-22  Adam Langley  <agl@google.com>
1300
1301         Reviewed by Darin Fisher.
1302
1303         Chromium Linux: add static functions to FontPlatformData which allow
1304         for setting the global font rendering preferences.
1305
1306         https://bugs.webkit.org/show_bug.cgi?id=27513
1307         http://code.google.com/p/chromium/issues/detail?id=12179
1308
1309         This should not affect any layout tests.
1310
1311         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1312         (WebCore::FontPlatformData::setHinting):
1313         (WebCore::FontPlatformData::setAntiAlias):
1314         (WebCore::FontPlatformData::setSubpixelGlyphs):
1315         (WebCore::FontPlatformData::setupPaint):
1316         * platform/graphics/chromium/FontPlatformDataLinux.h:
1317
1318 2009-07-22  Mikhail Naganov  <mnaganov@chromium.org>
1319
1320         Reviewed by Timothy Hatcher.
1321
1322         Move Inspector panels creation into a function to make possible introducing
1323         custom panels.
1324
1325         * inspector/front-end/inspector.js:
1326         (WebInspector._createPanels):
1327         (WebInspector.loaded):
1328
1329 2009-07-22  Pavel Feldman  <pfeldman@chromium.org>
1330
1331         Reviewed by Timothy Hatcher.
1332
1333         WebInspector: Print console command message upon evaluate
1334         selection request; Handle errors in evaluation request
1335         properly.
1336
1337         https://bugs.webkit.org/show_bug.cgi?id=27535
1338
1339         * inspector/front-end/ScriptsPanel.js:
1340         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
1341         * inspector/front-end/SourceFrame.js:
1342         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
1343
1344 2009-07-22  Xan Lopez  <xlopez@igalia.com>
1345
1346         Attempt to fix the GTK+ build.
1347
1348         * GNUmakefile.am:
1349
1350 2009-07-21  Simon Hausmann  <simon.hausmann@nokia.com>
1351
1352         Fix the Qt build.
1353
1354         * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor.
1355
1356 2009-07-21  Daniel Bates  <dbates@intudata.com>
1357
1358         Reviewed by Adam Barth.
1359
1360         https://bugs.webkit.org/show_bug.cgi?id=27494
1361
1362         Fixes an issue that can cause a crash or unexpected behavior when calling
1363         WebCore::ScriptSourceCode::source on a cached script.
1364
1365         * GNUmakefile.am:
1366         * WebCore.gypi:
1367         * WebCore.pro:
1368         * WebCore.vcproj/WebCore.vcproj:
1369         * WebCore.xcodeproj/project.pbxproj:
1370         * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from 
1371         WebCore::ScriptSourceCode.
1372         (WebCore::CachedScriptSourceProvider::source):
1373         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
1374         * bindings/js/ScriptSourceCode.h:
1375         (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and
1376         rewrote to use WebCore::ScriptSourceProvider.
1377         (WebCore::ScriptSourceCode::source):
1378         * bindings/js/ScriptSourceProvider.h: Added.
1379         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
1380         (WebCore::ScriptSourceProvider::~ScriptSourceProvider):
1381         * bindings/js/StringSourceProvider.h: Modified to inherit from 
1382         WebCore::ScriptSourceCode.
1383         (WebCore::StringSourceProvider::StringSourceProvider):
1384
1385 2009-07-21  Sam Weinig  <sam@webkit.org>
1386
1387         Another attempt to fix the Windows build.
1388
1389         * WebCore.vcproj/WebCore.vcproj:
1390
1391 2009-07-21  Sam Weinig  <sam@webkit.org>
1392
1393         Attempt to fix the Windows build.
1394
1395         * DerivedSources.cpp:
1396
1397 2009-07-21  Sam Weinig  <sam@webkit.org>
1398
1399         Attempt to fix the GTK build.
1400
1401         * GNUmakefile.am:
1402
1403 2009-07-21  Sam Weinig  <sam@webkit.org>
1404
1405         Reviewed by Dan Bernstein.
1406
1407         Autogenerate Objective-C binding implementation for RGBColor.
1408
1409         No functionality change.
1410
1411         * WebCore.xcodeproj/project.pbxproj: 
1412         * bindings/objc/DOMRGBColor.mm: Removed.
1413         * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from
1414         WebCore::Color to NSColor*.
1415         * css/RGBColor.idl:
1416
1417 2009-07-21  Sam Weinig  <sam@webkit.org>
1418
1419         Reviewed by Dan Bernstein.
1420
1421         Fix for https://bugs.webkit.org/show_bug.cgi?id=27242
1422         JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor
1423
1424         Move the JSC and Objective-C bindings onto using the RGBColor object instead
1425         of just an unsigned int. The JSC bindings are now completely autogenerated for
1426         this class. (Also removes the last lut from WebCore).
1427
1428         * DerivedSources.make:
1429         * GNUmakefile.am:
1430         * WebCore.pro:
1431         * WebCore.vcproj/WebCore.vcproj:
1432         * WebCore.xcodeproj/project.pbxproj:
1433         * WebCoreSources.bkl:
1434         * bindings/js/JSRGBColor.cpp: Removed.
1435         * bindings/js/JSRGBColor.h: Removed.
1436         * bindings/objc/DOM.mm:
1437         (-[DOMRGBColor _color]):
1438         * bindings/objc/DOMRGBColor.mm:
1439         (-[DOMRGBColor dealloc]):
1440         (-[DOMRGBColor finalize]):
1441         (-[DOMRGBColor red]):
1442         (-[DOMRGBColor green]):
1443         (-[DOMRGBColor blue]):
1444         (-[DOMRGBColor alpha]):
1445         (-[DOMRGBColor color]):
1446         * bindings/scripts/CodeGenerator.pm:
1447         * bindings/scripts/CodeGeneratorJS.pm:
1448         * bindings/scripts/CodeGeneratorObjC.pm:
1449         * css/CSSParser.cpp:
1450         (WebCore::CSSParser::parseColor):
1451         * css/CSSPrimitiveValue.cpp:
1452         (WebCore::CSSPrimitiveValue::getRGBColorValue):
1453         * css/CSSPrimitiveValue.h:
1454         (WebCore::CSSPrimitiveValue::getRGBA32Value):
1455         * css/CSSStyleSelector.cpp:
1456         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
1457         * css/RGBColor.cpp:
1458         (WebCore::RGBColor::alpha):
1459         * css/RGBColor.h:
1460         (WebCore::RGBColor::color):
1461         (WebCore::RGBColor::RGBColor):
1462         * css/RGBColor.idl:
1463         * page/DOMWindow.idl:
1464         * svg/SVGColor.cpp:
1465         (WebCore::SVGColor::rgbColor):
1466         * svg/SVGColor.h:
1467
1468 2009-07-21  Jian Li  <jianli@chromium.org>
1469
1470         Reviewed by David Levin.
1471
1472         Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent.
1473         https://bugs.webkit.org/show_bug.cgi?id=27515
1474
1475         * workers/AbstractWorker.cpp:
1476         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
1477
1478 2009-07-21  Eric Seidel  <eric@webkit.org>
1479
1480         Reviewed by Adam Barth.
1481
1482         Move m_context out of generator into a superclass
1483         https://bugs.webkit.org/show_bug.cgi?id=27521
1484
1485         Mostly this is removing code from CodeGeneratorJS
1486         and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h.
1487
1488         DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to
1489         know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason).
1490
1491         I also removed context pointer from SVGZoomEvent since it was never used.
1492
1493         * WebCore.gypi:
1494         * WebCore.pro:
1495         * WebCore.vcproj/WebCore.vcproj:
1496         * WebCore.xcodeproj/project.pbxproj:
1497         * bindings/js/DOMObjectWithSVGContext.h: Added.
1498         (WebCore::DOMObjectWithSVGContext::context):
1499         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
1500         * bindings/js/JSDOMBinding.h:
1501         * bindings/js/JSEventCustom.cpp:
1502         (WebCore::toJS):
1503         * bindings/scripts/CodeGeneratorJS.pm:
1504
1505 2009-07-21  Ryosuke Niwa  <rniwa@webkit.org>
1506
1507         Reviewed by Eric Seidel.
1508
1509         REGRESSION (r46142):  editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build
1510         https://bugs.webkit.org/show_bug.cgi?id=27480
1511
1512         Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value.
1513         We made m_anchorType unsigned so that anchorType() returns the correct value.
1514
1515         * dom/Position.h:
1516         (WebCore::Position::anchorType): statically cast to AnchorType
1517
1518 2009-07-21  Jian Li  <jianli@chromium.org>
1519
1520         Reviewed by David Levin.
1521
1522         [V8] Add V8 bindings for onerror in WorkerContext.
1523         https://bugs.webkit.org/show_bug.cgi?id=27518
1524
1525         * bindings/v8/custom/V8CustomBinding.h:
1526         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1527         (WebCore::ACCESSOR_GETTER):
1528         (WebCore::ACCESSOR_SETTER):
1529
1530 2009-07-21  Jian Li  <jianli@chromium.org>
1531
1532         Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
1533         https://bugs.webkit.org/show_bug.cgi?id=27516
1534
1535         * workers/WorkerContext.h:
1536         (WebCore::WorkerContext::setOnerror):
1537         (WebCore::WorkerContext::onerror):
1538         * workers/WorkerContext.idl:
1539
1540 2009-07-21  Jian Li  <jianli@chromium.org>
1541
1542         Reviewed by David Levin.
1543
1544         Add onerror to WorkerContext.
1545         https://bugs.webkit.org/show_bug.cgi?id=27516
1546
1547         * bindings/js/JSWorkerContextCustom.cpp:
1548         (WebCore::JSWorkerContext::mark):
1549         * workers/WorkerContext.h:
1550         (WebCore::WorkerContext::setOnerror):
1551         (WebCore::WorkerContext::onerror):
1552         * workers/WorkerContext.idl:
1553
1554 2009-07-21  Yong Li  <yong.li@torchmobile.com>
1555
1556         Reviewed by George Staikos.
1557
1558         https://bugs.webkit.org/show_bug.cgi?id=27509
1559         Add font-related files for the WinCE port.
1560
1561         Written by Yong Li <yong.li@torchmobile.com>
1562
1563         * platform/graphics/wince/FontCacheWince.cpp: Added.
1564         * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
1565         * platform/graphics/wince/FontCustomPlatformData.h: Added.
1566         * platform/graphics/wince/FontPlatformData.cpp: Added.
1567         * platform/graphics/wince/FontPlatformData.h: Added.
1568         * platform/graphics/wince/FontWince.cpp: Added.
1569         * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
1570         * platform/graphics/wince/SimpleFontDataWince.cpp: Added.
1571
1572 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
1573
1574         Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
1575
1576         * WebCorePrefix.h:
1577
1578 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
1579
1580         WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
1581
1582         * WebCorePrefix.h:
1583
1584 2009-07-21  Eric Seidel  <eric@webkit.org>
1585
1586         Reviewed by Adam Barth.
1587
1588         All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
1589         https://bugs.webkit.org/show_bug.cgi?id=27478
1590
1591         This is just moving code.
1592         I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
1593
1594         DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
1595         (It's a baseclass because eventually all DOMObjects will have a global pointer, but
1596         I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
1597
1598         DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
1599         which require a backpointer to the Document to function.  I made this a subclass of
1600         DOMConstructorObject to make clear that most constructors can hold no-such assumptions
1601         about having a back-pointer to the Document (since many constructors can be used from Workers).
1602
1603         * bindings/js/JSAudioConstructor.cpp:
1604         (WebCore::JSAudioConstructor::JSAudioConstructor):
1605         * bindings/js/JSAudioConstructor.h:
1606         * bindings/js/JSDOMBinding.h:
1607         (WebCore::DOMObjectWithGlobalPointer::globalObject):
1608         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
1609         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
1610         (WebCore::DOMObjectWithGlobalPointer::mark):
1611         (WebCore::DOMConstructorObject::DOMConstructorObject):
1612         (WebCore::DOMConstructorWithDocument::document):
1613         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
1614         * bindings/js/JSImageConstructor.cpp:
1615         (WebCore::JSImageConstructor::JSImageConstructor):
1616         * bindings/js/JSImageConstructor.h:
1617         * bindings/js/JSMessageChannelConstructor.cpp:
1618         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
1619         * bindings/js/JSMessageChannelConstructor.h:
1620         * bindings/js/JSOptionConstructor.cpp:
1621         (WebCore::JSOptionConstructor::JSOptionConstructor):
1622         * bindings/js/JSOptionConstructor.h:
1623         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
1624         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
1625         * bindings/js/JSWebKitPointConstructor.cpp:
1626         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
1627         * bindings/js/JSWorkerConstructor.cpp:
1628         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
1629         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1630         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1631         * bindings/js/JSXMLHttpRequestConstructor.h:
1632         * bindings/js/JSXSLTProcessorConstructor.cpp:
1633         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
1634
1635 2009-07-21  James Hawkins  <jhawkins@google.com>
1636
1637         Reviewed by David Hyatt.
1638
1639         https://bugs.webkit.org/show_bug.cgi?id=27453
1640         Initialize isInt when creating a CSSParserValue for a function.
1641
1642         No change in behavior, so no tests.
1643
1644         * css/CSSFunctionValue.cpp:
1645         (WebCore::CSSFunctionValue::parserValue):
1646
1647 2009-07-20  Jens Alfke  <snej@google.com>
1648  
1649          Reviewed by David Levin.
1650  
1651          Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
1652          Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
1653          an arrow key is pressed.
1654          https://bugs.webkit.org/show_bug.cgi?id=27448
1655  
1656          No new tests; affects only control response to user input.
1657  
1658          * dom/SelectElement.cpp:
1659          Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
1660          so it will behave compatibly with Mac HI guidelines on pop-up menus.
1661          It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
1662  
1663 2009-07-21  Paul Godavari  <paul@chromium.org>
1664
1665         Reviewed by Eric Seidel.
1666
1667         [Chromium] popup menus can crash when the selected index is -1
1668         https://bugs.webkit.org/show_bug.cgi?id=27275
1669
1670         Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
1671         is passed an index of less than 0 (which is possible under certain circumstances). This
1672         change prevents such a value from causing a crash by enforcing valid index values passed
1673         by all callers of isSelectableItem. isSelectableItem is now a private method of
1674         PopupListBox, as there are no external callers.
1675
1676         Also cleaned up a small amount of code for style and grammar errors.
1677
1678         No automatic test is provided since we cannot send events to the child window used by
1679         the popup menu.
1680
1681         * platform/chromium/PopupMenuChromium.cpp:
1682         (WebCore::PopupListBox::acceptIndex):
1683         (WebCore::PopupListBox::selectIndex):
1684         (WebCore::PopupListBox::isSelectableItem):
1685         (WebCore::PopupListBox::selectPreviousRow):
1686
1687 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
1688
1689         wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
1690
1691         * platform/network/curl/ResourceHandleManager.h:
1692
1693 2009-07-21  Adam Roben  <aroben@apple.com>
1694
1695         Roll out r46153, r46154, and r46155
1696
1697         These changes were causing build failures and assertion failures on
1698         Windows.
1699
1700         * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
1701         * platform/graphics/cg/ImageBufferCG.cpp:
1702
1703 2009-07-21  Jian Li  <jianli@chromium.org>
1704
1705         Reviewed by Eric Seidel.
1706
1707         Implement ErrorEvent API.
1708         https://bugs.webkit.org/show_bug.cgi?id=27387
1709
1710         * DerivedSources.cpp:
1711         * DerivedSources.make:
1712         * GNUmakefile.am:
1713         * WebCore.gypi:
1714         * WebCore.pro:
1715         * WebCore.vcproj/WebCore.vcproj:
1716         * WebCore.xcodeproj/project.pbxproj:
1717         * WebCoreSources.bkl:
1718         * bindings/js/JSEventCustom.cpp:
1719         (WebCore::toJS):
1720         * dom/ErrorEvent.cpp: Added.
1721         * dom/ErrorEvent.h: Added.
1722         * dom/ErrorEvent.idl: Added.
1723         * dom/Event.cpp:
1724         (WebCore::Event::isErrorEvent):
1725         * dom/Event.h:
1726
1727 2009-07-21  Priit Laes  <plaes@plaes.org>
1728
1729         Reviewed by Gustavo Noronha.
1730
1731         [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
1732         https://bugs.webkit.org/show_bug.cgi?id=24602
1733
1734         Remove workaround required for <=libsoup-2.26.1
1735
1736         * platform/network/soup/ResourceHandleSoup.cpp:
1737         (WebCore::restartedCallback):
1738
1739 2009-07-21  Adam Barth  <abarth@webkit.org>
1740
1741         Reviewed by David Levin.
1742
1743         V8IsolatedWorld keeps a handle to a disposed context
1744         https://bugs.webkit.org/show_bug.cgi?id=27397
1745
1746         Make a copy of the context handle before making it weak.  We don't want
1747         to make the original handle weak because we want it to survive for the
1748         length of the V8IsolatedWorld::evaluate method.
1749
1750         * bindings/v8/V8IsolatedWorld.cpp:
1751         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
1752
1753 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
1754
1755         Reviewed by Timothy Hatcher.
1756
1757         Web Inspector: Add ability to evaluate selection while on break point.
1758
1759         https://bugs.webkit.org/show_bug.cgi?id=27502
1760
1761         * inspector/front-end/SourceFrame.js:
1762         (WebInspector.SourceFrame.prototype._loaded):
1763         (WebInspector.SourceFrame.prototype._documentKeyDown):
1764
1765 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
1766
1767         Reviewed by Timothy Hatcher.
1768
1769         WebInspector: Special case ConsolePanel opening since
1770         it is a 'fast view'.
1771
1772         https://bugs.webkit.org/show_bug.cgi?id=27493
1773
1774         * inspector/InspectorController.cpp:
1775         (WebCore::InspectorController::setWindowVisible):
1776
1777 2009-07-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1778
1779         Reviewed by Eric Seidel.
1780
1781         Fix Qt code to follow the WebKit Coding Style.
1782
1783         * platform/graphics/qt/FontQt.cpp:
1784         (WebCore::qstring):
1785         (WebCore::fixSpacing):
1786         * platform/graphics/qt/FontQt43.cpp:
1787         (WebCore::generateComponents):
1788         (WebCore::Font::offsetForPositionForComplexText):
1789         (WebCore::cursorToX):
1790         * platform/graphics/qt/GradientQt.cpp:
1791         (WebCore::Gradient::platformGradient):
1792         * platform/graphics/qt/GraphicsContextQt.cpp:
1793         (WebCore::toQtFillRule):
1794         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1795         (WebCore::GraphicsContext::~GraphicsContext):
1796         (WebCore::GraphicsContext::getCTM):
1797         (WebCore::GraphicsContext::concatCTM):
1798         (WebCore::GraphicsContext::getWindowsContext):
1799         * platform/graphics/qt/IconQt.cpp:
1800         (WebCore::Icon::paint):
1801         * platform/graphics/qt/ImageDecoderQt.cpp:
1802         (WebCore::ImageDecoderQt::ReadContext::read):
1803         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
1804         (WebCore::ImageDecoderQt::setData):
1805         * platform/graphics/qt/ImageQt.cpp:
1806         (WebCore::Image::drawPattern):
1807         (WebCore::BitmapImage::draw):
1808         * platform/graphics/qt/ImageSourceQt.cpp:
1809         (WebCore::ImageSource::frameDurationAtIndex):
1810         (WebCore::ImageSource::frameHasAlphaAtIndex):
1811         (WebCore::ImageSource::frameIsCompleteAtIndex):
1812         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1813         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1814         (WebCore::MediaPlayerPrivate::create):
1815         (WebCore::MediaPlayerPrivate::bytesLoaded):
1816         (WebCore::MediaPlayerPrivate::updateStates):
1817         * platform/graphics/qt/PathQt.cpp:
1818         (WebCore::Path::addArcTo):
1819         (WebCore::Path::isEmpty):
1820         * platform/graphics/qt/TransformationMatrixQt.cpp:
1821         (WebCore::TransformationMatrix::operator QTransform):
1822         * platform/qt/ClipboardQt.cpp:
1823         (WebCore::ClipboardQt::ClipboardQt):
1824         (WebCore::ClipboardQt::clearData):
1825         (WebCore::ClipboardQt::clearAllData):
1826         (WebCore::ClipboardQt::getData):
1827         (WebCore::ClipboardQt::setData):
1828         (WebCore::ClipboardQt::setDragImage):
1829         (WebCore::getCachedImage):
1830         (WebCore::ClipboardQt::declareAndWriteDragImage):
1831         (WebCore::ClipboardQt::writeURL):
1832         (WebCore::ClipboardQt::writeRange):
1833         (WebCore::ClipboardQt::hasData):
1834         * platform/qt/ClipboardQt.h:
1835         * platform/qt/ContextMenuItemQt.cpp:
1836         (WebCore::ContextMenuItem::action):
1837         (WebCore::ContextMenuItem::title):
1838         * platform/qt/CursorQt.cpp:
1839         (WebCore::westPanningCursor):
1840         (WebCore::notAllowedCursor):
1841         * platform/qt/DragDataQt.cpp:
1842         (WebCore::DragData::containsFiles):
1843         (WebCore::DragData::asFilenames):
1844         (WebCore::DragData::asPlainText):
1845         (WebCore::DragData::asFragment):
1846         * platform/qt/DragImageQt.cpp:
1847         (WebCore::createDragImageIconForCachedImage):
1848         * platform/qt/FileSystemQt.cpp:
1849         (WebCore::getFileSize):
1850         (WebCore::unloadModule):
1851         * platform/qt/Localizations.cpp:
1852         (WebCore::contextMenuItemTagShowSpellingPanel):
1853         * platform/qt/MIMETypeRegistryQt.cpp:
1854         (WebCore::):
1855         * platform/qt/PasteboardQt.cpp:
1856         (WebCore::Pasteboard::Pasteboard):
1857         (WebCore::Pasteboard::writeSelection):
1858         (WebCore::Pasteboard::plainText):
1859         * platform/qt/PlatformKeyboardEventQt.cpp:
1860         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1861         * platform/qt/PlatformMouseEventQt.cpp:
1862         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1863         * platform/qt/PopupMenuQt.cpp:
1864         (WebCore::PopupMenu::populate):
1865         * platform/qt/RenderThemeQt.cpp:
1866         (WebCore::RenderThemeQt::fallbackStyle):
1867         (WebCore::inflateButtonRect):
1868         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
1869         (WebCore::RenderThemeQt::paintButton):
1870         (WebCore::RenderThemeQt::paintMenuList):
1871         (WebCore::RenderThemeQt::applyTheme):
1872         (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
1873         (WebCore::RenderThemeQt::paintMediaBackground):
1874         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
1875         * platform/qt/RenderThemeQt.h:
1876         * platform/qt/ScreenQt.cpp:
1877         (WebCore::screenRect):
1878         (WebCore::usableScreenRect):
1879         * platform/qt/ScrollbarQt.cpp:
1880         (WebCore::Scrollbar::contextMenu):
1881         * platform/qt/ScrollbarThemeQt.cpp:
1882         (WebCore::scPart):
1883         (WebCore::scrollbarPart):
1884         * platform/qt/ScrollbarThemeQt.h:
1885         * platform/qt/SharedBufferQt.cpp:
1886         (WebCore::SharedBuffer::createWithContentsOfFile):
1887         * platform/qt/TemporaryLinkStubs.cpp:
1888         (PluginDatabase::defaultPluginDirectories):
1889         (PluginDatabase::getPluginPathsInDirectories):
1890         (PluginDatabase::isPreferredPluginDirectory):
1891         (WebCore::getSupportedKeySizes):
1892         (WebCore::signedPublicKeyAndChallengeString):
1893         (WebCore::userIdleTime):
1894         (WebCore::prefetchDNS):
1895         * platform/text/qt/StringQt.cpp:
1896         (WebCore::String::String):
1897         * platform/text/qt/TextBoundaries.cpp:
1898         * platform/text/qt/TextBreakIteratorQt.cpp:
1899         (WebCore::TextBreakIterator::following):
1900         (WebCore::TextBreakIterator::preceding):
1901         (WebCore::WordBreakIteratorQt::first):
1902         (WebCore::WordBreakIteratorQt::next):
1903         (WebCore::WordBreakIteratorQt::previous):
1904         (WebCore::CharBreakIteratorQt::first):
1905         (WebCore::CharBreakIteratorQt::next):
1906         (WebCore::CharBreakIteratorQt::previous):
1907         (WebCore::characterBreakIterator):
1908         * plugins/qt/PluginPackageQt.cpp:
1909         (WebCore::PluginPackage::fetchInfo):
1910         * plugins/qt/PluginViewQt.cpp:
1911         (WebCore::PluginView::userAgentStatic):
1912         (WebCore::PluginView::handlePostReadFile):
1913         (WebCore::PluginView::init):
1914
1915 2009-07-21  Maxime Simon  <simon.maxime@gmail.com>
1916
1917         Reviewed by David Levin.
1918
1919         Added a first bunch of Haiku-specific files for WebCore.
1920         https://bugs.webkit.org/show_bug.cgi?id=26988
1921
1922         * platform/haiku/ClipboardHaiku.cpp: Added.
1923         (WebCore::ClipboardHaiku::ClipboardHaiku):
1924         (WebCore::ClipboardHaiku::clearData):
1925         (WebCore::ClipboardHaiku::clearAllData):
1926         (WebCore::ClipboardHaiku::getData):
1927         (WebCore::ClipboardHaiku::setData):
1928         (WebCore::ClipboardHaiku::types):
1929         (WebCore::ClipboardHaiku::files):
1930         (WebCore::ClipboardHaiku::dragLocation):
1931         (WebCore::ClipboardHaiku::dragImage):
1932         (WebCore::ClipboardHaiku::setDragImage):
1933         (WebCore::ClipboardHaiku::dragImageElement):
1934         (WebCore::ClipboardHaiku::setDragImageElement):
1935         (WebCore::ClipboardHaiku::createDragImage):
1936         (WebCore::ClipboardHaiku::declareAndWriteDragImage):
1937         (WebCore::ClipboardHaiku::writeURL):
1938         (WebCore::ClipboardHaiku::writeRange):
1939         (WebCore::ClipboardHaiku::hasData):
1940         * platform/haiku/ClipboardHaiku.h: Added.
1941         (WebCore::ClipboardHaiku::create):
1942         (WebCore::ClipboardHaiku::~ClipboardHaiku):
1943         * platform/haiku/CookieJarHaiku.cpp: Added.
1944         (WebCore::setCookies):
1945         (WebCore::cookies):
1946         (WebCore::cookiesEnabled):
1947         * platform/haiku/CursorHaiku.cpp: Added.
1948         (WebCore::Cursor::Cursor):
1949         (WebCore::Cursor::~Cursor):
1950         (WebCore::Cursor::operator=):
1951         (WebCore::pointerCursor):
1952         (WebCore::moveCursor):
1953         (WebCore::crossCursor):
1954         (WebCore::handCursor):
1955         (WebCore::iBeamCursor):
1956         (WebCore::waitCursor):
1957         (WebCore::helpCursor):
1958         (WebCore::eastResizeCursor):
1959         (WebCore::northResizeCursor):
1960         (WebCore::northEastResizeCursor):
1961         (WebCore::northWestResizeCursor):
1962         (WebCore::southResizeCursor):
1963         (WebCore::southEastResizeCursor):
1964         (WebCore::southWestResizeCursor):
1965         (WebCore::westResizeCursor):
1966         (WebCore::northSouthResizeCursor):
1967         (WebCore::eastWestResizeCursor):
1968         (WebCore::northEastSouthWestResizeCursor):
1969         (WebCore::northWestSouthEastResizeCursor):
1970         (WebCore::columnResizeCursor):
1971         (WebCore::rowResizeCursor):
1972         (WebCore::verticalTextCursor):
1973         (WebCore::cellCursor):
1974         (WebCore::contextMenuCursor):
1975         (WebCore::noDropCursor):
1976         (WebCore::copyCursor):
1977         (WebCore::progressCursor):
1978         (WebCore::aliasCursor):
1979         (WebCore::noneCursor):
1980         (WebCore::notAllowedCursor):
1981         (WebCore::zoomInCursor):
1982         (WebCore::zoomOutCursor):
1983         (WebCore::grabCursor):
1984         (WebCore::grabbingCursor):
1985
1986 2009-07-21  Albert Astals Cid <aacid@kde.org>
1987
1988         Reviewed by Tor Arne Vestbø.
1989
1990         Change #error line not to have a ' (single quote)
1991
1992         * DerivedSources.cpp:
1993
1994 2009-07-21  Roland Steiner  <rolandsteiner@google.com>
1995
1996         Reviewed by David Levin.
1997
1998         Add ENABLE_RUBY to list of build options
1999         https://bugs.webkit.org/show_bug.cgi?id=27324
2000
2001         Added flag ENABLE_RUBY:
2002
2003         * Configurations/FeatureDefines.xcconfig:
2004         * DerivedSources.make:
2005         * GNUmakefile.am:
2006         * WebCore.pro:
2007         * WebCore.vcproj/WebCoreCommon.vsprops:
2008         * WebCore.vcproj/build-generated-files.sh:
2009
2010 2009-07-21  James Hawkins  <jhawkins@google.com>
2011
2012         Reviewed by Eric Seidel.
2013
2014         https://bugs.webkit.org/show_bug.cgi?id=27467
2015         Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
2016         if matrix.invert() fails.  This prevents the use of an uninitialized
2017         value in inverseMatrix.
2018
2019         No new tests added.  Run
2020         LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
2021         under valgrind and notice there are no errors.
2022
2023         * platform/graphics/skia/PlatformContextSkia.cpp:
2024         (PlatformContextSkia::currentPathInLocalCoordinates):
2025
2026 2009-07-21  Stephen White  <senorblanco@chromium.org>
2027
2028         Reviewed by Eric Seidel.
2029
2030         https://bugs.webkit.org/show_bug.cgi?id=27388
2031
2032         Fix dotted and dashed borders on Chromium/skia.  This follows
2033         the logic in the Cg path, so results are much closer to Safari now 
2034         (some tests won't be exactly the same due to font layout differences).
2035
2036         * platform/graphics/skia/GraphicsContextSkia.cpp:
2037         (WebCore::GraphicsContext::drawLine):
2038         * platform/graphics/skia/PlatformContextSkia.cpp:
2039         (PlatformContextSkia::setupPaintForStroking):
2040
2041 2009-07-20  Oliver Hunt  <oliver@apple.com>
2042
2043         Reviewed by Gavin Barraclough.
2044
2045         Make it harder to misuse try* allocation routines
2046         https://bugs.webkit.org/show_bug.cgi?id=27469
2047
2048         Add forwarding header for PossiblyNull type, and add missing null check
2049         to ImageBuffer creation.
2050
2051         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
2052         * platform/graphics/cg/ImageBufferCG.cpp:
2053         (WebCore::ImageBuffer::ImageBuffer):
2054
2055 2009-07-20  Adam Langley  <agl@google.com>
2056
2057         Reviewed by Eric Seidel.
2058
2059         Guard access to installedMediaEngines()[0].
2060
2061         https://bugs.webkit.org/show_bug.cgi?id=27479
2062         http://code.google.com/p/chromium/issues/detail?id=16541
2063
2064         Else where in the file, installedMediaEngines is always checked for
2065         being empty because access. This patch adds a case which missed that
2066         check.
2067
2068         This triggered a crash in Chromium:
2069             http://www.yakeze.com/chat/example-chromium-crash/
2070
2071         * platform/graphics/MediaPlayer.cpp:
2072         (WebCore::MediaPlayer::load):
2073
2074 2009-07-20  Adam Langley  <agl@google.com>
2075
2076         Reviewed by Eric Seidel.
2077
2078         Allow search entries to render with a CSS border if the RenderTheme
2079         doesn't paint them.
2080
2081         https://bugs.webkit.org/show_bug.cgi?id=27466
2082         http://code.google.com/p/chromium/issues/detail?id=16958
2083
2084         <input type="search"> is very much like a text entry except that,
2085         currently, if the RenderTheme doesn't deal with it, nothing is
2086         rendered. With this patch, the default CSS border is rendered if the
2087         RenderTheme requests it.
2088
2089         This will affect many layout tests, but only for Chromium Linux and
2090         those results are not currently in the WebKit tree.
2091
2092         * rendering/RenderTheme.cpp:
2093         (WebCore::RenderTheme::paintBorderOnly):
2094
2095 2009-07-17  Anton Muhin  <antonm@chromium.org>
2096
2097         Reviewed by Adam Barth.
2098
2099         Switch to faster methods to access internal fields.
2100         https://bugs.webkit.org/show_bug.cgi?id=27372
2101
2102         Minor refactoring.
2103
2104         * bindings/scripts/CodeGeneratorV8.pm:
2105         * bindings/v8/V8DOMWrapper.cpp:
2106         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
2107         (WebCore::V8DOMWrapper::setDOMWrapper):
2108         * bindings/v8/V8DOMWrapper.h:
2109         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
2110         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
2111         (WebCore::V8DOMWrapper::convertToNativeObject):
2112         (WebCore::V8DOMWrapper::convertToNativeEvent):
2113         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2114         (WebCore::CALLBACK_FUNC_DECL):
2115         * bindings/v8/custom/V8ClipboardCustom.cpp:
2116         (WebCore::CALLBACK_FUNC_DECL):
2117         * bindings/v8/custom/V8DocumentCustom.cpp:
2118         (WebCore::CALLBACK_FUNC_DECL):
2119         * bindings/v8/custom/V8ElementCustom.cpp:
2120         (WebCore::CALLBACK_FUNC_DECL):
2121         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2122         (WebCore::CALLBACK_FUNC_DECL):
2123         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2124         (WebCore::CALLBACK_FUNC_DECL):
2125         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2126         (WebCore::removeElement):
2127         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
2128         (WebCore::CALLBACK_FUNC_DECL):
2129         * bindings/v8/custom/V8NodeCustom.cpp:
2130         (WebCore::CALLBACK_FUNC_DECL):
2131         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
2132         (WebCore::CALLBACK_FUNC_DECL):
2133
2134 2009-07-20  Adam Langley  <agl@google.com>
2135
2136         Reviewed by Eric Seidel.
2137
2138         Chromium Linux: cache Harfbuzz faces.
2139
2140         https://bugs.webkit.org/show_bug.cgi?id=27473
2141
2142         Previously, we recreated the Harfbuzz face for each script-run. With
2143         this patch, we keep the Harfbuzz face in the FontPlatformData (created
2144         as needed) and so they will persist for the duration of the
2145         FontPlatformData.
2146
2147         Shouldn't affect any layout tests. Results in a significant win on the
2148         intl2 page cycler time.
2149
2150         * platform/graphics/chromium/FontLinux.cpp:
2151         (WebCore::TextRunWalker::~TextRunWalker):
2152         (WebCore::TextRunWalker::setupFontForScriptRun):
2153         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2154         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
2155         (WebCore::FontPlatformData::FontPlatformData):
2156         (WebCore::FontPlatformData::harfbuzzFace):
2157         * platform/graphics/chromium/FontPlatformDataLinux.h:
2158         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
2159         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
2160         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
2161         * platform/graphics/chromium/HarfbuzzSkia.h: Added.
2162
2163 2009-07-20  Ryosuke Niwa  <rniwa@webkit.org>
2164
2165         Reviewed by Simon Fraser.
2166
2167         REGRESSION (r46142): Need to remove showTreeThisForThis
2168         https://bugs.webkit.org/show_bug.cgi?id=27475
2169
2170         Removes showTreeThisForThis
2171
2172         * editing/IndentOutdentCommand.cpp:
2173         (WebCore::IndentOutdentCommand::appendParagraphIntoNode):
2174
2175 2009-07-19  Ryosuke Niwa  <rniwa@webkit.org>
2176
2177         Reviewed by Eric Seidel.
2178
2179         Refactoring of indentRegion to fix bugs 26816 and 25317
2180         https://bugs.webkit.org/show_bug.cgi?id=26816
2181         https://bugs.webkit.org/show_bug.cgi?id=25317
2182         https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
2183
2184         This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
2185         and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
2186
2187         1. We try to indent as many wrapping nodes as possible.
2188            e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
2189         2. We do not delete any wrapping elements
2190            With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
2191            This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
2192            With appendParagraphIntoNode, we can preserve all wrapping nodes.
2193         3. We only split the tree until the closest block node instead of until the root editable node.
2194            This behavioral change fixes the bug 25317.
2195         4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
2196            e.g. when a list is a child node of a div, and the entire div is intended,
2197                 we enclose the div by a single blockquote.
2198
2199         Note that new behavior is more consistent with that of Internet Explorer and Firefox.
2200         To demonstrate this, the following tests are added.
2201
2202         Tests: editing/execCommand/indent-div-inside-list.html
2203                editing/execCommand/indent-nested-blockquotes.html
2204                editing/execCommand/indent-nested-div.html
2205                editing/execCommand/indent-second-paragraph-in-blockquote.html
2206
2207         * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
2208         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
2209         (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
2210         (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
2211         (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
2212         (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
2213         * editing/IndentOutdentCommand.h: updated prototype
2214
2215 2009-07-20  Dan Bernstein  <mitz@apple.com>
2216
2217         Try to fix release builds after r46136
2218
2219         * dom/Element.cpp:
2220
2221 2009-07-17  Pierre d'Herbemont  <pdherbemont@apple.com>
2222
2223         Reviewed by Eric Seidel.
2224
2225         Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
2226         https://bugs.webkit.org/show_bug.cgi?id=27380
2227
2228         Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
2229
2230         * css/mediaControlsQT.css:
2231
2232 2009-07-20  Peter Kasting  <pkasting@google.com>
2233
2234         Reviewed by Mark Rowe.
2235
2236         https://bugs.webkit.org/show_bug.cgi?id=27468
2237         Back out r46060, which caused problems for some Apple developers.
2238
2239         * WebCore.vcproj/QTMovieWin.vcproj:
2240         * WebCore.vcproj/WebCoreCommon.vsprops:
2241         * WebCore.vcproj/WebCoreGenerated.vcproj:
2242
2243 2009-07-20  Dan Bernstein  <mitz@apple.com>
2244
2245         Reviewed by Anders Carlsson.
2246
2247         When loading a custom view into a frame, the old document is still
2248         around
2249         <rdar://problem/5145841>
2250
2251         Safari fires onload before PDF is loaded into the browser
2252         <rdar://problem/6618869>
2253
2254         Test: fast/loader/non-html-load-event.html
2255
2256         * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
2257         * WebCore.gypi: Ditto.
2258         * WebCore.pro: Ditto.
2259         * WebCore.vcproj/WebCore.vcproj: Ditto.
2260         * WebCore.xcodeproj/project.pbxproj: Ditto.
2261         * WebCoreSources.bkl: Ditto.
2262         * dom/Document.h:
2263         (WebCore::Document::setStyleSelector): Added this protected accessor for
2264             PlaceholderDocument to use.
2265         * dom/Element.cpp:
2266         (WebCore::Element::clientWidth): Check whether the document has a
2267             renderer.
2268         (WebCore::Element::clientHeight): Ditto.
2269         * loader/FrameLoader.cpp:
2270         (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
2271             that do not use an HTML view. Do not nullify the content size in
2272             that case.
2273         (WebCore::FrameLoader::transitionToCommitted): For frames that do not
2274             use an HTML view, call receivedFirstData(), which sets up the
2275             frame with a new PlaceHolderDocument.
2276         * loader/PlaceholderDocument.cpp: Added.
2277         (WebCore::PlaceholderDocument::attach): Sets up the style selector but
2278             does not create a RenderView.
2279         * loader/PlaceholderDocument.h: Added.
2280         (WebCore::PlaceholderDocument::create):
2281         (WebCore::PlaceholderDocument::PlaceholderDocument):
2282
2283 2009-07-20  Chris Marrin  <cmarrin@apple.com>
2284
2285         Reviewed by Simon Fraser.
2286
2287         Handle opacity and opacity animations on transform layers in Leopard
2288         https://bugs.webkit.org/show_bug.cgi?id=27398
2289
2290         This makes two changes, and only for Leopard. 
2291
2292         First, whenever opacity is changed on a layer I propagate the 
2293         change into the content layer and all the children if the layer 
2294         on which opacity is set is a transform layer (preserve3D is true). 
2295         The opacity set is the accumulated opacity from this layer
2296         and all its direct ancestor transform layers. Second, I turn off all 
2297         hardware opacity animation.
2298
2299         * platform/graphics/GraphicsLayer.cpp:
2300         (WebCore::GraphicsLayer::accumulatedOpacity):
2301         (WebCore::GraphicsLayer::distributeOpacity):
2302         * platform/graphics/GraphicsLayer.h:
2303         (WebCore::GraphicsLayer::setOpacityInternal):
2304         * platform/graphics/mac/GraphicsLayerCA.h:
2305         * platform/graphics/mac/GraphicsLayerCA.mm:
2306         (WebCore::GraphicsLayerCA::setPreserves3D):
2307         (WebCore::GraphicsLayerCA::setOpacity):
2308         (WebCore::GraphicsLayerCA::animateFloat):
2309         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
2310         (WebCore::GraphicsLayerCA::setOpacityInternal):
2311         (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
2312
2313 2009-07-20  Yong Li  <yong.li@torchmobile.com>
2314
2315         Reviewed by Adam Roben.
2316
2317         https://bugs.webkit.org/show_bug.cgi?id=27349
2318         Add GraphicsContext implementation for the WinCE port.
2319
2320         Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
2321         with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
2322
2323         * platform/graphics/wince/GraphicsContextWince.cpp: Added.
2324
2325 2009-07-20  Dumitru Daniliuc  <dumi@chromium.org>
2326
2327         Reviewed by Dimitri Glazkov.
2328
2329         Adding the Win SQLite VFS implementation for Chromium, and stubs
2330         for the Mac and Linux VFSs.
2331
2332         https://bugs.webkit.org/show_bug.cgi?id=26940
2333
2334         * WebCore.gypi:
2335         * platform/chromium/ChromiumBridge.h:
2336         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
2337         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
2338         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
2339         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
2340
2341 2009-07-20  Xan Lopez  <xlopez@igalia.com>
2342
2343         Reviewed by Gustavo Noronha.
2344
2345         https://bugs.webkit.org/show_bug.cgi?id=27097
2346         [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
2347
2348         Check that an object is a RenderObject before trying to access its
2349         renderer and related node.
2350
2351         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2352         (webkit_accessible_get_role):
2353
2354 2009-07-20  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
2355
2356         Reviewed by Simon Hausmann.
2357
2358         [Qt] font cache reworking
2359         https://bugs.webkit.org/show_bug.cgi?id=27265
2360
2361         Reimplemented Qt's FontCache in a way that follows the shared one.
2362         Now we can release its elements when those became inactive.
2363         FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
2364
2365         No change in behavior, so no tests.
2366
2367         * platform/graphics/qt/FontCacheQt.cpp:
2368         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
2369         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
2370         (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
2371         It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
2372         with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
2373         FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
2374         (WebCore::FontPlatformDataCacheKey::operator==):
2375         (WebCore::FontPlatformDataCacheKey::hash):
2376         (WebCore::FontPlatformDataCacheKey::computeHash):
2377         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
2378         (WebCore::FontPlatformDataCacheKeyHash::hash):
2379         (WebCore::FontPlatformDataCacheKeyHash::equal):
2380         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
2381         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
2382         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
2383         (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
2384         (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
2385         (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
2386         (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
2387         (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
2388         * platform/graphics/qt/FontFallbackListQt.cpp:
2389         (WebCore::FontFallbackList::releaseFontData):
2390         (WebCore::FontFallbackList::fontDataAt):
2391         * platform/graphics/qt/FontPlatformData.h:
2392         (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
2393         (WebCore::FontPlatformData::bold): Ditto.
2394         (WebCore::FontPlatformData::italic): Ditto.
2395         (WebCore::FontPlatformData::smallCaps): Ditto.
2396         (WebCore::FontPlatformData::pixelSize): Ditto.
2397         * platform/graphics/qt/FontPlatformDataQt.cpp:
2398         (WebCore::FontPlatformData::FontPlatformData): Set m_bold.
2399
2400 2009-07-20  Xan Lopez  <xlopez@igalia.com>
2401
2402         Reviewed by Holger Freyther.
2403
2404         https://bugs.webkit.org/show_bug.cgi?id=26716
2405         [Gtk] Each XMLHttpRequest leaks memory.
2406
2407         Free the SoupURI we create to check the URI. Fix suggested by John
2408         Kjellberg.
2409
2410         * platform/network/soup/ResourceHandleSoup.cpp:
2411         (WebCore::):
2412
2413 2009-07-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2414
2415         Reviewed by Holger Freyther.
2416
2417         [Qt] On Symbian link against system sqlite3
2418         https://bugs.webkit.org/show_bug.cgi?id=27368
2419
2420         Add an option to force linking against system sqlite3
2421         by adding system-sqlite to the CONFIG variable.
2422
2423         The Symbian specific part of this patch is contributed by 
2424         Norbert Leser.
2425
2426         * WebCore.pro:
2427
2428 2009-07-20  Xan Lopez  <xlopez@igalia.com>
2429
2430         Reviewed by Gustavo Noronha.
2431
2432         Change the glib version check to check for the first unstable
2433         release with g_mapped_file_unref. Otherwise this would be useless
2434         until 2.22 is released, a few months from now.
2435
2436         * platform/network/soup/ResourceHandleSoup.cpp:
2437         (WebCore::ResourceHandle::startHttp):
2438
2439 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
2440
2441         Reviewed by and done with Tor Arne Vestbø.
2442
2443         Fix fast/css/pseudo-required-optional-*.html in the Qt build
2444         after r46062.
2445
2446         These tests triggered a bug in RenderThemeQt where we did not fall back
2447         to the unstyled painting of text areas and input fields when they have
2448         a styled background.
2449
2450         Our re-implementation of isControlStyled incorrectly only checked the
2451         border for determining whether to style or not. The base-implementation
2452         performs the same check, but also includes the background. Removing
2453         our implementation fixes the appearance.
2454
2455         * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
2456         * platform/qt/RenderThemeQt.h: Ditto.
2457
2458 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
2459
2460         Rubber-stamped by Tor Arne Vestbø.
2461
2462         Add missing (sorted) header files to the HEADERS variable in the qmake
2463         .pro file for improved completion in IDEs.
2464
2465         * WebCore.pro:
2466
2467 2009-07-19  Adam Barth  <abarth@webkit.org>
2468
2469         Reviewed by David Levin.
2470
2471         [V8] Factor V8ConsoleMessage out of V8Proxy
2472         https://bugs.webkit.org/show_bug.cgi?id=27421
2473
2474         No behavior change.
2475
2476         * WebCore.gypi:
2477         * bindings/v8/V8ConsoleMessage.cpp: Added.
2478         (WebCore::V8ConsoleMessage::V8ConsoleMessage):
2479         (WebCore::V8ConsoleMessage::dispatchNow):
2480         (WebCore::V8ConsoleMessage::dispatchLater):
2481         (WebCore::V8ConsoleMessage::processDelayed):
2482         (WebCore::V8ConsoleMessage::handler):
2483         * bindings/v8/V8ConsoleMessage.h: Added.
2484         (WebCore::V8ConsoleMessage::Scope::Scope):
2485         (WebCore::V8ConsoleMessage::Scope::~Scope):
2486         * bindings/v8/V8Proxy.cpp:
2487         (WebCore::logInfo):
2488         (WebCore::reportUnsafeAccessTo):
2489         (WebCore::V8Proxy::runScript):
2490         (WebCore::V8Proxy::callFunction):
2491         (WebCore::V8Proxy::newInstance):
2492         (WebCore::V8Proxy::initContextIfNeeded):
2493         (WebCore::V8Proxy::processConsoleMessages):
2494
2495 2009-07-19  Rob Buis  <rwlbuis@gmail.com>
2496
2497         Reviewed by Adam Barth.
2498
2499         Remove unused member variable.
2500
2501         * svg/SVGPolyElement.h:
2502
2503 2009-07-19  Eric Carlson  <eric.carlson@apple.com>
2504
2505         Reviewed by Dan Bernstein.
2506
2507         HTMLAudioElement: constructor should set "autobuffer" attribute
2508         https://bugs.webkit.org/show_bug.cgi?id=27422
2509
2510         Test: media/audio-constructor-autobuffer.html
2511
2512         * bindings/js/JSAudioConstructor.cpp:
2513         (WebCore::constructAudio):
2514             Set 'autobuffer' attribute.
2515
2516 2009-07-19  Thierry Bastian <thierry.bastian@nokia.com>
2517
2518         Reviewed by Simon Hausmann.
2519
2520         Fix the Qt build with mingw.
2521
2522         * WebCore.pro: Don't use MSVC commandline options to disable warnings
2523         with mingw.
2524
2525 2009-07-19  Adam Barth  <abarth@webkit.org>
2526
2527         Reviewed by David Levin.
2528
2529         [V8] Phase 2: Remove event listener methods from V8Proxy
2530         https://bugs.webkit.org/show_bug.cgi?id=27415
2531
2532         No behavior change.
2533
2534         * bindings/v8/V8ObjectEventListener.cpp:
2535         (WebCore::weakObjectEventListenerCallback):
2536         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
2537         * bindings/v8/V8Proxy.cpp:
2538         (WebCore::V8Proxy::disconnectEventListeners):
2539         * bindings/v8/V8Proxy.h:
2540         (WebCore::V8Proxy::eventListeners):
2541         (WebCore::V8Proxy::objectListeners):
2542         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
2543         (WebCore::getEventListener):
2544         * bindings/v8/custom/V8CustomEventListener.cpp:
2545         (WebCore::V8EventListener::~V8EventListener):
2546         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2547         (WebCore::CALLBACK_FUNC_DECL):
2548         (WebCore::ACCESSOR_SETTER):
2549         * bindings/v8/custom/V8ElementCustom.cpp:
2550         (WebCore::ACCESSOR_SETTER):
2551         * bindings/v8/custom/V8MessagePortCustom.cpp:
2552         (WebCore::ACCESSOR_SETTER):
2553         (WebCore::CALLBACK_FUNC_DECL):
2554         * bindings/v8/custom/V8NodeCustom.cpp:
2555         (WebCore::CALLBACK_FUNC_DECL):
2556         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
2557         (WebCore::CALLBACK_FUNC_DECL):
2558         * bindings/v8/custom/V8WorkerCustom.cpp:
2559         (WebCore::getEventListener):
2560         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2561         (WebCore::getEventListener):
2562         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
2563         (WebCore::ACCESSOR_SETTER):
2564         (WebCore::CALLBACK_FUNC_DECL):
2565
2566 2009-07-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
2567
2568         Reviewed by Gustavo Noronha.
2569
2570         [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
2571         https://bugs.webkit.org/show_bug.cgi?id=27230
2572
2573         Use g_mapped_file_unref for GLIB version 2.22 onwards.
2574
2575         * platform/network/soup/ResourceHandleSoup.cpp:
2576         (WebCore::ResourceHandle::startHttp):
2577
2578 2009-07-18  Dan Bernstein  <mitz@apple.com>
2579
2580         Reviewed by Anders Carlsson.
2581
2582         Add spread radius support to -webkit-box-shadow
2583         https://bugs.webkit.org/show_bug.cgi?id=27417
2584         rdar://problem/7072267
2585
2586         Test: fast/box-shadow/spread.html
2587
2588         * css/CSSComputedStyleDeclaration.cpp:
2589         (WebCore::valueForShadow): Added a property ID parameter and used it to
2590             include the spread length for box-shadow but not for text-shadow.
2591         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2592             Pass the property ID to valueForShadow().
2593
2594         * css/CSSParser.cpp:
2595         (WebCore::ShadowParseContext::ShadowParseContext): Added property,
2596             spread, and allowSpread members. Added a property ID parameter to
2597             the constructor. Initialize the property and allowSpread members.
2598         (WebCore::ShadowParseContext::allowLength): Added allowSpread.
2599         (WebCore::ShadowParseContext::commitValue): Pass the spread value to
2600             the ShadowValue constructor. Reset allowSpread.
2601         (WebCore::ShadowParseContext::commitLength): Allow spread after blur
2602             for the box-shadow property.
2603         (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
2604         (WebCore::CSSParser::parseShadow): Pass the property ID to
2605             ShadowParseContext().
2606
2607         * css/CSSStyleSelector.cpp:
2608         (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
2609             the shadow value and pass it to the ShadowData constructor.
2610
2611         * css/ShadowValue.cpp:
2612         (WebCore::ShadowValue::ShadowValue): Added spread.
2613         (WebCore::ShadowValue::cssText): Added spread.
2614
2615         * css/ShadowValue.h:
2616         (WebCore::ShadowValue::create): Added spread.
2617
2618         * page/animation/AnimationBase.cpp:
2619         (WebCore::blendFunc): Blend the spread value.
2620         (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
2621             shadow.
2622
2623         * rendering/InlineFlowBox.cpp:
2624         (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
2625             the visual overflow calculations.
2626         (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
2627         (WebCore::InlineFlowBox::paint): Ditto.
2628
2629         * rendering/RenderBlock.cpp:
2630         (WebCore::RenderBlock::overflowHeight): Ditto.
2631         (WebCore::RenderBlock::overflowWidth): Ditto.
2632         (WebCore::RenderBlock::overflowLeft): Ditto.
2633         (WebCore::RenderBlock::overflowTop): Ditto.
2634         (WebCore::RenderBlock::overflowRect): Ditto.
2635         (WebCore::RenderBlock::layoutBlock): Ditto.
2636
2637         * rendering/RenderBoxModelObject.cpp:
2638         (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
2639             casting rect by the shadow spread value. Adjust border radii if
2640             necessary.
2641
2642         * rendering/RenderFlexibleBox.cpp:
2643         (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
2644             visual overflow calculations.
2645         * rendering/RenderLayer.cpp:
2646         (WebCore::RenderLayer::calculateRects): Ditto.
2647
2648         * rendering/RenderObject.cpp:
2649         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
2650         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
2651
2652         * rendering/RenderReplaced.cpp:
2653         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
2654
2655         * rendering/style/RenderStyle.cpp:
2656         (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
2657             have spread.
2658
2659         * rendering/style/ShadowData.cpp:
2660         (WebCore::ShadowData::ShadowData): Added spread.
2661         (WebCore::ShadowData::operator==): Compare spread.
2662         * rendering/style/ShadowData.h:
2663         (WebCore::ShadowData::ShadowData): Added spread.
2664
2665 2009-07-18  Adam Barth  <abarth@webkit.org>
2666
2667         Reviewed by Jan Alonzo.
2668
2669         Minor FrameLoader.cpp cleanup
2670         https://bugs.webkit.org/show_bug.cgi?id=27406
2671
2672         No behavior change.
2673
2674         * loader/FrameLoader.cpp:
2675         (WebCore::FrameLoader::executeIfJavaScriptURL):
2676
2677 2009-07-18  Adam Barth  <abarth@webkit.org>
2678
2679         Reviewed by Darin Fisher.
2680
2681         [V8] Move event listener methods from V8Proxy to V8EventListenerList
2682         https://bugs.webkit.org/show_bug.cgi?id=27408
2683
2684         Move some event listener code out of V8Proxy and into the event
2685         listener list.
2686
2687         I'd like to remove these methods from V8Proxy entirely and just expose
2688         getters for the lists themselves, but I'll do that in a follow up
2689         patch.
2690
2691         * bindings/v8/V8EventListenerList.cpp:
2692         (WebCore::V8EventListenerList::findWrapper):
2693         * bindings/v8/V8EventListenerList.h:
2694         (WebCore::V8EventListenerList::findOrCreateWrapper):
2695         * bindings/v8/V8ObjectEventListener.cpp:
2696         * bindings/v8/V8Proxy.cpp:
2697         (WebCore::V8Proxy::findV8EventListener):
2698         (WebCore::V8Proxy::findOrCreateV8EventListener):
2699         (WebCore::V8Proxy::removeV8EventListener):
2700         (WebCore::V8Proxy::findObjectEventListener):
2701         (WebCore::V8Proxy::findOrCreateObjectEventListener):
2702         (WebCore::V8Proxy::removeObjectEventListener):
2703         * bindings/v8/V8Proxy.h:
2704
2705 2009-07-18  Jeremy Orlow  <jorlow@chromium.org>
2706
2707         Rubber stamped by Adam Barth.
2708
2709         Revert https://bugs.webkit.org/show_bug.cgi?id=27383
2710         https://bugs.webkit.org/show_bug.cgi?id=27407
2711
2712         Revert Jens' patch.  I believe he forgot to include a file.
2713
2714         * WebCore.gypi:
2715         * bindings/scripts/CodeGeneratorV8.pm:
2716         * bindings/v8/DOMObjectsInclude.h:
2717         * bindings/v8/V8DOMWrapper.cpp:
2718         (WebCore::V8DOMWrapper::getTemplate):
2719         * bindings/v8/V8DataGridDataSource.cpp: Removed.
2720         * bindings/v8/V8DataGridDataSource.h: Removed.
2721         * bindings/v8/V8GCController.h:
2722         * bindings/v8/V8Index.h:
2723         * bindings/v8/custom/V8CustomBinding.h:
2724         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
2725         (WebCore::ACCESSOR_GETTER):
2726         (WebCore::ACCESSOR_SETTER):
2727
2728 2009-07-17  Daniel Bates  <dbates@intudata.com>
2729
2730         Reviewed by Adam Barth.
2731         
2732         https://bugs.webkit.org/show_bug.cgi?id=27405
2733
2734         Fixes an issue when decoding HTML entities with an unknown named entity that 
2735         caused null-characters to be inserted into the decoded result.
2736
2737         Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
2738               http/tests/security/xssAuditor/javascript-link-ampersand.html
2739
2740         * page/XSSAuditor.cpp:
2741         (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
2742         non-zero entity values are not inserted during decoding process.
2743
2744 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
2745
2746         <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space
2747
2748         Reviewed by Holger Freyther.
2749
2750         Add Gtk to platforms that want to open the menulist using the
2751         spacebar.
2752
2753         * dom/SelectElement.cpp:
2754         (WebCore::SelectElement::menuListDefaultEventHandler):
2755
2756 2009-07-17  Mario Sanchez Prada  <msanchez@igalia.com>
2757
2758         Reviewed by Jan Alonzo.
2759
2760         https://bugs.webkit.org/show_bug.cgi?id=25523
2761         [GTK] The text displayed by push buttons is not exposed to assistive technologies
2762
2763         Add new public method text() to RenderButton and use it from
2764         AccessibilityRenderObject::stringValue().
2765
2766         * accessibility/AccessibilityRenderObject.cpp:
2767         (WebCore::AccessibilityRenderObject::stringValue):
2768         * rendering/RenderButton.cpp:
2769         (WebCore::RenderButton::text):
2770         * rendering/RenderButton.h:
2771
2772 2009-07-17  Anton Muhin  <antonm@chromium.org>
2773
2774         Reviewed by Dimitri Glazkov.
2775
2776         Restore proxy retrieval
2777         https://bugs.webkit.org/show_bug.cgi?id=27369
2778
2779         No new tests are needed.
2780
2781         * bindings/v8/V8DOMWrapper.cpp:
2782         (WebCore::V8DOMWrapper::instantiateV8Object):
2783
2784 2009-07-17  Yael Aharon  <yael.aharon@nokia.com>
2785
2786         Reviewed by George Staikos.
2787
2788         https://bugs.webkit.org/show_bug.cgi?id=27351
2789         Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
2790         Use uname to find the correct platform for Linux.
2791
2792         * page/NavigatorBase.cpp:
2793         (WebCore::NavigatorBase::platform):
2794
2795 2009-07-17  Jens Alfke  <snej@chromium.org>
2796
2797         Reviewed by Dimitri Glazkov.
2798
2799         Hook up V8 bindings for DataGrid elements.
2800         https://bugs.webkit.org/show_bug.cgi?id=27383
2801         http://code.google.com/p/chromium/issues/detail?id=16730
2802
2803         Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
2804         to handle exceptions, check appropriate JS prototypes, and
2805         test column-list's item() method as well as array-indexing.
2806
2807         * WebCore.gypi: Added new source files.
2808         * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
2809         * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
2810         * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
2811         (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
2812         * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
2813         (WebCore::V8DataGridDataSource::V8DataGridDataSource):
2814         (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
2815         * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
2816         (WebCore::V8DataGridDataSource::create):
2817         (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
2818         (WebCore::V8DataGridDataSource::jsDataSource):
2819         (WebCore::asV8DataGridDataSource):
2820         * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
2821         * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
2822         * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
2823         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
2824         (WebCore::ACCESSOR_GETTER):
2825         (WebCore::ACCESSOR_SETTER):
2826
2827 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
2828
2829         Reviewed by Darin Fisher.
2830
2831         StorageArea should only contain methods we intend to proxy.
2832         https://bugs.webkit.org/show_bug.cgi?id=27181
2833
2834         Right now, StorageAreaSync takes in a StorageArea* and calls methods
2835         like importItem.  Really, StorageAreaSync should be operating directly
2836         on StorageAreaImpl* and those methods should be removed from StorageArea
2837         since StorageAreaSync should never be attached to anything other than a
2838         StorageAreaImpl.
2839
2840         This was pointed out in the review for
2841         https://bugs.webkit.org/show_bug.cgi?id=27072
2842
2843         Also clean up StorageNamespaceImpl to operate directly on
2844         StorageAreaImpl.  Also, get rid of the factory for StorageArea
2845         since nothing should ever create a StorageArea directly.
2846
2847         * GNUmakefile.am:
2848         * WebCore.vcproj/WebCore.vcproj:
2849         * WebCore.xcodeproj/project.pbxproj:
2850         * WebCoreSources.bkl:
2851         * storage/StorageArea.cpp: Removed.
2852         * storage/StorageArea.h:
2853         (WebCore::StorageArea::~StorageArea):
2854         * storage/StorageAreaImpl.cpp:
2855         (WebCore::StorageAreaImpl::copy):
2856         * storage/StorageAreaImpl.h:
2857         * storage/StorageAreaSync.cpp:
2858         (WebCore::StorageAreaSync::create):
2859         (WebCore::StorageAreaSync::StorageAreaSync):
2860         * storage/StorageAreaSync.h:
2861         * storage/StorageNamespaceImpl.cpp:
2862         (WebCore::StorageNamespaceImpl::copy):
2863         (WebCore::StorageNamespaceImpl::storageArea):
2864         * storage/StorageNamespaceImpl.h:
2865
2866 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
2867
2868         Reviewed by Dimitri Glazkov.
2869
2870         Add v8 implementation for DOM Storage ScriptObjectQuarantine.
2871         https://bugs.webkit.org/show_bug.cgi?id=27327
2872
2873         Wrap the storage object with a generic object as is done elsewhere in
2874         the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
2875         enabled.
2876
2877         * bindings/v8/ScriptObjectQuarantine.cpp:
2878         (WebCore::getQuarantinedScriptObject):
2879
2880 2009-07-17  Mads Ager  <ager@chromium.org>
2881
2882         Reviewed by Dimitri Glazkov.
2883
2884         https://bugs.webkit.org/show_bug.cgi?id=27394
2885         Fix access to global object wrappers after navigation of their
2886         frame in the V8 bindings.  This fixes selenium test failures.
2887
2888         * bindings/v8/V8Proxy.cpp:
2889         (WebCore::V8Proxy::updateDocument):
2890
2891 2009-07-17  Mark Rowe  <mrowe@apple.com>
2892
2893         Fix the 32-bit build by removing implicit float <-> double conversions.
2894
2895         * inspector/InspectorController.cpp:
2896         (WebCore::constrainedAttachedWindowHeight):
2897
2898 2009-07-17  Brian Weinstein  <bweinstein@apple.com>
2899
2900         Reviewed by Adam Roben.
2901
2902         Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
2903         https://bugs.webkit.org/show_bug.cgi?id=14272
2904         
2905         Moved preference setting for attached inspector height and inspector height calculation from
2906         WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
2907         Windows resizing of attached inspector.
2908
2909         * inspector/InspectorController.cpp:
2910         * inspector/InspectorController.h:
2911
2912 2009-07-17  Dan Bernstein  <mitz@apple.com>
2913
2914         Another attempt at fixing the build after r46063
2915
2916         * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
2917             header, because it is now included from htmlediting.h, which is
2918             a private header.
2919
2920 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
2921
2922         Reviewed by Dan Bernstein.
2923
2924         https://bugs.webkit.org/show_bug.cgi?id=27396
2925         Moving cursor in Thai text sometimes jumps over two characters
2926
2927         Test: editing/text-iterator/thai-cursor-movement.html
2928
2929         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
2930         case for five Thai characters, matching ICU/CLDR changes.
2931
2932 2009-07-14  Eric Seidel  <eric@webkit.org>
2933
2934         Reviewed by Adam Barth.
2935
2936         Some constructor objects exposed on Window have the wrong prototype chain
2937         https://bugs.webkit.org/show_bug.cgi?id=27276
2938
2939         Several Constructor classes were already being passed a global object
2940         during construction, but they were ignoring it for prototype lookup.
2941         I've fixed those to use the passed global object instead.
2942
2943         Most of these Constructor classes should just be auto-generated, but I
2944         refrained from changing them over to auto-gen in this patch.
2945
2946         Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
2947         available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
2948         to match existing behavior.
2949
2950         Test: fast/dom/prototype-inheritance.html
2951
2952         * bindings/js/JSAudioConstructor.cpp:
2953         (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
2954         * bindings/js/JSDOMBinding.h:
2955         (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
2956         (WebCore::deprecatedGetDOMStructure):
2957         * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
2958         * bindings/js/JSDOMWindowCustom.cpp:
2959         (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
2960         (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
2961         (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
2962         (WebCore::JSDOMWindow::worker): pass "this" for the global object.
2963         * bindings/js/JSImageConstructor.cpp:
2964         (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
2965         * bindings/js/JSMessageChannelConstructor.cpp:
2966         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
2967         * bindings/js/JSOptionConstructor.cpp:
2968         (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
2969         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
2970         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
2971         * bindings/js/JSWebKitCSSMatrixConstructor.h:
2972         * bindings/js/JSWebKitPointConstructor.cpp:
2973         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
2974         * bindings/js/JSWebKitPointConstructor.h:
2975         * bindings/js/JSWorkerConstructor.cpp:
2976         (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
2977         * bindings/js/JSWorkerConstructor.h:
2978         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2979         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
2980          -- XMLHttpRequest constructor was also missing a length.  Added one.
2981         * bindings/js/JSXSLTProcessorConstructor.cpp:
2982         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
2983         * bindings/js/JSXSLTProcessorConstructor.h:
2984         * bindings/scripts/CodeGeneratorJS.pm:
2985
2986 2009-07-17  Dan Bernstein  <mitz@apple.com>
2987
2988         Build fix
2989
2990         * editing/htmlediting.cpp:
2991         (WebCore::visiblePositionBeforeNode):
2992         (WebCore::visiblePositionAfterNode):
2993
2994 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
2995
2996         Gtk build fix for symbol lookup error.
2997
2998         Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
2999         Changed in http://trac.webkit.org/changeset/46048
3000
3001         * GNUmakefile.am:
3002
3003 2009-07-17  Ryosuke Niwa  <ryosuke.niwa@gmail.com>
3004
3005         Reviewed by Eric Seidel.
3006
3007         htmlediting.cpp needs more utility functions to fix the bug 26816
3008         https://bugs.webkit.org/show_bug.cgi?id=27038
3009
3010         In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
3011
3012         No tests because functions haven't been used anywhere yet.
3013
3014         * dom/Range.cpp:
3015         (WebCore::Range::create):
3016         (WebCore::Range::comparePoint): added const qualifier
3017         (WebCore::Range::compareNode): added const qualifier
3018         * dom/Range.h:
3019         * editing/htmlediting.cpp:
3020         (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
3021         (WebCore::positionBeforeNode): added ASSERT(node)
3022         (WebCore::positionAfterNode): added ASSERT(node)
3023         (WebCore::visiblePositionBeforeNode):
3024         (WebCore::visiblePositionAfterNode):
3025         (WebCore::createRange): create a range object from two visible positions
3026         (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
3027         (WebCore::canMergeLists): typo
3028         (WebCore::indexForVisiblePosition): added const qualifier
3029         (WebCore::isVisiblyAdjacent): typo
3030         (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
3031         * editing/htmlediting.h:
3032
3033 2009-07-17  Michelangelo De Simone  <micdesim@gmail.com>
3034
3035         Reviewed by Darin Adler.
3036
3037         https://bugs.webkit.org/show_bug.cgi?id=25551
3038         Added support for the "required" attribute, the valueMissing flag
3039         to the ValidityState object and :required/:optional CSS pseudoclasses.
3040         Part of HTML5 sec. Forms specs.
3041         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required
3042
3043         Tests: fast/css/pseudo-required-optional-001.html
3044                fast/css/pseudo-required-optional-002.html
3045                fast/css/pseudo-required-optional-003.html
3046                fast/css/pseudo-required-optional-004.html
3047                fast/css/pseudo-required-optional-005.html
3048                fast/css/pseudo-required-optional-006.html
3049                fast/forms/ValidityState-valueMissing-001.html
3050                fast/forms/ValidityState-valueMissing-002.html
3051                fast/forms/ValidityState-valueMissing-003.html
3052                fast/forms/ValidityState-valueMissing-004.html
3053                fast/forms/ValidityState-valueMissing-005.html
3054                fast/forms/ValidityState-valueMissing-006.html
3055                fast/forms/ValidityState-valueMissing-007.html
3056                fast/forms/ValidityState-valueMissing-008.html
3057                fast/forms/ValidityState-valueMissing-009.html
3058                fast/forms/required-attribute-001.html
3059                fast/forms/required-attribute-002.html
3060
3061         * css/CSSSelector.cpp:
3062         (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
3063         * css/CSSSelector.h:
3064         (WebCore::CSSSelector::): ditto
3065         * css/CSSStyleSelector.cpp:
3066         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
3067         * dom/Element.h:
3068         (WebCore::Element::isOptionalFormControl): check for optional controls
3069         (WebCore::Element::isRequiredFormControl): check for required controls
3070         * html/HTMLAttributeNames.in: required attribute
3071         * html/HTMLButtonElement.h:
3072         (WebCore::HTMLButtonElement::isOptionalFormControl): ditto
3073         * html/HTMLFormControlElement.cpp:
3074         (WebCore::HTMLFormControlElement::required): requiredAttr getter
3075         (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
3076         * html/HTMLFormControlElement.h:
3077         (WebCore::HTMLFormControlElement::valueMissing): method definition
3078         * html/HTMLInputElement.cpp:
3079         (WebCore::HTMLInputElement::valueMissing): validation code
3080         (WebCore::HTMLInputElement::isRequiredFormControl): ditto
3081         * html/HTMLInputElement.h:
3082         (WebCore::HTMLInputElement::isOptionalFormControl): ditto
3083         * html/HTMLInputElement.idl: required DOM attribute
3084         * html/HTMLSelectElement.h:
3085         (WebCore::HTMLSelectElement::isOptionalFormControl): ditto
3086         * html/HTMLTextAreaElement.h:
3087         (WebCore::HTMLTextAreaElement::valueMissing): validation code
3088         (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
3089         (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
3090         * html/HTMLTextAreaElement.idl: required DOM attribute
3091         * html/ValidityState.cpp:
3092         * html/ValidityState.h:
3093         (WebCore::ValidityState::valueMissing): validation flag
3094
3095 2009-07-17  Beth Dakin  <bdakin@apple.com>
3096
3097         Reviewed by Darin Adler.
3098
3099         Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom 
3100         cursor hotspots should work in quirks mode
3101         - and corresponding <rdar://problem/6554340>
3102
3103         Enable hotspots in quirks mode.
3104         * css/CSSParser.cpp:
3105         (WebCore::CSSParser::parseValue):
3106
3107         Update this manual test to reflect the fact that hotspots are now 
3108         expected to work in quirks mode.
3109         * manual-tests/css3-cursor-fallback-quirks.html:
3110
3111 2009-07-17  Peter Kasting  <pkasting@google.com>
3112
3113         Reviewed by Steve Falkenburg.
3114
3115         https://bugs.webkit.org/show_bug.cgi?id=27323
3116         Only add Cygwin to the path when it isn't already there.  This avoids
3117         causing problems for people who purposefully have non-Cygwin versions of
3118         executables like svn in front of the Cygwin ones in their paths.
3119
3120         * WebCore.vcproj/QTMovieWin.vcproj:
3121         * WebCore.vcproj/WebCoreCommon.vsprops:
3122         * WebCore.vcproj/WebCoreGenerated.vcproj:
3123
3124 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
3125
3126         Reviewed by David Levin.
3127
3128         https://bugs.webkit.org/show_bug.cgi?id=27384
3129         Random crashes in appcache/update-cache.html test
3130
3131         * loader/appcache/ApplicationCacheGroup.cpp:
3132         (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
3133         after canceling it.
3134
3135 2009-07-17  Drew Wilson  <atwilson@google.com>
3136
3137         Reviewed by David Levin.
3138
3139         Need to refactor Worker to derive from AbstractWorker
3140         https://bugs.webkit.org/show_bug.cgi?id=26948
3141
3142         Changed Worker to derive from AbstractWorker, which involved moving
3143         AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
3144         ENABLE_WORKERS.
3145
3146         Removed obsolete functionality from the JS/V8 bindings that is now
3147         inherited from AbstractWorker.
3148
3149         * WebCore.pro:
3150         Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
3151         * bindings/js/JSAbstractWorkerCustom.cpp:
3152         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
3153         * bindings/js/JSWorkerCustom.cpp:
3154         Removed obsolete event listener code (now in base class)
3155         (WebCore::JSWorker::mark):
3156         No longer need to explicitly mark event listeners (handled by base class).
3157         * bindings/v8/V8Index.h:
3158         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
3159         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
3160         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
3161         * bindings/v8/custom/V8CustomBinding.h:
3162         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
3163         * bindings/v8/custom/V8WorkerCustom.cpp:
3164         Removed obsolete event listener code that now lives in the base class.
3165         (WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
3166         * workers/AbstractWorker.cpp:
3167         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
3168         * workers/AbstractWorker.h:
3169         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
3170         * workers/Worker.cpp:
3171         Removed event listener code (now in base class).
3172         (WebCore::Worker::Worker): Now derives from AbstractWorker.
3173         (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
3174         * workers/Worker.h:
3175         Removed APIs that now live in the base class.
3176         * workers/Worker.idl:
3177         Now derives from AbstractWorker.
3178         Removed APIs that live in the base class, and added a GenerateToJS flag.
3179
3180 2009-07-17  David Hyatt  <hyatt@apple.com>
3181
3182         Reviewed by Dan Bernstein.
3183
3184         https://bugs.webkit.org/show_bug.cgi?id=27379
3185         Absolutely-positioned elements with a scrollbar wrap prematurely.  Make sure to include
3186         the vertical scrollbar width for overflow:scroll elements.
3187
3188         Added fast/css/positioned-overflow-scroll.html
3189
3190         * rendering/RenderBlock.cpp:
3191         (WebCore::RenderBlock::calcPrefWidths):
3192         * rendering/RenderFlexibleBox.cpp:
3193         (WebCore::RenderFlexibleBox::calcPrefWidths):
3194
3195 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
3196
3197         Reviewed by Dimitri Glazkov.
3198
3199         Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
3200         https://bugs.webkit.org/show_bug.cgi?id=27375
3201
3202         In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
3203         and StorageEvent.cpp.  Unfortunately, until later this afternoon,
3204         DOM_STORAGE is not turned on by default in Chromium, and so these two
3205         files are never generated.  This breaks the compile.
3206
3207         There are no other instances of guards in the file, which puzzles me...
3208         but I think adding guards is the right way to go about this.
3209
3210         * bindings/v8/DerivedSourcesAllInOne.cpp:  Added the guard.
3211
3212 2009-07-17  Brady Eidson  <beidson@apple.com>
3213
3214         Reviewed by Darin Adler.
3215
3216         https://bugs.webkit.org/show_bug.cgi?id=26496
3217
3218         Let WebCore always enforce the connection-per-host limit itself.
3219
3220         * loader/loader.cpp:
3221         (WebCore::Loader::Host::servePendingRequests):
3222
3223 2009-07-17  Chris Marrin  <cmarrin@apple.com>
3224
3225         Reviewed by David Hyatt.
3226
3227         Some transitions don't work correctly on Leopard
3228         https://bugs.webkit.org/show_bug.cgi?id=27356
3229
3230         We only have code to do component animation using valueFunction.
3231         So on Leopard we always need to do matrix animation in hardware.
3232         This fix ensures that. 
3233
3234         This is currently not testable because it appears only in the
3235         hardware animation and we can't yet do pixel tests while 
3236         hardware animating.
3237
3238         * platform/graphics/mac/GraphicsLayerCA.mm:
3239         (WebCore::GraphicsLayerCA::animateTransform):
3240
3241 2009-07-17  Holger Hans Peter Freyther  <zecke@selfish.org>
3242
3243         Reviewed by Gustavo Noronha.
3244
3245         [GTK+] Crash in screenAvailable due a null Widget*
3246
3247         JSDOMWindow::open called screenAvailableRect(0). The other
3248         Screen methods can be called with a null widget as well, fix the
3249         crashing test by checking for null.
3250
3251         In screenRect and screenAvailableRect it is not tried to use
3252         a default screen as the existing implementation didn't try either
3253         in case of not having a toplevel widget.
3254
3255         LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.
3256
3257         * platform/gtk/PlatformScreenGtk.cpp:
3258         (WebCore::getVisual): New method to get a visual or return zero.
3259         (WebCore::screenDepth): Use getVisual.
3260         (WebCore::screenDepthPerComponent): Use getVisual.
3261         (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
3262         (WebCore::screenRect): Check for !widget.
3263         (WebCore::screenAvailableRect): Check for !widget.
3264
3265 2009-07-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3266
3267         Reviewed by Simon Hausmann.
3268
3269         [Qt] Fix the include path for the Symbian port
3270         https://bugs.webkit.org/show_bug.cgi?id=27358
3271
3272         * WebCore.pro:
3273
3274 2009-07-17  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
3275
3276         Reviewed by Simon Hausmann.
3277
3278         Make it possible to set the plugin directories from the DRT.
3279         Part of https://bugs.webkit.org/show_bug.cgi?id=27215
3280
3281         * plugins/PluginDatabase.cpp:
3282         (WebCore::PluginDatabase::installedPlugins): Now optionally takes
3283         a populate argument, so we can avoid loading system plugins from the
3284         DRT and thus avoid their strerr errors that can make tests fail.
3285         (WebCore::PluginDatabase::clear): Make it possible to clear the
3286         database. Called from setPluginDirectories.
3287         * plugins/PluginDatabase.h:
3288         (WebCore::PluginDatabase::setPluginDirectories): Make public
3289
3290 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3291
3292         Reviewed by Simon Hausmann.
3293
3294         PluginViewMac: Stop the plugin when loading fails
3295
3296         Also, prevent event propagation when in the stopped state
3297
3298         * plugins/mac/PluginViewMac.cpp:
3299
3300 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3301
3302         Reviewed by Simon Hausmann.
3303
3304         PluginViewMac: Allow query and set of drawing and event models
3305
3306         We now support querying and setting of the drawing and event model,
3307         but we still only support the CoreGraphics drawing model, and the
3308         Carbon event model.
3309
3310         If unsupported drawing or event models are detected we show the
3311         missing-plugin icon.
3312
3313         * plugins/PluginView.cpp:
3314         * plugins/PluginView.h:
3315         * plugins/mac/PluginViewMac.cpp:
3316
3317 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3318
3319         Reviewed by Simon Hausmann.
3320
3321         Initialize two PluginView members using memset
3322
3323         m_npWindow is used on all platforms, not just for XP_UNIX,
3324         so always initialize it. m_npCgContext on the other hand
3325         is only used for XP_MACOSX.
3326
3327         * plugins/PluginView.cpp:
3328
3329 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3330
3331         Reviewed by Simon Hausmann.
3332
3333         Add more debug logging in PluginView
3334
3335         * plugins/PluginView.cpp: Add debug for setValue
3336         * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
3337         * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
3338         * plugins/qt/PluginViewQt.cpp: Add debug for getValue
3339         * plugins/win/PluginViewWin.cpp: Add debug for getValue
3340
3341 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3342
3343         Reviewed by Holger Freyther.
3344
3345         Use same license in PluginDebug.cpp as in the original PluginDebug.h
3346
3347         * plugins/PluginDebug.cpp: Use license from PluginDebug.h
3348
3349 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3350
3351         Reviewed by Simon Hausmann.
3352
3353         Add more debugging functionality for the WebCore NPAPI layer
3354
3355         * GNUmakefile.am: Add PluginDebug.cpp
3356         * WebCore.gypi: Add PluginDebug.cpp
3357         * WebCore.pro: Add PluginDebug.cpp
3358         * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
3359         * WebCoreSources.bkl: Add PluginDebug.cpp
3360         * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
3361         * plugins/PluginDebug.cpp: New file
3362
3363 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
3364
3365         Reviewed by David Levin.
3366
3367         Fix Chromium build with DOM_STORAGE enabled.
3368         https://bugs.webkit.org/show_bug.cgi?id=27360
3369
3370         2 minor changes as noted below:
3371
3372         * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
3373         * storage/StorageAreaImpl.cpp:  #include "DOMWindow.h"
3374
3375 2009-07-16  Fumitoshi Ukai  <ukai@chromium.org>
3376
3377         Reviewed by David Levin.
3378
3379         Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
3380         https://bugs.webkit.org/show_bug.cgi?id=27206
3381         
3382         Add ENABLE_WEB_SOCKETS
3383
3384         * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
3385         * GNUmakefile.am: add ENABLE_WEB_SOCKETS
3386         * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
3387         * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS
3388
3389 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
3390
3391         Reviewed by Oliver Hunt.
3392
3393         Added a third bunch of Haiku-specific files for WebCore.
3394         https://bugs.webkit.org/show_bug.cgi?id=26952
3395
3396         Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
3397         FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp
3398
3399         * platform/haiku/EventLoopHaiku.cpp: Added.
3400         (WebCore::EventLoop::cycle):
3401         * platform/haiku/FileChooserHaiku.cpp: Added.
3402         (WebCore::FileChooser::FileChooser):
3403         (WebCore::FileChooser::basenameForWidth):
3404         * platform/haiku/FileSystemHaiku.cpp: Added.
3405         (WebCore::fileSystemRepresentation):
3406         (WebCore::homeDirectoryPath):
3407         (WebCore::openTemporaryFile):
3408         (WebCore::closeFile):
3409         (WebCore::writeToFile):
3410         (WebCore::unloadModule):
3411         (WebCore::listDirectory):
3412         * platform/haiku/KeyboardCodes.h: Added.
3413         * platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
3414         (WebCore::):
3415         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3416
3417 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
3418
3419         Reviewed by Oliver Hunt.
3420
3421         Added a second bunch of Haiku-specific files for WebCore.
3422         https://bugs.webkit.org/show_bug.cgi?id=26952
3423
3424         Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
3425         DragDataHaiku.cpp and DragImageHaiku.cpp
3426
3427         * platform/haiku/ContextMenuHaiku.cpp: Added.
3428         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
3429         (WebCore::ContextMenuReceiver::HandleMessage):
3430         (WebCore::ContextMenuReceiver::Result):
3431         (WebCore::ContextMenu::ContextMenu):
3432         (WebCore::ContextMenu::~ContextMenu):
3433         (WebCore::ContextMenu::appendItem):
3434         (WebCore::ContextMenu::itemCount):
3435         (WebCore::ContextMenu::insertItem):
3436         (WebCore::ContextMenu::platformDescription):
3437         (WebCore::ContextMenu::setPlatformDescription):
3438         * platform/haiku/ContextMenuItemHaiku.cpp: Added.
3439         (ContextMenuItem::ContextMenuItem):
3440         (ContextMenuItem::~ContextMenuItem):
3441         (ContextMenuItem::releasePlatformDescription):
3442         (ContextMenuItem::type):
3443         (ContextMenuItem::setType):
3444         (ContextMenuItem::action):
3445         (ContextMenuItem::setAction):
3446         (ContextMenuItem::title):
3447         (ContextMenuItem::setTitle):
3448         (ContextMenuItem::platformSubMenu):
3449         (ContextMenuItem::setSubMenu):
3450         (ContextMenuItem::setChecked):
3451         (ContextMenuItem::setEnabled):
3452         (ContextMenuItem::enabled):
3453         * platform/haiku/DragDataHaiku.cpp: Added.
3454         (WebCore::DragData::canSmartReplace):
3455         (WebCore::DragData::containsColor):
3456         (WebCore::DragData::containsFiles):
3457         (WebCore::DragData::asFilenames):
3458         (WebCore::DragData::containsPlainText):
3459         (WebCore::DragData::asPlainText):
3460         (WebCore::DragData::asColor):
3461         (WebCore::DragData::createClipboard):
3462         (WebCore::DragData::containsCompatibleContent):
3463         (WebCore::DragData::containsURL):
3464         (WebCore::DragData::asURL):
3465         (WebCore::DragData::asFragment):
3466         * platform/haiku/DragImageHaiku.cpp: Added.
3467         (WebCore::dragImageSize):
3468         (WebCore::deleteDragImage):
3469         (WebCore::scaleDragImage):
3470         (WebCore::dissolveDragImageToFraction):
3471         (WebCore::createDragImageFromImage):
3472         (WebCore::createDragImageIconForCachedImage):
3473
3474 2009-07-16  Stephen White  <senorblanco@chromium.org>
3475
3476         Reviewed by Darin Fisher and Brett Wilson.
3477
3478         Refactor Skia implementation of gradients and patterns.
3479
3480         http://bugs.webkit.org/show_bug.cgi?id=26618
3481
3482         The following layout tests were breaking on Chromium/Linux:
3483
3484         LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
3485         LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
3486         LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
3487         LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg
3488
3489         I could've fixed these the easy way, by copying the same 5
3490         lines of code we use everywhere we need patterns or gradients, but
3491         I decided to fix it the hard way:  by refactoring the code so that
3492         PlatformContextSkia::setupPaintForFilling() and
3493         PlatformContextSkia::setupPaintForStroking() do the right thing,
3494         and also handle gradients and patterns.
3495         
3496         This required pushing the gradients and patterns set in 
3497         (generic) GraphicsContext::setFillPattern() and friends down into
3498         PlatformContextSkia.  For this, I followed the setPlatformXXX()
3499         pattern used elsewhere in GraphicsContext, and stubbed them out on
3500         the other platforms with #if !PLATFORM(SKIA).  This also required
3501         pushing changes to the gradientSpaceTransform from the Gradient into 
3502         GradientSkia.
3503
3504         Since it's a Skia context, I decided to cache the values as
3505         SkShaders.  There were existing m_pattern and m_gradient SkShaders,
3506         but they were unused, and whose use was ambiguous, so I
3507         replaced them with one SkShader each for filling and stroking.
3508
3509         * platform/graphics/Gradient.cpp:
3510         (WebCore::Gradient::setGradientSpaceTransform):
3511         (WebCore::Gradient::setPlatformGradientSpaceTransform):
3512         * platform/graphics/Gradient.h:
3513         * platform/graphics/GraphicsContext.cpp:
3514         (WebCore::GraphicsContext::setStrokePattern):
3515         (WebCore::GraphicsContext::setFillPattern):
3516         (WebCore::GraphicsContext::setStrokeGradient):
3517         (WebCore::GraphicsContext::setFillGradient):
3518         (WebCore::GraphicsContext::setPlatformFillGradient):
3519         (WebCore::GraphicsContext::setPlatformFillPattern):
3520         (WebCore::GraphicsContext::setPlatformStrokeGradient):
3521         (WebCore::GraphicsContext::setPlatformStrokePattern):
3522         * platform/graphics/GraphicsContext.h:
3523         * platform/graphics/skia/GradientSkia.cpp:
3524         (WebCore::Gradient::setPlatformGradientSpaceTransform):
3525         * platform/graphics/skia/GraphicsContextSkia.cpp:
3526         (WebCore::GraphicsContext::fillPath):
3527         (WebCore::GraphicsContext::fillRect):
3528         (WebCore::GraphicsContext::setPlatformFillGradient):
3529         (WebCore::GraphicsContext::setPlatformFillPattern):
3530         (WebCore::GraphicsContext::setPlatformStrokeGradient):
3531         (WebCore::GraphicsContext::setPlatformStrokePattern):
3532         (WebCore::GraphicsContext::strokePath):
3533         (WebCore::GraphicsContext::strokeRect):
3534         * platform/graphics/skia/PlatformContextSkia.cpp:
3535         (PlatformContextSkia::State::State):
3536         (PlatformContextSkia::State::~State):
3537         (PlatformContextSkia::drawRect):
3538         (PlatformContextSkia::setupPaintCommon):
3539         (PlatformContextSkia::setupPaintForFilling):
3540         (PlatformContextSkia::setupPaintForStroking):
3541         (PlatformContextSkia::setFillColor):
3542         (PlatformContextSkia::setStrokeColor):
3543         (PlatformContextSkia::setStrokeShader):
3544         (PlatformContextSkia::setFillShader):
3545         * platform/graphics/skia/PlatformContextSkia.h:
3546         * platform/graphics/skia/SkiaFontWin.cpp:
3547         (WebCore::skiaDrawText):
3548         (WebCore::paintSkiaText):
3549         * svg/graphics/SVGPaintServer.cpp:
3550         (WebCore::SVGPaintServer::teardown):
3551
3552 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
3553
3554         Reviewed by Oliver Hunt.
3555
3556         Added Haiku-specific files for WebCore/platform/image-decoders/.
3557         https://bugs.webkit.org/show_bug.cgi?id=26949
3558
3559         Adding a new file, ImageDecoderHaiku.cpp.
3560
3561         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
3562         (WebCore::RGBA32Buffer::RGBA32Buffer):
3563         (WebCore::RGBA32Buffer::clear):
3564         (WebCore::RGBA32Buffer::zeroFill):
3565         (WebCore::RGBA32Buffer::copyBitmapData):
3566         (WebCore::RGBA32Buffer::setSize):
3567         (WebCore::RGBA32Buffer::asNewNativeImage):
3568         (WebCore::RGBA32Buffer::hasAlpha):
3569         (WebCore::RGBA32Buffer::setHasAlpha):
3570         (WebCore::RGBA32Buffer::setStatus):
3571         (WebCore::RGBA32Buffer::operator=):
3572         (WebCore::RGBA32Buffer::width):
3573         (WebCore::RGBA32Buffer::height):
3574
3575 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
3576
3577         Reviewed by Eric Seidel.
3578
3579         Added Haiku-specific files for WebCore/page/.
3580         https://bugs.webkit.org/show_bug.cgi?id=26949
3581
3582         Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
3583         and FrameHaiku.cpp
3584
3585         * page/haiku/DragControllerHaiku.cpp: Added.
3586         (WebCore::DragCon