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