2009-05-01 Sam Weinig <sam@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-05-01  Sam Weinig  <sam@webkit.org>
2
3         Reviewed by Oliver Hunt.
4
5         Cleanup workers code a bit.
6
7         * bindings/js/JSWorkerContextBase.cpp:
8         (WebCore::toJS):
9         * bindings/js/JSWorkerContextBase.h:
10         * bindings/js/JSWorkerContextCustom.cpp:
11         (WebCore::JSWorkerContext::customGetOwnPropertySlot):
12         * workers/WorkerContext.h:
13         (WebCore::WorkerContext::toWorkerContext):
14         (WebCore::WorkerContext::self):
15         (WebCore::WorkerContext::setOnmessage):
16         (WebCore::WorkerContext::onmessage):
17         * workers/WorkerContext.idl:
18
19 2009-05-01  Sam Weinig  <sam@webkit.org>
20
21         Reviewed by Darin Adler.
22
23         A little clean up.
24
25         * loader/FrameLoader.cpp:
26         (WebCore::FrameLoader::createJavaAppletWidget):
27
28 2009-05-01  Sam Weinig  <sam@webkit.org>
29
30         Fix the build.
31
32         * bindings/js/ScriptValue.cpp:
33         (WebCore::ScriptValue::isEqual):
34         * inspector/JavaScriptProfile.cpp:
35         (WebCore::getHeadCallback):
36         * inspector/JavaScriptProfileNode.cpp:
37         (WebCore::getChildren):
38         (WebCore::getParent):
39         (WebCore::getHead):
40
41 2009-05-01  Brady Eidson  <beidson@apple.com>
42
43         Reviewed by Oliver Hunt and Sam "Jon 'The Belly' Honeycutt" Weinig
44
45         Fix <rdar://problem/6848867> Addition of DOCTYPE node breaks Tiger Mail
46
47         * bindings/objc/DOMHTML.mm:
48         (-[DOMHTMLDocument firstChild]): Add a Tiger Mail version of this method that skips DOCTYPE nodes.
49
50 2009-05-01  Geoffrey Garen  <ggaren@apple.com>
51
52         Rubber Stamped by Sam Weinig.
53         
54         Renamed JSValuePtr => JSValue.
55
56         * bindings/js/JSAttrCustom.cpp:
57         (WebCore::JSAttr::setValue):
58         * bindings/js/JSCDATASectionCustom.cpp:
59         (WebCore::toJSNewlyCreated):
60         * bindings/js/JSCSSRuleCustom.cpp:
61         (WebCore::toJS):
62         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
63         (WebCore::JSCSSStyleDeclaration::nameGetter):
64         (WebCore::JSCSSStyleDeclaration::customPut):
65         * bindings/js/JSCSSValueCustom.cpp:
66         (WebCore::toJS):
67         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
68         (WebCore::toJS):
69         (WebCore::toHTMLCanvasStyle):
70         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
71         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
72         (WebCore::JSCanvasRenderingContext2D::fillStyle):
73         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
74         (WebCore::JSCanvasRenderingContext2D::setFillColor):
75         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
76         (WebCore::JSCanvasRenderingContext2D::strokeRect):
77         (WebCore::JSCanvasRenderingContext2D::drawImage):
78         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
79         (WebCore::JSCanvasRenderingContext2D::setShadow):
80         (WebCore::JSCanvasRenderingContext2D::createPattern):
81         (WebCore::JSCanvasRenderingContext2D::putImageData):
82         (WebCore::JSCanvasRenderingContext2D::fillText):
83         (WebCore::JSCanvasRenderingContext2D::strokeText):
84         * bindings/js/JSClipboardCustom.cpp:
85         (WebCore::JSClipboard::types):
86         (WebCore::JSClipboard::clearData):
87         (WebCore::JSClipboard::getData):
88         (WebCore::JSClipboard::setData):
89         (WebCore::JSClipboard::setDragImage):
90         * bindings/js/JSConsoleCustom.cpp:
91         (WebCore::JSConsole::profiles):
92         * bindings/js/JSCoordinatesCustom.cpp:
93         (WebCore::JSCoordinates::altitude):
94         (WebCore::JSCoordinates::altitudeAccuracy):
95         (WebCore::JSCoordinates::heading):
96         (WebCore::JSCoordinates::speed):
97         * bindings/js/JSCustomPositionCallback.cpp:
98         (WebCore::JSCustomPositionCallback::handleEvent):
99         * bindings/js/JSCustomPositionErrorCallback.cpp:
100         (WebCore::JSCustomPositionErrorCallback::handleEvent):
101         * bindings/js/JSCustomSQLStatementCallback.cpp:
102         (WebCore::JSCustomSQLStatementCallback::handleEvent):
103         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
104         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
105         * bindings/js/JSCustomSQLTransactionCallback.cpp:
106         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
107         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
108         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
109         * bindings/js/JSCustomVoidCallback.cpp:
110         (WebCore::JSCustomVoidCallback::handleEvent):
111         (WebCore::toVoidCallback):
112         * bindings/js/JSCustomVoidCallback.h:
113         * bindings/js/JSCustomXPathNSResolver.cpp:
114         (WebCore::JSCustomXPathNSResolver::create):
115         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
116         * bindings/js/JSCustomXPathNSResolver.h:
117         * bindings/js/JSDOMApplicationCacheCustom.cpp:
118         (WebCore::JSDOMApplicationCache::hasItem):
119         (WebCore::JSDOMApplicationCache::add):
120         (WebCore::JSDOMApplicationCache::remove):
121         (WebCore::JSDOMApplicationCache::addEventListener):
122         (WebCore::JSDOMApplicationCache::removeEventListener):
123         * bindings/js/JSDOMBinding.cpp:
124         (WebCore::jsStringOrNull):
125         (WebCore::jsOwnedStringOrNull):
126         (WebCore::jsStringOrUndefined):
127         (WebCore::jsStringOrFalse):
128         (WebCore::valueToStringWithNullCheck):
129         (WebCore::valueToStringWithUndefinedOrNullCheck):
130         (WebCore::reportException):
131         (WebCore::reportCurrentException):
132         (WebCore::setDOMException):
133         (WebCore::objectToStringFunctionGetter):
134         * bindings/js/JSDOMBinding.h:
135         (WebCore::getDOMObjectWrapper):
136         (WebCore::getDOMNodeWrapper):
137         (WebCore::toJS):
138         * bindings/js/JSDOMGlobalObject.cpp:
139         (WebCore::JSDOMGlobalObject::findJSEventListener):
140         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
141         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
142         * bindings/js/JSDOMGlobalObject.h:
143         * bindings/js/JSDOMStringListCustom.cpp:
144         (WebCore::JSDOMStringList::getByIndex):
145         (WebCore::JSDOMStringList::item):
146         * bindings/js/JSDOMWindowBase.cpp:
147         (WebCore::JSDOMWindowBase::childFrameGetter):
148         (WebCore::JSDOMWindowBase::indexGetter):
149         (WebCore::JSDOMWindowBase::namedItemGetter):
150         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
151         (WebCore::JSDOMWindowBase::put):
152         (WebCore::JSDOMWindowBase::setReturnValueSlot):
153         (WebCore::toJS):
154         (WebCore::toJSDOMWindow):
155         * bindings/js/JSDOMWindowBase.h:
156         * bindings/js/JSDOMWindowCustom.cpp:
157         (WebCore::JSDOMWindow::lookupGetter):
158         (WebCore::JSDOMWindow::lookupSetter):
159         (WebCore::JSDOMWindow::history):
160         (WebCore::JSDOMWindow::location):
161         (WebCore::JSDOMWindow::setLocation):
162         (WebCore::JSDOMWindow::crypto):
163         (WebCore::JSDOMWindow::event):
164         (WebCore::JSDOMWindow::image):
165         (WebCore::JSDOMWindow::option):
166         (WebCore::JSDOMWindow::audio):
167         (WebCore::JSDOMWindow::webKitPoint):
168         (WebCore::JSDOMWindow::webKitCSSMatrix):
169         (WebCore::JSDOMWindow::xmlHttpRequest):
170         (WebCore::JSDOMWindow::xsltProcessor):
171         (WebCore::JSDOMWindow::messageChannel):
172         (WebCore::JSDOMWindow::worker):
173         (WebCore::createWindow):
174         (WebCore::JSDOMWindow::open):
175         (WebCore::JSDOMWindow::showModalDialog):
176         (WebCore::JSDOMWindow::postMessage):
177         (WebCore::JSDOMWindow::setTimeout):
178         (WebCore::JSDOMWindow::setInterval):
179         (WebCore::JSDOMWindow::atob):
180         (WebCore::JSDOMWindow::btoa):
181         (WebCore::JSDOMWindow::addEventListener):
182         (WebCore::JSDOMWindow::removeEventListener):
183         (WebCore::toDOMWindow):
184         * bindings/js/JSDOMWindowCustom.h:
185         (WebCore::nonCachingStaticFunctionGetter):
186         (WebCore::JSDOMWindow::customPut):
187         * bindings/js/JSDOMWindowShell.cpp:
188         (WebCore::JSDOMWindowShell::put):
189         (WebCore::JSDOMWindowShell::putWithAttributes):
190         (WebCore::JSDOMWindowShell::lookupGetter):
191         (WebCore::JSDOMWindowShell::lookupSetter):
192         (WebCore::toJS):
193         * bindings/js/JSDOMWindowShell.h:
194         (WebCore::JSDOMWindowShell::createStructure):
195         * bindings/js/JSDatabaseCustom.cpp:
196         (WebCore::JSDatabase::changeVersion):
197         (WebCore::JSDatabase::transaction):
198         * bindings/js/JSDocumentCustom.cpp:
199         (WebCore::JSDocument::location):
200         (WebCore::JSDocument::setLocation):
201         (WebCore::toJS):
202         * bindings/js/JSElementCustom.cpp:
203         (WebCore::JSElement::setAttribute):
204         (WebCore::JSElement::setAttributeNode):
205         (WebCore::JSElement::setAttributeNS):
206         (WebCore::JSElement::setAttributeNodeNS):
207         (WebCore::toJSNewlyCreated):
208         * bindings/js/JSEventCustom.cpp:
209         (WebCore::JSEvent::clipboardData):
210         (WebCore::toJS):
211         * bindings/js/JSEventListener.cpp:
212         (WebCore::JSEventListener::handleEvent):
213         * bindings/js/JSEventTarget.cpp:
214         (WebCore::toJS):
215         (WebCore::toEventTarget):
216         * bindings/js/JSEventTarget.h:
217         * bindings/js/JSEventTargetBase.h:
218         * bindings/js/JSGeolocationCustom.cpp:
219         (WebCore::createPositionOptions):
220         (WebCore::JSGeolocation::getCurrentPosition):
221         (WebCore::JSGeolocation::watchPosition):
222         * bindings/js/JSHTMLAllCollection.h:
223         (WebCore::JSHTMLAllCollection::createStructure):
224         * bindings/js/JSHTMLAppletElementCustom.cpp:
225         (WebCore::JSHTMLAppletElement::customPut):
226         (WebCore::JSHTMLAppletElement::nameGetter):
227         * bindings/js/JSHTMLCollectionCustom.cpp:
228         (WebCore::getNamedItems):
229         (WebCore::callHTMLCollection):
230         (WebCore::JSHTMLCollection::nameGetter):
231         (WebCore::JSHTMLCollection::item):
232         (WebCore::JSHTMLCollection::namedItem):
233         (WebCore::toJS):
234         * bindings/js/JSHTMLDocumentCustom.cpp:
235         (WebCore::JSHTMLDocument::nameGetter):
236         (WebCore::JSHTMLDocument::all):
237         (WebCore::JSHTMLDocument::setAll):
238         (WebCore::JSHTMLDocument::open):
239         (WebCore::JSHTMLDocument::write):
240         (WebCore::JSHTMLDocument::writeln):
241         * bindings/js/JSHTMLEmbedElementCustom.cpp:
242         (WebCore::JSHTMLEmbedElement::customPut):
243         (WebCore::JSHTMLEmbedElement::nameGetter):
244         * bindings/js/JSHTMLFormElementCustom.cpp:
245         (WebCore::JSHTMLFormElement::nameGetter):
246         (WebCore::JSHTMLFormElement::submit):
247         * bindings/js/JSHTMLFrameElementCustom.cpp:
248         (WebCore::JSHTMLFrameElement::setSrc):
249         (WebCore::JSHTMLFrameElement::setLocation):
250         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
251         (WebCore::JSHTMLFrameSetElement::nameGetter):
252         * bindings/js/JSHTMLIFrameElementCustom.cpp:
253         (WebCore::JSHTMLIFrameElement::setSrc):
254         * bindings/js/JSHTMLInputElementCustom.cpp:
255         (WebCore::JSHTMLInputElement::selectionStart):
256         (WebCore::JSHTMLInputElement::setSelectionStart):
257         (WebCore::JSHTMLInputElement::selectionEnd):
258         (WebCore::JSHTMLInputElement::setSelectionEnd):
259         (WebCore::JSHTMLInputElement::setSelectionRange):
260         * bindings/js/JSHTMLObjectElementCustom.cpp:
261         (WebCore::JSHTMLObjectElement::customPut):
262         (WebCore::JSHTMLObjectElement::nameGetter):
263         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
264         (WebCore::JSHTMLOptionsCollection::length):
265         (WebCore::JSHTMLOptionsCollection::setLength):
266         (WebCore::JSHTMLOptionsCollection::indexSetter):
267         (WebCore::JSHTMLOptionsCollection::add):
268         (WebCore::JSHTMLOptionsCollection::remove):
269         * bindings/js/JSHTMLSelectElementCustom.cpp:
270         (WebCore::JSHTMLSelectElement::remove):
271         (WebCore::selectIndexSetter):
272         (WebCore::JSHTMLSelectElement::indexSetter):
273         * bindings/js/JSHTMLSelectElementCustom.h:
274         * bindings/js/JSHistoryCustom.cpp:
275         (WebCore::nonCachingStaticBackFunctionGetter):
276         (WebCore::nonCachingStaticForwardFunctionGetter):
277         (WebCore::nonCachingStaticGoFunctionGetter):
278         (WebCore::JSHistory::customPut):
279         * bindings/js/JSImageDataCustom.cpp:
280         (WebCore::toJS):
281         * bindings/js/JSInspectedObjectWrapper.cpp:
282         (WebCore::JSInspectedObjectWrapper::wrap):
283         (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
284         * bindings/js/JSInspectedObjectWrapper.h:
285         (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
286         * bindings/js/JSInspectorCallbackWrapper.cpp:
287         (WebCore::JSInspectorCallbackWrapper::wrap):
288         (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
289         * bindings/js/JSInspectorCallbackWrapper.h:
290         (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
291         * bindings/js/JSInspectorControllerCustom.cpp:
292         (WebCore::JSInspectorController::highlightDOMNode):
293         (WebCore::JSInspectorController::addResourceSourceToFrame):
294         (WebCore::JSInspectorController::addSourceToFrame):
295         (WebCore::JSInspectorController::getResourceDocumentNode):
296         (WebCore::JSInspectorController::search):
297         (WebCore::JSInspectorController::databaseTableNames):
298         (WebCore::JSInspectorController::inspectedWindow):
299         (WebCore::JSInspectorController::setting):
300         (WebCore::JSInspectorController::setSetting):
301         (WebCore::JSInspectorController::wrapCallback):
302         (WebCore::JSInspectorController::currentCallFrame):
303         (WebCore::JSInspectorController::profiles):
304         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
305         (WebCore::JSJavaScriptCallFrame::evaluate):
306         (WebCore::JSJavaScriptCallFrame::thisObject):
307         (WebCore::JSJavaScriptCallFrame::type):
308         (WebCore::JSJavaScriptCallFrame::scopeChain):
309         * bindings/js/JSLazyEventListener.cpp:
310         (WebCore::JSLazyEventListener::parseCode):
311         * bindings/js/JSLocationCustom.cpp:
312         (WebCore::nonCachingStaticReplaceFunctionGetter):
313         (WebCore::nonCachingStaticReloadFunctionGetter):
314         (WebCore::nonCachingStaticAssignFunctionGetter):
315         (WebCore::JSLocation::customPut):
316         (WebCore::JSLocation::setHref):
317         (WebCore::JSLocation::setProtocol):
318         (WebCore::JSLocation::setHost):
319         (WebCore::JSLocation::setHostname):
320         (WebCore::JSLocation::setPort):
321         (WebCore::JSLocation::setPathname):
322         (WebCore::JSLocation::setSearch):
323         (WebCore::JSLocation::setHash):
324         (WebCore::JSLocation::replace):
325         (WebCore::JSLocation::reload):
326         (WebCore::JSLocation::assign):
327         (WebCore::JSLocation::toString):
328         (WebCore::JSLocationPrototype::customPut):
329         * bindings/js/JSMessagePortCustom.cpp:
330         (WebCore::JSMessagePort::startConversation):
331         (WebCore::JSMessagePort::addEventListener):
332         (WebCore::JSMessagePort::removeEventListener):
333         * bindings/js/JSMimeTypeArrayCustom.cpp:
334         (WebCore::JSMimeTypeArray::nameGetter):
335         * bindings/js/JSNamedNodeMapCustom.cpp:
336         (WebCore::JSNamedNodeMap::nameGetter):
337         * bindings/js/JSNamedNodesCollection.cpp:
338         (WebCore::JSNamedNodesCollection::lengthGetter):
339         (WebCore::JSNamedNodesCollection::indexGetter):
340         * bindings/js/JSNamedNodesCollection.h:
341         (WebCore::JSNamedNodesCollection::createStructure):
342         * bindings/js/JSNavigatorCustom.cpp:
343         (WebCore::needsYouTubeQuirk):
344         (WebCore::JSNavigator::appVersion):
345         * bindings/js/JSNodeCustom.cpp:
346         (WebCore::JSNode::insertBefore):
347         (WebCore::JSNode::replaceChild):
348         (WebCore::JSNode::removeChild):
349         (WebCore::JSNode::appendChild):
350         (WebCore::JSNode::addEventListener):
351         (WebCore::JSNode::removeEventListener):
352         (WebCore::createWrapper):
353         (WebCore::toJSNewlyCreated):
354         (WebCore::toJS):
355         * bindings/js/JSNodeFilterCondition.cpp:
356         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
357         (WebCore::JSNodeFilterCondition::acceptNode):
358         * bindings/js/JSNodeFilterCondition.h:
359         (WebCore::JSNodeFilterCondition::create):
360         * bindings/js/JSNodeFilterCustom.cpp:
361         (WebCore::JSNodeFilter::acceptNode):
362         (WebCore::toNodeFilter):
363         * bindings/js/JSNodeIteratorCustom.cpp:
364         (WebCore::JSNodeIterator::nextNode):
365         (WebCore::JSNodeIterator::previousNode):
366         * bindings/js/JSNodeListCustom.cpp:
367         (WebCore::callNodeList):
368         (WebCore::JSNodeList::nameGetter):
369         * bindings/js/JSPluginArrayCustom.cpp:
370         (WebCore::JSPluginArray::nameGetter):
371         * bindings/js/JSPluginCustom.cpp:
372         (WebCore::JSPlugin::nameGetter):
373         * bindings/js/JSPluginElementFunctions.cpp:
374         (WebCore::runtimeObjectGetter):
375         (WebCore::runtimeObjectPropertyGetter):
376         (WebCore::runtimeObjectCustomPut):
377         (WebCore::callPlugin):
378         * bindings/js/JSPluginElementFunctions.h:
379         * bindings/js/JSQuarantinedObjectWrapper.cpp:
380         (WebCore::JSQuarantinedObjectWrapper::asWrapper):
381         (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
382         (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
383         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
384         (WebCore::JSQuarantinedObjectWrapper::put):
385         (WebCore::JSQuarantinedObjectWrapper::construct):
386         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
387         (WebCore::JSQuarantinedObjectWrapper::call):
388         * bindings/js/JSQuarantinedObjectWrapper.h:
389         (WebCore::JSQuarantinedObjectWrapper::createStructure):
390         * bindings/js/JSRGBColor.cpp:
391         (WebCore::getJSRGBColor):
392         (jsRGBColorRed):
393         (jsRGBColorGreen):
394         (jsRGBColorBlue):
395         * bindings/js/JSRGBColor.h:
396         (WebCore::JSRGBColor::createStructure):
397         * bindings/js/JSSQLResultSetRowListCustom.cpp:
398         (WebCore::JSSQLResultSetRowList::item):
399         * bindings/js/JSSQLTransactionCustom.cpp:
400         (WebCore::JSSQLTransaction::executeSql):
401         * bindings/js/JSSVGElementInstanceCustom.cpp:
402         (WebCore::JSSVGElementInstance::addEventListener):
403         (WebCore::JSSVGElementInstance::removeEventListener):
404         (WebCore::toJS):
405         * bindings/js/JSSVGLengthCustom.cpp:
406         (WebCore::JSSVGLength::value):
407         (WebCore::JSSVGLength::convertToSpecifiedUnits):
408         * bindings/js/JSSVGMatrixCustom.cpp:
409         (WebCore::JSSVGMatrix::inverse):
410         (WebCore::JSSVGMatrix::rotateFromVector):
411         * bindings/js/JSSVGPathSegCustom.cpp:
412         (WebCore::toJS):
413         * bindings/js/JSSVGPathSegListCustom.cpp:
414         (WebCore::JSSVGPathSegList::clear):
415         (WebCore::JSSVGPathSegList::initialize):
416         (WebCore::JSSVGPathSegList::getItem):
417         (WebCore::JSSVGPathSegList::insertItemBefore):
418         (WebCore::JSSVGPathSegList::replaceItem):
419         (WebCore::JSSVGPathSegList::removeItem):
420         (WebCore::JSSVGPathSegList::appendItem):
421         * bindings/js/JSSVGPointListCustom.cpp:
422         (WebCore::finishGetter):
423         (WebCore::finishSetter):
424         (WebCore::finishSetterReadOnlyResult):
425         (WebCore::JSSVGPointList::clear):
426         (WebCore::JSSVGPointList::initialize):
427         (WebCore::JSSVGPointList::getItem):
428         (WebCore::JSSVGPointList::insertItemBefore):
429         (WebCore::JSSVGPointList::replaceItem):
430         (WebCore::JSSVGPointList::removeItem):
431         (WebCore::JSSVGPointList::appendItem):
432         * bindings/js/JSSVGTransformListCustom.cpp:
433         (WebCore::finishGetter):
434         (WebCore::finishSetter):
435         (WebCore::finishSetterReadOnlyResult):
436         (WebCore::JSSVGTransformList::clear):
437         (WebCore::JSSVGTransformList::initialize):
438         (WebCore::JSSVGTransformList::getItem):
439         (WebCore::JSSVGTransformList::insertItemBefore):
440         (WebCore::JSSVGTransformList::replaceItem):
441         (WebCore::JSSVGTransformList::removeItem):
442         (WebCore::JSSVGTransformList::appendItem):
443         * bindings/js/JSStorageCustom.cpp:
444         (WebCore::JSStorage::nameGetter):
445         (WebCore::JSStorage::deleteProperty):
446         (WebCore::JSStorage::customPut):
447         * bindings/js/JSStyleSheetCustom.cpp:
448         (WebCore::toJS):
449         * bindings/js/JSStyleSheetListCustom.cpp:
450         (WebCore::JSStyleSheetList::nameGetter):
451         * bindings/js/JSTextCustom.cpp:
452         (WebCore::toJSNewlyCreated):
453         * bindings/js/JSTreeWalkerCustom.cpp:
454         (WebCore::JSTreeWalker::parentNode):
455         (WebCore::JSTreeWalker::firstChild):
456         (WebCore::JSTreeWalker::lastChild):
457         (WebCore::JSTreeWalker::nextSibling):
458         (WebCore::JSTreeWalker::previousSibling):
459         (WebCore::JSTreeWalker::previousNode):
460         (WebCore::JSTreeWalker::nextNode):
461         * bindings/js/JSWorkerContextCustom.cpp:
462         (WebCore::JSWorkerContext::self):
463         (WebCore::JSWorkerContext::setSelf):
464         (WebCore::JSWorkerContext::xmlHttpRequest):
465         (WebCore::JSWorkerContext::importScripts):
466         (WebCore::JSWorkerContext::addEventListener):
467         (WebCore::JSWorkerContext::removeEventListener):
468         (WebCore::JSWorkerContext::setTimeout):
469         (WebCore::JSWorkerContext::setInterval):
470         * bindings/js/JSWorkerCustom.cpp:
471         (WebCore::JSWorker::addEventListener):
472         (WebCore::JSWorker::removeEventListener):
473         * bindings/js/JSXMLHttpRequestCustom.cpp:
474         (WebCore::JSXMLHttpRequest::open):
475         (WebCore::JSXMLHttpRequest::setRequestHeader):
476         (WebCore::JSXMLHttpRequest::send):
477         (WebCore::JSXMLHttpRequest::getResponseHeader):
478         (WebCore::JSXMLHttpRequest::overrideMimeType):
479         (WebCore::JSXMLHttpRequest::addEventListener):
480         (WebCore::JSXMLHttpRequest::removeEventListener):
481         (WebCore::JSXMLHttpRequest::responseText):
482         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
483         (WebCore::JSXMLHttpRequestUpload::addEventListener):
484         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
485         * bindings/js/JSXSLTProcessorCustom.cpp:
486         (WebCore::JSXSLTProcessor::importStylesheet):
487         (WebCore::JSXSLTProcessor::transformToFragment):
488         (WebCore::JSXSLTProcessor::transformToDocument):
489         (WebCore::JSXSLTProcessor::setParameter):
490         (WebCore::JSXSLTProcessor::getParameter):
491         (WebCore::JSXSLTProcessor::removeParameter):
492         * bindings/js/ScheduledAction.cpp:
493         (WebCore::ScheduledAction::create):
494         (WebCore::ScheduledAction::ScheduledAction):
495         (WebCore::ScheduledAction::executeFunctionInContext):
496         * bindings/js/ScheduledAction.h:
497         * bindings/js/ScriptCallStack.cpp:
498         (WebCore::ScriptCallStack::ScriptCallStack):
499         (WebCore::ScriptCallStack::initialize):
500         * bindings/js/ScriptCallStack.h:
501         * bindings/js/ScriptController.cpp:
502         (WebCore::ScriptController::jsObjectForPluginElement):
503         * bindings/js/ScriptFunctionCall.cpp:
504         (WebCore::ScriptFunctionCall::appendArgument):
505         (WebCore::ScriptFunctionCall::call):
506         (WebCore::ScriptFunctionCall::construct):
507         * bindings/js/ScriptFunctionCall.h:
508         * bindings/js/ScriptObject.cpp:
509         (WebCore::ScriptGlobalObject::get):
510         * bindings/js/ScriptValue.h:
511         (WebCore::ScriptValue::ScriptValue):
512         (WebCore::ScriptValue::jsValue):
513         * bindings/objc/WebScriptObject.mm:
514         (-[WebScriptObject callWebScriptMethod:withArguments:]):
515         (-[WebScriptObject evaluateWebScript:]):
516         (-[WebScriptObject valueForKey:]):
517         (-[WebScriptObject webScriptValueAtIndex:]):
518         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
519         * bindings/objc/WebScriptObjectPrivate.h:
520         * bridge/NP_jsobject.cpp:
521         (_NPN_InvokeDefault):
522         (_NPN_Invoke):
523         (_NPN_Evaluate):
524         (_NPN_GetProperty):
525         (_NPN_HasMethod):
526         (_NPN_Construct):
527         * bridge/c/c_instance.cpp:
528         (JSC::Bindings::CInstance::invokeMethod):
529         (JSC::Bindings::CInstance::invokeDefaultMethod):
530         (JSC::Bindings::CInstance::invokeConstruct):
531         (JSC::Bindings::CInstance::defaultValue):
532         (JSC::Bindings::CInstance::stringValue):
533         (JSC::Bindings::CInstance::numberValue):
534         (JSC::Bindings::CInstance::booleanValue):
535         (JSC::Bindings::CInstance::valueOf):
536         * bridge/c/c_instance.h:
537         * bridge/c/c_runtime.cpp:
538         (JSC::Bindings::CField::valueFromInstance):
539         (JSC::Bindings::CField::setValueToInstance):
540         * bridge/c/c_runtime.h:
541         * bridge/c/c_utility.cpp:
542         (JSC::Bindings::convertValueToNPVariant):
543         (JSC::Bindings::convertNPVariantToValue):
544         * bridge/c/c_utility.h:
545         * bridge/jni/jni_instance.cpp:
546         (JavaInstance::stringValue):
547         (JavaInstance::numberValue):
548         (JavaInstance::booleanValue):
549         (JavaInstance::invokeMethod):
550         (JavaInstance::defaultValue):
551         (JavaInstance::valueOf):
552         * bridge/jni/jni_instance.h:
553         * bridge/jni/jni_jsobject.h:
554         * bridge/jni/jni_jsobject.mm:
555         (JavaJSObject::call):
556         (JavaJSObject::eval):
557         (JavaJSObject::getMember):
558         (JavaJSObject::getSlot):
559         (JavaJSObject::convertValueToJObject):
560         (JavaJSObject::convertJObjectToValue):
561         * bridge/jni/jni_objc.mm:
562         (JSC::Bindings::dispatchJNICall):
563         * bridge/jni/jni_runtime.cpp:
564         (JavaArray::convertJObjectToArray):
565         (JavaField::dispatchValueFromInstance):
566         (JavaField::valueFromInstance):
567         (JavaField::dispatchSetValueToInstance):
568         (JavaField::setValueToInstance):
569         (JavaArray::setValueAt):
570         (JavaArray::valueAt):
571         * bridge/jni/jni_runtime.h:
572         * bridge/jni/jni_utility.cpp:
573         (JSC::Bindings::convertArrayInstanceToJavaArray):
574         (JSC::Bindings::convertValueToJValue):
575         * bridge/jni/jni_utility.h:
576         * bridge/objc/WebScriptObject.h:
577         * bridge/objc/objc_class.h:
578         * bridge/objc/objc_class.mm:
579         (JSC::Bindings::ObjcClass::fallbackObject):
580         * bridge/objc/objc_instance.h:
581         * bridge/objc/objc_instance.mm:
582         (ObjcInstance::invokeMethod):
583         (ObjcInstance::invokeDefaultMethod):
584         (ObjcInstance::setValueOfUndefinedField):
585         (ObjcInstance::getValueOfUndefinedField):
586         (ObjcInstance::defaultValue):
587         (ObjcInstance::stringValue):
588         (ObjcInstance::numberValue):
589         (ObjcInstance::booleanValue):
590         (ObjcInstance::valueOf):
591         * bridge/objc/objc_runtime.h:
592         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
593         * bridge/objc/objc_runtime.mm:
594         (JSC::Bindings::ObjcField::valueFromInstance):
595         (JSC::Bindings::convertValueToObjcObject):
596         (JSC::Bindings::ObjcField::setValueToInstance):
597         (JSC::Bindings::ObjcArray::setValueAt):
598         (JSC::Bindings::ObjcArray::valueAt):
599         (JSC::Bindings::ObjcFallbackObjectImp::put):
600         (JSC::Bindings::callObjCFallbackObject):
601         (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
602         * bridge/objc/objc_utility.h:
603         * bridge/objc/objc_utility.mm:
604         (JSC::Bindings::convertValueToObjcValue):
605         (JSC::Bindings::convertNSStringToString):
606         (JSC::Bindings::convertObjcValueToValue):
607         * bridge/runtime.h:
608         (JSC::Bindings::Class::fallbackObject):
609         (JSC::Bindings::Instance::setValueOfUndefinedField):
610         (JSC::Bindings::Instance::invokeDefaultMethod):
611         (JSC::Bindings::Instance::invokeConstruct):
612         (JSC::Bindings::Instance::put):
613         * bridge/runtime_array.cpp:
614         (JSC::RuntimeArray::lengthGetter):
615         (JSC::RuntimeArray::indexGetter):
616         (JSC::RuntimeArray::put):
617         * bridge/runtime_array.h:
618         (JSC::RuntimeArray::createStructure):
619         * bridge/runtime_method.cpp:
620         (JSC::RuntimeMethod::lengthGetter):
621         (JSC::callRuntimeMethod):
622         * bridge/runtime_method.h:
623         (JSC::RuntimeMethod::createStructure):
624         * bridge/runtime_object.cpp:
625         (JSC::RuntimeObjectImp::fallbackObjectGetter):
626         (JSC::RuntimeObjectImp::fieldGetter):
627         (JSC::RuntimeObjectImp::methodGetter):
628         (JSC::RuntimeObjectImp::put):
629         (JSC::RuntimeObjectImp::defaultValue):
630         (JSC::callRuntimeObject):
631         (JSC::callRuntimeConstructor):
632         * bridge/runtime_object.h:
633         (JSC::RuntimeObjectImp::createStructure):
634         * inspector/JavaScriptCallFrame.cpp:
635         (WebCore::JavaScriptCallFrame::evaluate):
636         * inspector/JavaScriptCallFrame.h:
637         * inspector/JavaScriptProfile.cpp:
638         (WebCore::toJS):
639         * inspector/JavaScriptProfile.h:
640         * inspector/JavaScriptProfileNode.cpp:
641         (WebCore::toJS):
642         * inspector/JavaScriptProfileNode.h:
643
644 2009-05-01  Dimitri Glazkov  <dglazkov@chromium.org>
645
646         Reviewed by Eric Seidel.
647
648         https://bugs.webkit.org/show_bug.cgi?id=25485
649         Only use visitedURL in Qt. This is a follow-up change to http://trac.webkit.org/changeset/43052,
650         which broke Chromium build.
651
652         * css/CSSStyleSelector.cpp:
653         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Moved guards around to
654             provide separate code paths for Qt and non-Qt ports. Also restored original
655             order of execution.
656
657 2009-05-01  Anders Carlsson  <andersca@apple.com>
658
659         Reviewed by Adele Peterson.
660
661         <rdar://problem/6839222>
662         CrashTracer: Lots of crashes in Safari in hash table remove function inside DocumentLoader::removeSubresourceLoader
663         
664         After calling m_client->didFail(), check if the subresource loader has reached its terminal state. If that's the case,
665         return early to avoid calling removeSubresourceLoader on a null document loader. I don't think this is allowed to happen
666         which is why I've added the ASSERT.
667         
668         * loader/SubresourceLoader.cpp:
669         (WebCore::SubresourceLoader::didCancel):
670
671 2009-05-01  Timothy Hatcher  <timothy@apple.com>
672
673         Disallow the deletion UI for elements that have any overflow clipping.
674         Also disallow the UI for the body element it isn't practical to delete,
675         and the deletion UI would be clipped.
676
677         <rdar://problem/6840161> Deletion UI can be clipped by some
678         elements (with overflow: hidden)
679
680         Reviewed by Darin Adler.
681
682         * editing/DeleteButtonController.cpp:
683         (WebCore::isDeletableElement):
684
685 2009-05-01  Timothy Hatcher  <timothy@apple.com>
686
687         Decrease the minimum height for deleteable elements to 16px, and increase the
688         minimum width to 48px. This allows deleting shorter items like navigation bars.
689
690         <rdar://problem/6840735> Deletion UI does not show up for short
691         elements (22px or less)
692
693         Reviewed by Adele Peterson.
694
695         * editing/DeleteButtonController.cpp:
696         (WebCore::isDeletableElement):
697
698 2009-05-01  Timothy Hatcher  <timothy@apple.com>
699
700         Clean up the comments and logic in the code for picking a
701         deleteable element for the deletion UI.
702
703         Reviewed by Adele Peterson.
704
705         * editing/DeleteButtonController.cpp:
706         (WebCore::isDeletableElement):
707
708 2009-05-01  Kevin McCullough  <kmccullough@apple.com>
709
710         Reviewed by Adele Peterson and Darin Adler.
711
712         <rdar://problem/4815598> Stuck in double spacing mode after pasting a
713         paragraph with padding/margin (or table mode !)
714
715         A lot of the issues in this bug were resolved on Mail's side by using
716         WebKit to convert to plain text.  This is the final issue, that floating
717         style stays on copied nodes causing them to float when they are pasted
718         which is not what the user intended.
719
720         * editing/markup.cpp:
721         (WebCore::removeExteriorStyles):
722         (WebCore::):
723         (WebCore::appendStartMarkup):
724         (WebCore::getStartMarkup):
725         (WebCore::createMarkup):
726
727 2009-05-01  Pavel Feldman  <pfeldman@chromium.org>
728
729         Reviewed by Timothy Hatcher.
730
731         Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
732         This is the only resource-related information that is available in InspectorController
733         and is missing in the FrameLoaderClient.
734
735         https://bugs.webkit.org/show_bug.cgi?id=25347
736
737         * WebCore.xcodeproj/project.pbxproj: Made ScriptSource private.
738         * dom/Document.cpp: Made a call to a client along with the call to the InspectorController.
739         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
740         * loader/EmptyClients.h: Added stub implementation.
741         (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
742         * loader/FrameLoader.cpp: Call initiating dispatches.
743         (WebCore::FrameLoader::resourceRetrievedByXMLHttpRequest):
744         * loader/FrameLoader.h:
745         * loader/FrameLoaderClient.h:
746
747 2009-04-30  Beth Dakin  <bdakin@apple.com>
748
749         Reviewed by Oliver Hunt.
750
751         Fix for <rdar://problem/6841106> REGRESSION: Crash drag selecting 
752         To Do's in a Mail note (excessive recursion in mouse drag tracking)
753
754         Oliver's recent change to dragging seems to have revealed a long-
755         time bug in passSubframeEventToSubframe where we did not set 
756         m_sendingEventToSubview to true before calling 
757         handleMouseMoveEvent() in the NSMouseMoved case. This patch fixes 
758         that and adds ASSERTions around all of the places where 
759         m_sendingEventToSubview is set to true and then false to make sure 
760         we are not trampling its state.
761
762         * page/mac/EventHandlerMac.mm:
763         (WebCore::EventHandler::eventLoopHandleMouseDragged):
764         (WebCore::EventHandler::eventLoopHandleMouseUp):
765         (WebCore::EventHandler::passSubframeEventToSubframe):
766         (WebCore::EventHandler::passWheelEventToWidget):
767
768 2009-04-30  Eric Carlson  <eric.carlson@apple.com>
769
770         Reviewed by Simon Fraser.
771         
772         MediaDocument falls back to plug-in unnecessarily
773         https://bugs.webkit.org/show_bug.cgi?id=25504
774         <rdar://problem/6844702>
775         
776         Don't allow harmless media types to cause a MediaDocument to fall
777         back to PluginDocument.
778
779         Test: media/video-document-types.html
780
781         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
782         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): add timecode, timecode 64,
783         odsm, and sdsm to allowed track types.
784
785         * platform/graphics/win/QTMovieWin.cpp:
786         (QTMovieWin::disableUnsupportedTracks): Ditto.
787
788 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
789
790         Reviewed by Eric Seidel.
791
792         Add CHROMIUM guard to unfork Document.cpp
793
794         * dom/Document.cpp:
795         (WebCore::Document::setFocusedNode): Added guard.
796
797 2009-04-30  David Kilzer  <ddkilzer@apple.com>
798
799         Use OwnPtr<HTMLParserQuirks> for m_parserQuirks
800
801         Reviewed by Geoff Garen.
802
803         * html/HTMLParser.cpp:
804         (WebCore::HTMLParser::~HTMLParser): Removed unneeded code.
805         * html/HTMLParser.h: Made m_parserQuirks an OwnPtr.
806
807 2009-04-30  David Kilzer  <ddkilzer@apple.com>
808
809         Provide a mechanism to create a quirks delegate for HTMLParser
810
811         Reviewed by David Hyatt.
812
813         No tests since there is no change in behavior.
814
815         HTMLParserQuirks.h defines an abstract base class that may be
816         extended as needed.  The ChromeClient::createHTMLParserQuirks()
817         factory method should be used to return an HTMLParserQuirks
818         subclassed object when needed.
819
820         * WebCore.xcodeproj/project.pbxproj: Added HTMLParserQuirks.h.
821         * html/HTMLParser.cpp:
822         (WebCore::HTMLParser::HTMLParser): Initialize m_parserQuirks
823         using ChromeClient::createHTMLParserQuirks().
824         (WebCore::HTMLParser::~HTMLParser): Delete m_parserQuirks if
825         set.
826         (WebCore::HTMLParser::reset): Call HTMLParserQuirks::reset() if
827         m_parserQuirks is set.
828         (WebCore::HTMLParser::insertNode): Call
829         HTMLParserQuirks::shouldInsertNode() if m_parserQuirks is set,
830         and return early if it returns false.
831         (WebCore::HTMLParser::popBlock): Call
832         HTMLParserQuirks::shouldPopBlock() if m_parserQuirks is set, and
833         return early if it returns false.
834         * html/HTMLParser.h: Added m_parserQuirks.
835         * html/HTMLParserQuirks.h: Added.
836         (WebCore::HTMLParserQuirks::HTMLParserQuirks):
837         (WebCore::HTMLParserQuirks::~HTMLParserQuirks):
838         * loader/EmptyClients.h:
839         (WebCore::EmptyChromeClient::createHTMLParserQuirks): Added.
840         * page/ChromeClient.h:
841         (WebCore::ChromeClient::createHTMLParserQuirks): Added.
842
843 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
844
845         Reviewed by Eric Seidel.
846
847         https://bugs.webkit.org/show_bug.cgi?id=25492
848         Add JSC guards around node wrapper cache calls. These are not used by V8.
849
850         Also, remove JSDOMBinding include, which is brought in by ScriptController.
851
852         * dom/Document.cpp:
853         (WebCore::Document::~Document): Added JSC guard.
854         * dom/Node.cpp:
855         (WebCore::Node::setDocument): Ditto and removed JSDOMBinding include.
856
857 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
858
859         Reviewed by Eric Seidel.
860
861         https://bugs.webkit.org/show_bug.cgi?id=25493
862         Remove debugger/profiler custom method stubs, catching V8 bindings up to
863         http://trac.webkit.org/changeset/43072.
864
865         * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed method stubs.
866
867 2009-04-30  Simon Fraser  <simon.fraser@apple.com>
868
869         Reviewed by Darin Adler
870
871         <rdar://problem/6839338> VoiceOver does not take into account transforms when drawing outlines
872         
873         Use transform-aware quad methods when computing the boundingBoxRect for
874         an AccessibilityRenderObject. The code follows RenderObject::absoluteBoundingBoxRect().
875
876         Test: accessibility/transformed-element.html
877
878         * page/AccessibilityRenderObject.cpp:
879         (WebCore::AccessibilityRenderObject::boundingBoxRect):
880
881 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
882
883         Unreviewed, Chromium build fix.
884
885         Catch up to ScriptObject changes from http://trac.webkit.org/changeset/42512.
886
887         * bindings/v8/ScriptObject.cpp:
888         (WebCore::ScriptGlobalObject::get): Renamed from getObject.
889         (WebCore::ScriptGlobalObject::remove): Added.
890         * bindings/v8/ScriptObject.h: Ditto.
891
892 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
893
894         Unreviewed, build fix.
895
896         https://bugs.webkit.org/show_bug.cgi?id=25470
897         Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
898
899         * WebCore.pro: Fix copy-paste error.
900
901 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
902
903         Unreviewed, build fix.
904
905         https://bugs.webkit.org/show_bug.cgi?id=25470
906         Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
907
908         * GNUmakefile.am: Add ENABLE_JAVASCRIPT_DEBUGGER definitions.
909         * WebCore.pro: Ditto.
910
911 2009-04-02  Eric Seidel  <eric@webkit.org>
912
913         Reviewed by Darin Adler.
914
915         Change Position to pre-compute the AnchorType and store it.
916         Also store a "legacy editing mode" bit on the Position.
917         https://bugs.webkit.org/show_bug.cgi?id=24763
918
919         The old Postion(node, offset) constructor creates legacy positions
920         but there are new constructors to create explicitly anchored positions
921         which the next patch will use.
922
923         Once we fix all the "position-fixup" functions (like rangeCompliantEquivalent) to
924         only affect legacy positions, we will be able to distinguish
925         between [table, 1] and [table, after] in the code correctly!
926
927         * WebCore.base.exp:
928         * WebCore.xcodeproj/project.pbxproj:
929         * dom/Position.cpp:
930         (WebCore::Position::Position):
931         (WebCore::Position::moveToPosition):
932         (WebCore::Position::moveToOffset):
933         (WebCore::Position::anchorTypeForLegacyEditingPosition):
934         (WebCore::Position::element):
935         * dom/Position.h:
936         (WebCore::Position::):
937         (WebCore::Position::Position):
938         (WebCore::Position::anchorType):
939         (WebCore::Position::deprecatedEditingOffset):
940
941 2009-04-30  Sam Weinig  <sam@webkit.org>
942
943         Reviewed by Alexey Proskuryakov.
944
945         Fix bug where the WorkerLocation and WorkerNavigator wrappers would be
946         collected even if the WorkerContext is still alive.
947
948         Test: fast/workers/worker-context-gc.html
949
950         * bindings/js/JSWorkerContextCustom.cpp:
951         (WebCore::JSWorkerContext::mark):
952         * workers/WorkerContext.cpp:
953         (WebCore::WorkerContext::WorkerContext):
954         (WebCore::WorkerContext::completeURL):
955         (WebCore::WorkerContext::location):
956         * workers/WorkerContext.h:
957         (WebCore::WorkerContext::optionalNavigator):
958         (WebCore::WorkerContext::optionalLocation):
959
960 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
961
962         Reviewed by Timothy Hatcher.
963
964         https://bugs.webkit.org/show_bug.cgi?id=25470
965         Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
966
967         * Configurations/FeatureDefines.xcconfig: Added ENABLE_JAVASCRIPT_DEBUGGER.
968         * WebCore.vcproj/build-generated-files.sh: Ditto.
969         * bindings/js/JSConsoleCustom.cpp: Added ENABLE(JAVASCRIPT_DEBUGGER) guard.
970         * bindings/js/JSDOMWindowBase.cpp: Ditto.
971         * bindings/js/JSInspectorControllerCustom.cpp: Ditto.
972         * inspector/InspectorController.cpp: Moved profiler/debugger methods under
973             ENABLE(JAVASCRIPT_DEBUGGER) flag.
974         * inspector/InspectorController.h: Ditto.
975         * inspector/InspectorController.idl: Added ENABLE(JAVASCRIPT_DEBUGGER) guard.
976         * page/Console.cpp: Replaced USE(JSC) with ENABLE(JAVASCRIPT_DEBUGGER) guard.
977
978 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
979
980         Unreviewed, build fix.
981
982         https://bugs.webkit.org/show_bug.cgi?id=25275
983         This patch snuck in a re-definition of a local.
984
985         * bindings/v8/custom/V8DOMWindowCustom.cpp:
986         (WebCore::NAMED_PROPERTY_GETTER): Removed re-definition.
987
988 2009-04-30  Sam Weinig  <sam@webkit.org>
989
990         Reviewed by Mark Rowe.
991
992         Fix a leak introduced yesterday.  Don't allocate a ScheduledAction
993         if the toString()ing throws an exception.
994
995         * bindings/js/ScheduledAction.cpp:
996         (WebCore::ScheduledAction::create):
997
998 2009-04-30  Alexey Proskuryakov  <ap@webkit.org>
999
1000         Reviewed by Darin Adler.
1001
1002         https://bugs.webkit.org/show_bug.cgi?id=25379
1003         <rdar://problem/6809460> REGRESSION (r41772): Selecting a bank in American Express Pay Bill fails
1004
1005         Test: fast/forms/multiple-selected-options-innerHTML.html
1006
1007         This problem was caused by an inconsistency at when Node::instertedIntoTree() is called.
1008         For normal HTML parsing, it is called immediately after an element is inserted, but for
1009         innerHTML, it is only called after the whole subtree is inserted into a document.
1010
1011         It may make sense to harmonize these cases one day, but for now, I only made the minimal
1012         changes necessary to fix the bug.
1013
1014         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::insertedIntoTree):
1015         * html/HTMLSelectElement.h:
1016         Recalculate list items when a SELECT element is inserted. OPTION elements cannot decide
1017         which one to keep selected themselves, because their logic assumes normal parsing, with
1018         insertedIntoTree() called after each element is inserted.
1019
1020 2009-04-30  Pavel Feldman  <pfeldman@chromium.org>
1021
1022         Reviewed by Dimitri Glazkov.
1023
1024         https://bugs.webkit.org/show_bug.cgi?id=25342
1025         Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole.
1026
1027         Chromium async/out-of-process version of WebInspector is currently not based on
1028         InspectorController. The reason was that we did not want to interfere with
1029         the unforking effort, yet wanted to experiment. So we came up with these
1030         agents concept that basically mimic InspectorController, but separating 'agent'
1031         nature from the 'transport'. Now that InspectorController is unforked, I am
1032         planning to bring these concepts into the WebKit land and use what we have in
1033         Chromium as a proof of concept / experimental playground.
1034
1035         * loader/EmptyClients.h: added MessageSource and MessageLevel parameters.
1036         (WebCore::EmptyChromeClient::addMessageToConsole): ditto
1037         * page/ChromeClient.h: ditto
1038         * page/Console.cpp: Used new method signature.
1039         (WebCore::Console::addMessage): ditto
1040
1041 2009-04-30  Dan Bernstein  <mitz@apple.com>
1042
1043         Reviewed by Simon Fraser.
1044
1045         - fix https://bugs.webkit.org/show_bug.cgi?id=25476
1046           <rdar://problem/6841919> REGRESSION (r42987): Welcome to Safari 4
1047           animation is jittery
1048
1049         Reverted r42987.
1050
1051         * platform/graphics/cg/ImageCG.cpp:
1052         (WebCore::BitmapImage::draw):
1053
1054 2009-04-30  Brady Eidson  <beidson@apple.com>
1055
1056         Reviewed by Maciej Stachowiak
1057
1058         <rdar://problem/3785248> http://www.greekembassy.org/ gets in an infinite reload loop
1059         https://bugs.webkit.org/show_bug.cgi?id=21193
1060
1061         Some websites use for attributes in script elements to specify events that the script 
1062         should be run for.  One example is greekembassy.org which has the following in their <head>:
1063
1064         <script for=window event=onresize>
1065             location.reload(false);
1066         </script>
1067
1068         Since we don't support the full for attribute syntax, we would just blissfully ignore the
1069         condition and execute the code unconditionally.  This caused breakage on multiple real-world 
1070         sites besides greekembassy.org.
1071
1072         https://bugs.webkit.org/show_bug.cgi?id=16915 and <rdar://problem/4471751> track adding full 
1073         support for the for attribute in scripts.  In the meantime it's best to not execute them
1074         unconditionally.
1075
1076         Test: fast/dom/HTMLScriptElement/script-for-attribute-unexpected-execution.html
1077
1078         * dom/ScriptElement.cpp:
1079         (WebCore::ScriptElementData::shouldExecuteAsJavaScript): After all other checks have
1080           passed, only return true if there is no for attribute in the script element.
1081         * dom/ScriptElement.h:
1082
1083         * html/HTMLScriptElement.cpp:
1084         (WebCore::HTMLScriptElement::forAttributeValue): Return the attribute value, if any.
1085         * html/HTMLScriptElement.h:
1086
1087         * svg/SVGScriptElement.cpp:
1088         (WebCore::SVGScriptElement::forAttributeValue): Return an empty string (like the other
1089           attribute getters do for SVGScriptElement)
1090         * svg/SVGScriptElement.h:
1091
1092 2009-04-30  Holger Hans Peter Freyther  <zecke@selfish.org>
1093
1094         Reviewed by Darin Adler.
1095
1096         The Qt API exposes a global history patch CSSStyleSelector to make API consumers work again
1097
1098         https://bugs.webkit.org/show_bug.cgi?id=20952
1099
1100         The QtWebKit port made the mistake of exposing a global history. This broke
1101         with the addition of PageGroup and LinkHash. This needs to be repaired
1102         for Qt4.5.
1103
1104         Add a function to LinkHash.cpp that is resolving a URL. Use this
1105         function from within CSSStyleSelector to forward the url to the
1106         QWebHistoryInterface API.
1107
1108         It is sad that there is a path within visitedLinkHash which is now
1109         doing a memcpy, it is sad to add a PLATFORM(QT) define to CSSStyleSelector
1110         and using QtWebKit types within WebCore is a layering violation as well.
1111
1112         PageGroup::setShouldTrackVisitedLinks is currently not enabled. For
1113         Qt4.6 a second version of the QWebHistoryInterface is going to be
1114         added which will fix things up.
1115
1116         * css/CSSStyleSelector.cpp:
1117         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
1118         * platform/LinkHash.cpp:
1119         (WebCore::visitedURL):
1120         (WebCore::visitedLinkHash):
1121         * platform/LinkHash.h:
1122
1123 2009-04-30  Simon Hausmann  <simon.hausmann@nokia.com>
1124
1125         Fix the Qt build.
1126
1127         * platform/graphics/SimpleFontData.cpp: Don't use initCharWidths() for the Qt build.
1128         * platform/graphics/qt/SimpleFontDataQt.cpp:
1129         (WebCore::SimpleFontData::platformCharWidthInit): Instead initialize the average and
1130         max char widths from QFontMetrics.
1131
1132 2009-04-30  Ariya Hidayat  <ariya.hidayat@nokia.com>
1133
1134         Unreview build fix after r43037.
1135
1136         Use MarkedArgumentBuffer instead of ArgList.
1137
1138         * bridge/qt/qt_runtime.cpp:
1139         (JSC::Bindings::QtConnectionObject::execute):
1140
1141 2009-04-29  Sam Weinig  <sam@webkit.org>
1142
1143         Reviewed by Oliver Hunt.
1144
1145         Fix for https://bugs.webkit.org/show_bug.cgi?id=25440
1146         setTimeout should stringify non-string/non-function first arguments
1147
1148         Test: fast/dom/Window/setTimeout-string-argument.html
1149
1150         * bindings/js/JSDOMWindowCustom.cpp:
1151         (WebCore::JSDOMWindow::setTimeout):
1152         (WebCore::JSDOMWindow::setInterval):
1153         * bindings/js/JSWorkerContextCustom.cpp:
1154         (WebCore::JSWorkerContext::setTimeout):
1155         (WebCore::JSWorkerContext::setInterval):
1156         * bindings/js/ScheduledAction.cpp:
1157         (WebCore::ScheduledAction::create):
1158         * bindings/js/ScheduledAction.h:
1159
1160 2009-04-29  Dan Bernstein  <mitz@apple.com>
1161
1162         Reviewed by Simon Fraser.
1163
1164         - WebCore part of <rdar://problem/6609509> Select All and then Delete
1165           should put Mail editing back into the same state as a new message
1166
1167         Test: editing/deleting/in-visibly-empty-root.html
1168
1169         * WebCore.base.exp: Exported VisibleSelection::isAll(bool).
1170         * editing/SelectionController.h:
1171         (WebCore::SelectionController::isAll): Added. Calls through to
1172         VisibleSelection.
1173         * editing/TypingCommand.cpp:
1174         (WebCore::TypingCommand::makeEditableRootEmpty): Added. Removes all children
1175         of the root editable element the selection is in, other than a
1176         placeholder. Returns true iff it did anything.
1177         (WebCore::TypingCommand::deleteKeyPressed): When there is only a single
1178         visible position in the root editable element, but it has children other
1179         than a placeholder, remove those children.
1180         * editing/TypingCommand.h:
1181         * editing/VisiblePosition.h:
1182         Added a StayInEditableContent enum and a FIXME.
1183         * editing/VisibleSelection.cpp:
1184         (WebCore::VisibleSelection::isAll): Added. Returns whether the
1185         selection encompasses all visible positions, either in the document or
1186         in the editable root.
1187         * editing/VisibleSelection.h:
1188
1189 2009-04-29  Sam Weinig  <sam@webkit.org>
1190
1191         Fix style nit.
1192
1193         * editing/visible_units.cpp:
1194         (WebCore::getLeafBoxesInLogicalOrder):
1195
1196 2009-04-29  David Hyatt  <hyatt@apple.com>
1197
1198         Reviewed by Dan Bernstein.
1199
1200         For now just drop the deferred layout on the floor, since it causes an infinite hang in mail.  Even
1201         trying to schedule a relayout for later leaves you in a state where you hit the needsLayout painting
1202         assertions.
1203
1204         Basically what Mail is doing is crazy, and we can't support it other than to just drop the last layout
1205         and not do it (which is basically what was happening before).
1206
1207         * page/FrameView.cpp:
1208         (WebCore::FrameView::setContentsSize):
1209         (WebCore::FrameView::needsLayout):
1210
1211 2009-04-29  Douglas Davidson  <ddavidso@apple.com>
1212
1213         Reviewed by Justin Garcia.
1214
1215         <rdar://problem/6836921> Mail exhibits issues with text checking, e.g. menu items not always validated correctly
1216         
1217         Updates to the text checking code to enable text checking even if spellchecking is turned off 
1218         and fix an off-by-one error in selection handling.
1219
1220         * editing/Editor.cpp:
1221         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
1222         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1223         (WebCore::Editor::markMisspellingsAndBadGrammar):
1224         * editing/Editor.h:
1225         * editing/TypingCommand.cpp:
1226         (WebCore::TypingCommand::markMisspellingsAfterTyping):
1227
1228 2009-04-29  Oliver Hunt  <oliver@apple.com>
1229
1230         Reviewed by Gavin Barraclough.
1231
1232         Clean up ArgList to be a trivial type
1233
1234         Start using MarkedArgumentBuffer to create argument lists for function calls
1235
1236         * bindings/js/JSClipboardCustom.cpp:
1237         (WebCore::JSClipboard::types):
1238         * bindings/js/JSConsoleCustom.cpp:
1239         (WebCore::JSConsole::profiles):
1240         * bindings/js/JSCustomPositionCallback.cpp:
1241         (WebCore::JSCustomPositionCallback::handleEvent):
1242         * bindings/js/JSCustomPositionErrorCallback.cpp:
1243         (WebCore::JSCustomPositionErrorCallback::handleEvent):
1244         * bindings/js/JSCustomSQLStatementCallback.cpp:
1245         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1246         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1247         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1248         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1249         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1250         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1251         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1252         * bindings/js/JSCustomVoidCallback.cpp:
1253         (WebCore::JSCustomVoidCallback::handleEvent):
1254         * bindings/js/JSCustomXPathNSResolver.cpp:
1255         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1256         * bindings/js/JSEventListener.cpp:
1257         (WebCore::JSEventListener::handleEvent):
1258         * bindings/js/JSInspectorControllerCustom.cpp:
1259         (WebCore::JSInspectorController::profiles):
1260         (WebCore::JSInspectorController::search):
1261         (WebCore::JSInspectorController::databaseTableNames):
1262         (WebCore::JSInspectorController::setting):
1263         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1264         (WebCore::JSJavaScriptCallFrame::scopeChain):
1265         * bindings/js/JSLazyEventListener.cpp:
1266         (WebCore::JSLazyEventListener::parseCode):
1267         * bindings/js/JSNodeFilterCondition.cpp:
1268         (WebCore::JSNodeFilterCondition::acceptNode):
1269         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1270         (WebCore::JSQuarantinedObjectWrapper::construct):
1271         (WebCore::JSQuarantinedObjectWrapper::call):
1272         * bindings/js/ScheduledAction.cpp:
1273         (WebCore::ScheduledAction::ScheduledAction):
1274         (WebCore::ScheduledAction::executeFunctionInContext):
1275         * bindings/js/ScriptFunctionCall.h:
1276         * bindings/objc/WebScriptObject.mm:
1277         (getListFromNSArray):
1278         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1279         * bridge/NP_jsobject.cpp:
1280         (getListFromVariantArgs):
1281         (_NPN_InvokeDefault):
1282         (_NPN_Invoke):
1283         (_NPN_Construct):
1284         * bridge/jni/jni_jsobject.h:
1285         * bridge/jni/jni_jsobject.mm:
1286         (JavaJSObject::call):
1287         (JavaJSObject::getListFromJArray):
1288
1289 2009-04-29  Eric Seidel  <eric@webkit.org>
1290
1291         No review, build fix only.
1292
1293         Fix m_offset uses added while I wasn't looking.
1294
1295         * editing/visible_units.cpp:
1296         (WebCore::logicalStartPositionForLine):
1297         (WebCore::logicalEndPositionForLine):
1298
1299 2009-04-29  Xiaomei Ji  <xji@chromium.org>
1300
1301         Reviewed by Dan Bernstein.
1302
1303         Fix https://bugs.webkit.org/show_bug.cgi?id=24168
1304         RTL: Home/End key does not behave correctly in mixed bidi text in RTL document
1305
1306         Test: editing/selection/home-end.html
1307
1308         * editing/SelectionController.cpp:
1309         (WebCore::SelectionController::modifyExtendingForward): Change calling endOfLine()
1310         to logicalEndOfLine() when granularity is LineBoundary.
1311         (WebCore::SelectionController::modifyMovingForward): Change calling endOfLine()
1312         to logicalEndOfLine() when granularity is LineBoundary
1313         (WebCore::SelectionController::modifyExtendingBackward): Change calling 
1314         startOfLine() to logicalStartOfLine() when granularity is LineBoundary.
1315         (WebCore::SelectionController::modifyMovingBackward): Change calling startOfLine() 
1316         to logicalStartOfLine() when granularity is LineBoundary.
1317         * editing/visible_units.cpp:
1318         (WebCore::getLeafBoxesInLogicalOrder): Added. Reconstruct leaf boxes in logical order.
1319         (WebCore::getLogicalStartBoxAndNode): Added.
1320         (WebCore::getLogicalEndBoxAndNode): Added.
1321         (WebCore::logicalStartPositionForLine): Added. Similar to startPositionForLine.
1322         (WebCore::logicalStartOfLine): Added. Similar to startOfLine.
1323         (WebCore::logicalEndPositionForLine): Added. Similar to endPositionForLine.
1324         (WebCore::inSameLogicalLine): Added.
1325         (WebCore::logicalEndOfLine): Added. Similar to endOfLine.
1326         * editing/visible_units.h:
1327
1328 2009-04-29  Eric Seidel  <eric@webkit.org>
1329
1330         Reviewed by Darin Adler.
1331
1332         Make m_offset private and change all callers to use deprecatedEditingOffset().
1333         https://bugs.webkit.org/show_bug.cgi?id=25472
1334
1335         Per Darin's suggestion, this was just a simple search replace
1336         of .m_offset with .deprecatedEditingOffset().
1337
1338         There was one change in InsertParagraphSeparatorCommand::doApply to use
1339         Position::moveToOffset(0) instead of .m_offset = 0;
1340
1341         * dom/Position.cpp:
1342         (WebCore::Position::rendersInDifferentPosition):
1343         (WebCore::Position::leadingWhitespacePosition):
1344         * dom/Position.h:
1345         (WebCore::Position::deprecatedEditingOffset):
1346         (WebCore::Position::moveToOffset):
1347         (WebCore::operator==):
1348         * dom/PositionIterator.h:
1349         (WebCore::PositionIterator::PositionIterator):
1350         * dom/Range.cpp:
1351         (WebCore::Range::create):
1352         (WebCore::Range::compareBoundaryPoints):
1353         * editing/ApplyStyleCommand.cpp:
1354         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1355         (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
1356         (WebCore::ApplyStyleCommand::removeInlineStyle):
1357         (WebCore::ApplyStyleCommand::nodeFullySelected):
1358         (WebCore::ApplyStyleCommand::nodeFullyUnselected):
1359         (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
1360         (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
1361         (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
1362         (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
1363         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
1364         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
1365         (WebCore::ApplyStyleCommand::joinChildTextNodes):
1366         * editing/BreakBlockquoteCommand.cpp:
1367         (WebCore::BreakBlockquoteCommand::doApply):
1368         * editing/CompositeEditCommand.cpp:
1369         (WebCore::CompositeEditCommand::insertNodeAt):
1370         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
1371         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
1372         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
1373         (WebCore::CompositeEditCommand::deleteInsignificantText):
1374         (WebCore::CompositeEditCommand::moveParagraphs):
1375         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
1376         * editing/DeleteSelectionCommand.cpp:
1377         (WebCore::updatePositionForNodeRemoval):
1378         (WebCore::updatePositionForTextRemoval):
1379         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1380         (WebCore::DeleteSelectionCommand::fixupWhitespace):
1381         * editing/Editor.cpp:
1382         (WebCore::Editor::setComposition):
1383         (WebCore::Editor::advanceToNextMisspelling):
1384         (WebCore::Editor::getCompositionSelection):
1385         * editing/InsertLineBreakCommand.cpp:
1386         (WebCore::InsertLineBreakCommand::doApply):
1387         * editing/InsertParagraphSeparatorCommand.cpp:
1388         (WebCore::InsertParagraphSeparatorCommand::doApply):
1389         * editing/InsertTextCommand.cpp:
1390         (WebCore::InsertTextCommand::performTrivialReplace):
1391         (WebCore::InsertTextCommand::input):
1392         (WebCore::InsertTextCommand::insertTab):
1393         * editing/MoveSelectionCommand.cpp:
1394         (WebCore::MoveSelectionCommand::doApply):
1395         * editing/ReplaceSelectionCommand.cpp:
1396         (WebCore::ReplaceSelectionCommand::doApply):
1397         * editing/SelectionController.cpp:
1398         (WebCore::SelectionController::debugRenderer):
1399         * editing/TextIterator.cpp:
1400         (WebCore::TextIterator::rangeFromLocationAndLength):
1401         * editing/TypingCommand.cpp:
1402         (WebCore::TypingCommand::deleteKeyPressed):
1403         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1404         * editing/VisiblePosition.cpp:
1405         (WebCore::VisiblePosition::characterAfter):
1406         (WebCore::VisiblePosition::debugPosition):
1407         (WebCore::makeRange):
1408         (WebCore::setStart):
1409         (WebCore::setEnd):
1410         * editing/VisibleSelection.cpp:
1411         (WebCore::VisibleSelection::toNormalizedRange):
1412         (WebCore::makeSearchRange):
1413         (WebCore::VisibleSelection::debugPosition):
1414         (WebCore::VisibleSelection::showTreeForThis):
1415         * editing/htmlediting.cpp:
1416         (WebCore::comparePositions):
1417         (WebCore::rangeCompliantEquivalent):
1418         * editing/visible_units.cpp:
1419         (WebCore::previousBoundary):
1420         (WebCore::nextBoundary):
1421         (WebCore::startPositionForLine):
1422         (WebCore::startOfLine):
1423         (WebCore::endPositionForLine):
1424         (WebCore::nextLinePosition):
1425         (WebCore::startOfParagraph):
1426         (WebCore::endOfParagraph):
1427         (WebCore::logicalStartPositionForLine):
1428         (WebCore::logicalEndPositionForLine):
1429         * page/AccessibilityObject.cpp:
1430         (WebCore::updateAXLineStartForVisiblePosition):
1431         * page/AccessibilityRenderObject.cpp:
1432         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
1433         * page/DOMSelection.cpp:
1434         (WebCore::DOMSelection::anchorOffset):
1435         (WebCore::DOMSelection::focusOffset):
1436         (WebCore::DOMSelection::baseOffset):
1437         (WebCore::DOMSelection::extentOffset):
1438         * page/EventHandler.cpp:
1439         (WebCore::EventHandler::handleMousePressEventSingleClick):
1440         * page/Frame.cpp:
1441         (WebCore::Frame::selectionLayoutChanged):
1442         * page/mac/AccessibilityObjectWrapper.mm:
1443         (textMarkerForVisiblePosition):
1444         (visiblePositionForTextMarker):
1445         * rendering/RenderTextControl.cpp:
1446         (WebCore::RenderTextControl::indexForVisiblePosition):
1447         * rendering/RenderTreeAsText.cpp:
1448         (WebCore::writeSelection):
1449
1450 2009-04-29  Eric Seidel  <eric@webkit.org>
1451
1452         No review, rolling out a patch.
1453
1454         Revert http://trac.webkit.org/changeset/43019
1455
1456         New tests failed because I removed the tabs from them
1457         when landing (since we avoid tabs in WebKit files).
1458         I couldn't tell if the new results were correct with
1459         spaces or not.
1460
1461         * editing/SelectionController.cpp:
1462         (WebCore::SelectionController::modifyExtendingForward):
1463         (WebCore::SelectionController::modifyMovingForward):
1464         (WebCore::SelectionController::modifyExtendingBackward):
1465         (WebCore::SelectionController::modifyMovingBackward):
1466         * editing/visible_units.cpp:
1467         * editing/visible_units.h:
1468
1469 2009-04-29  David Hyatt  <hyatt@apple.com>
1470
1471         Reviewed by Dan Bernstein.
1472
1473         Fix for <rdar://problem/6828164>, Mail hits the !root->needsLayout() assert because it re-marks the FrameView for layout
1474         when the FrameView is resized.  This bug was exposed by the elimination of the separate WebKit layout
1475         flag on Mac.  
1476         
1477         FrameView now defers setNeedsLayouts during size changes.  Once all of the size changes are finished (including re-entrant ones
1478         from WebDynamicScrollbarsView and ScrollView::updateScrollbars) we then do a layout if necessary.
1479
1480         * page/FrameView.cpp:
1481         (WebCore::FrameView::FrameView):
1482         (WebCore::FrameView::setContentsSize):
1483         (WebCore::FrameView::layout):
1484         (WebCore::FrameView::needsLayout):
1485         (WebCore::FrameView::setNeedsLayout):
1486         * page/FrameView.h:
1487
1488 2009-04-29  Eric Seidel  <eric@webkit.org>
1489
1490         No review, rolling out a patch.
1491
1492         Revert 43020 as it caused accessibility/lists.html to fail
1493         and no one is around to tell me if it's a progression or not.
1494
1495         * page/AccessibilityObject.h:
1496         (WebCore::):
1497         * page/AccessibilityRenderObject.cpp:
1498         (WebCore::AccessibilityRenderObject::roleValue):
1499         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1500         * page/mac/AccessibilityObjectWrapper.mm:
1501         (RoleEntry::):
1502
1503 2009-04-29  Sankar Aditya Tanguturi  <sankaraditya@gmail.com>
1504
1505         Reviewed by Jon Honeycutt.
1506
1507         Add a new accessibility role for list items. Part of
1508         http://bugs.webkit.org/show_id.cgi?id=20013
1509
1510         Tests: platform/win/accessibility/listitem-role.html
1511
1512         * page/AccessibilityObject.h:
1513         (WebCore::):  Add ListItemRole to accessibilityRole enum.
1514         * page/AccessibilityRenderObject.cpp:
1515         (WebCore::AccessibilityRenderObject::roleValue):Return
1516         listItemRole when rendered object is a list item.
1517         (WebCore::AccessibilityRenderObject::canSetFocusAttribute): Return
1518         true for ListItemRole, matching firefox.
1519         * page/mac/AccessibilityObjectWrapper.mm:
1520         (RoleEntry::): Map ListItemRole with NSAccessibilityGroupRole in
1521         MAC.
1522
1523 2009-04-29  Xiaomei Ji  <xji@chromium.org>
1524
1525         Reviewed by Dan Bernstein.
1526
1527         Fix https://bugs.webkit.org/show_bug.cgi?id=24168
1528         RTL: Home/End key does not behave correctly in mixed bidi text in RTL document
1529
1530         Test: editing/selection/home-end.html
1531
1532         * editing/SelectionController.cpp:
1533         (WebCore::SelectionController::modifyExtendingForward): Change calling endOfLine()
1534         to logicalEndOfLine() when granularity is LineBoundary.
1535         (WebCore::SelectionController::modifyMovingForward): Change calling endOfLine()
1536         to logicalEndOfLine() when granularity is LineBoundary
1537         (WebCore::SelectionController::modifyExtendingBackward): Change calling 
1538         startOfLine() to logicalStartOfLine() when granularity is LineBoundary.
1539         (WebCore::SelectionController::modifyMovingBackward): Change calling startOfLine() 
1540         to logicalStartOfLine() when granularity is LineBoundary.
1541         * editing/visible_units.cpp:
1542         (WebCore::getLeafBoxesInLogicalOrder): Added. Reconstruct leaf boxes in logical order.
1543         (WebCore::getLogicalStartBoxAndNode): Added.
1544         (WebCore::getLogicalEndBoxAndNode): Added.
1545         (WebCore::logicalStartPositionForLine): Added. Similar to startPositionForLine.
1546         (WebCore::logicalStartOfLine): Added. Similar to startOfLine.
1547         (WebCore::logicalEndPositionForLine): Added. Similar to endPositionForLine.
1548         (WebCore::inSameLogicalLine): Added.
1549         (WebCore::logicalEndOfLine): Added. Similar to endOfLine.
1550         * editing/visible_units.h:
1551
1552 2009-04-29  Mike Belshe  <mike@belshe.com>
1553
1554         Reviewed by Eric Seidel.
1555
1556         Update location while page is loading.
1557         https://bugs.webkit.org/show_bug.cgi?id=21597
1558
1559         Tested by:
1560         - fast/dom/location-new-window-no-crash
1561         - fast/dom/Window/window-open-pending-url
1562
1563         * page/Location.cpp:
1564
1565 2009-04-29  Feng Qian  <feng@chromium.org>
1566
1567         Reviewed by Darin Adler.
1568
1569         Add Android port files to WebCore/platform.
1570         https://bugs.webkit.org/show_bug.cgi?id=23296
1571
1572         * platform/android: Added.
1573         * platform/android/ClipboardAndroid.cpp: Added.
1574         * platform/android/ClipboardAndroid.h: Added.
1575
1576 2009-04-29  Feng Qian  <feng@chromium.org>
1577
1578         Reviewed by Darin Adler.
1579
1580         Add Android-specific files to the WebCore/page directory.
1581         https://bugs.webkit.org/show_bug.cgi?id=23295
1582
1583         * page/android: Added.
1584         * page/android/DragControllerAndroid.cpp: Added.
1585         * page/android/EventHandlerAndroid.cpp: Added.
1586         * page/android/InspectorControllerAndroid.cpp: Added.
1587
1588 2009-04-29  Pavel Feldman  <pfeldman@chromium.org>
1589
1590         Reviewed by Timothy Hatcher.
1591
1592         Extract PageGroupLoadDeferrer from Chrome.cpp
1593
1594         * GNUmakefile.am: added PageGroupLoadDeferrer
1595         * WebCore.pro: ditto
1596         * WebCore.scons: ditto
1597         * WebCore.vcproj/WebCore.vcproj: ditto
1598         * WebCore.xcodeproj/project.pbxproj: ditto
1599         * WebCoreSources.bkl: ditto
1600         * page/Chrome.cpp: PageGroupLoadDeferrer impl moved to a separate class.
1601         * page/PageGroupLoadDeferrer.cpp: Added.
1602         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1603         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1604         * page/PageGroupLoadDeferrer.h: Added.
1605
1606 2009-04-24  Ojan Vafai  <ojan@chromium.org>
1607
1608         Reviewed by Dan Bernstein.
1609
1610         Make textarea and text input metrics more closely match IEs.
1611
1612         This involves:
1613         -set text input width to size*avgCharWidth + maxCharWidth - avgCharWidth
1614         -set textarea width to cols*avgCharWidth
1615         -Make default CSS match IEs
1616         -Correctly initializing m_avgCharWidth and m_maxCharWidth for each platform and SVG.
1617
1618         Those values for textarea and inputs were derived by doing a ton of manual
1619         testing of IE's width values for various textareas and fonts. On Windows we match
1620         IE exactly except for a couple fonts of the ~12 tested.
1621
1622         To get the average and max character width of a font, we do the following
1623         for each platform:
1624         -Win: TextMetrics expose avgCharWidth and maxCharWidth
1625         -SVG: avgCharWidth = width of an '0', fallback on width of a space glyph, then m_xHeight
1626             maxCharWidth = width of a 'W' for roman fonts, fallback on m_ascent
1627         -Linux: avgCharWidth = width of an '0', fallback on m_xHeight
1628             maxCharWidth = max of avgCharWidth and m_ascent
1629         -Mac: Calculate the avgCharWidth and grab the maxCharWidth off the font.
1630             If either one is non-positive, then calculate the value using the Linux approach.
1631
1632         Tests: fast/forms/text-control-intrinsic-widths.html
1633                fast/forms/textarea-metrics.html
1634                svg/custom/svg-fonts-in-text-controls.html
1635
1636         * css/html4.css:
1637         * css/themeWin.css:
1638         * platform/graphics/SimpleFontData.cpp:
1639         (WebCore::SimpleFontData::SimpleFontData):
1640         (WebCore::SimpleFontData::initCharWidths):
1641         * platform/graphics/SimpleFontData.h:
1642         (WebCore::SimpleFontData::maxCharWidth):
1643         (WebCore::SimpleFontData::avgCharWidth):
1644         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1645         (WebCore::SimpleFontData::platformCharWidthInit):
1646         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1647         (WebCore::SimpleFontData::platformCharWidthInit):
1648         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
1649         (WebCore::SimpleFontData::platformCharWidthInit):
1650         * platform/graphics/gtk/SimpleFontDataPango.cpp:
1651         (WebCore::SimpleFontData::platformCharWidthInit):
1652         * platform/graphics/mac/SimpleFontDataMac.mm:
1653         (WebCore::SimpleFontData::platformCharWidthInit):
1654         * platform/graphics/qt/SimpleFontDataQt.cpp:
1655         (WebCore::SimpleFontData::platformCharWidthInit):
1656         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1657         (WebCore::SimpleFontData::platformCharWidthInit):
1658         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
1659         (WebCore::SimpleFontData::platformInit):
1660         (WebCore::SimpleFontData::platformCharWidthInit):
1661         * platform/graphics/win/SimpleFontDataWin.cpp:
1662         (WebCore::SimpleFontData::initGDIFont):
1663         * platform/graphics/wx/SimpleFontDataWx.cpp:
1664         (WebCore::SimpleFontData::platformCharWidthInit):
1665         * rendering/RenderTextControl.cpp:
1666         (WebCore::RenderTextControl::calcPrefWidths):
1667         * rendering/RenderTextControlMultiLine.cpp:
1668         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
1669         * rendering/RenderTextControlSingleLine.cpp:
1670         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
1671
1672 2009-04-29  Brady Eidson  <beidson@apple.com>
1673
1674         Reviewed by Darin Adler.
1675
1676         * bindings/objc/DOMCSS.mm:
1677         (kitClass):  Added CSS_INITIAL to the switch statement, and changed to use the WebCore
1678           type and not the binding type.
1679
1680 2009-04-29  John Abd-El-Malek  <jam@google.com>
1681
1682         Reviewed by Dimitri Glazkov.
1683
1684         Reverted my previous change to add resetChromiumPluginCache().
1685         https://bugs.webkit.org/show_bug.cgi?id=25318
1686
1687         * plugins/chromium/PluginDataChromium.cpp:
1688
1689 2009-04-29  Brady Eidson  <beidson@apple.com>
1690
1691         Reviewed by Darin Adler.
1692
1693         <rdar://problem/6573742> - Problem dragging standalone images from Safari to Mail
1694
1695         Roll out trac.webkit.org/changeset/35867 which fixed <rdar://problem/6153432>
1696
1697         Cloned <rdar://problem/6153432> to <rdar://problem/6839881> to find a better fix for that Tiger Mail bug.
1698
1699         * loader/DocumentLoader.cpp:
1700         (WebCore::DocumentLoader::subresource): Remove the preload referenced check.
1701
1702 2009-04-29  Alpha Lam  <hclam@chromium.org>
1703
1704         Reviewed by Dimitri Glazkov.
1705
1706         https://bugs.webkit.org/show_bug.cgi?id=25430
1707
1708         Provide style sheet for UI controls of media elements for Chromium port.
1709
1710         * rendering/RenderThemeChromiumWin.cpp:
1711         (WebCore::RenderThemeChromiumWin::extraMediaControlsStyleSheet):
1712
1713 2009-04-29  John Abd-El-Malek  <jam@chromium.org>
1714
1715         Reviewed by Darin Adler.
1716
1717         Expose sudden termination to Chromium port.
1718         https://bugs.webkit.org/show_bug.cgi?id=25457
1719
1720         * platform/SuddenTermination.h:
1721         * platform/chromium/ChromiumBridge.h:
1722         * platform/chromium/SuddenTerminationChromium.cpp: Added.
1723         (WebCore::disableSuddenTermination):
1724         (WebCore::enableSuddenTermination):
1725
1726 2009-04-29  Sam Weinig  <sam@webkit.org>
1727
1728         Reviewed by Dimitri Glazkov.
1729
1730         Remove unused EventListeners.
1731
1732         * page/DOMWindow.idl:
1733
1734 2009-04-29  Yury Semikhatsky  <yurys@chromium.org>
1735
1736         Reveal current execution line once SourceFrame content is loaded. 
1737
1738         https://bugs.webkit.org/show_bug.cgi?id=25448
1739
1740         Reviewed by Timothy Hatcher.
1741
1742         * inspector/front-end/SourceFrame.js:
1743         (WebInspector.SourceFrame.prototype._loaded):
1744
1745 2009-04-29  Ariya Hidayat  <ariya.hidayat@nokia.com>
1746
1747         Reviewed by Simon Fraser.
1748
1749         [Qt] Initialize GraphicsContext's and ImageBuffer's QPainter to match
1750         the default values of canvas attributes.
1751
1752         * platform/graphics/qt/ImageBufferQt.cpp:
1753         (WebCore::ImageBufferData::ImageBufferData):
1754
1755 2009-04-28  Simon Hausmann  <simon.hausmann@nokia.com>
1756
1757         Fix the Qt build.
1758
1759         * bridge/qt/qt_runtime.cpp:
1760         (JSC::Bindings::findMethodIndex): Removed exec param from at() call.
1761         (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
1762
1763 2009-04-28  Geoffrey Garen  <ggaren@apple.com>
1764
1765         Rubber stamped by Beth Dakin.
1766         
1767         Missed one.
1768
1769         * bindings/scripts/CodeGeneratorJS.pm:
1770
1771 2009-04-28  Geoffrey Garen  <ggaren@apple.com>
1772
1773         Rubber stamped by Beth Dakin.
1774         
1775         Removed scaffolding supporting dynamically converting between 32bit and
1776         64bit value representations. 
1777
1778         * bindings/js/JSAudioConstructor.cpp:
1779         (WebCore::constructAudio):
1780         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1781         (WebCore::JSCanvasRenderingContext2D::setFillColor):
1782         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
1783         (WebCore::JSCanvasRenderingContext2D::strokeRect):
1784         (WebCore::JSCanvasRenderingContext2D::drawImage):
1785         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
1786         (WebCore::JSCanvasRenderingContext2D::setShadow):
1787         (WebCore::JSCanvasRenderingContext2D::createPattern):
1788         (WebCore::JSCanvasRenderingContext2D::putImageData):
1789         (WebCore::JSCanvasRenderingContext2D::fillText):
1790         (WebCore::JSCanvasRenderingContext2D::strokeText):
1791         * bindings/js/JSClipboardCustom.cpp:
1792         (WebCore::JSClipboard::clearData):
1793         (WebCore::JSClipboard::getData):
1794         (WebCore::JSClipboard::setData):
1795         (WebCore::JSClipboard::setDragImage):
1796         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1797         (WebCore::JSDOMApplicationCache::hasItem):
1798         (WebCore::JSDOMApplicationCache::add):
1799         (WebCore::JSDOMApplicationCache::remove):
1800         (WebCore::JSDOMApplicationCache::addEventListener):
1801         (WebCore::JSDOMApplicationCache::removeEventListener):
1802         * bindings/js/JSDOMStringListCustom.cpp:
1803         (WebCore::JSDOMStringList::item):
1804         * bindings/js/JSDOMWindowCustom.cpp:
1805         (WebCore::JSDOMWindow::open):
1806         (WebCore::JSDOMWindow::showModalDialog):
1807         (WebCore::JSDOMWindow::postMessage):
1808         (WebCore::JSDOMWindow::setTimeout):
1809         (WebCore::JSDOMWindow::setInterval):
1810         (WebCore::JSDOMWindow::atob):
1811         (WebCore::JSDOMWindow::btoa):
1812         (WebCore::JSDOMWindow::addEventListener):
1813         (WebCore::JSDOMWindow::removeEventListener):
1814         * bindings/js/JSDatabaseCustom.cpp:
1815         (WebCore::JSDatabase::changeVersion):
1816         (WebCore::JSDatabase::transaction):
1817         * bindings/js/JSElementCustom.cpp:
1818         (WebCore::JSElement::setAttribute):
1819         (WebCore::JSElement::setAttributeNode):
1820         (WebCore::JSElement::setAttributeNS):
1821         (WebCore::JSElement::setAttributeNodeNS):
1822         * bindings/js/JSGeolocationCustom.cpp:
1823         (WebCore::JSGeolocation::getCurrentPosition):
1824         (WebCore::JSGeolocation::watchPosition):
1825         * bindings/js/JSHTMLCollectionCustom.cpp:
1826         (WebCore::callHTMLCollection):
1827         (WebCore::JSHTMLCollection::item):
1828         (WebCore::JSHTMLCollection::namedItem):
1829         * bindings/js/JSHTMLDocumentCustom.cpp:
1830         (WebCore::documentWrite):
1831         * bindings/js/JSHTMLInputElementCustom.cpp:
1832         (WebCore::JSHTMLInputElement::setSelectionRange):
1833         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1834         (WebCore::JSHTMLOptionsCollection::add):
1835         * bindings/js/JSHTMLSelectElementCustom.cpp:
1836         (WebCore::JSHTMLSelectElement::remove):
1837         * bindings/js/JSImageConstructor.cpp:
1838         (WebCore::constructImage):
1839         * bindings/js/JSInspectorControllerCustom.cpp:
1840         (WebCore::JSInspectorController::highlightDOMNode):
1841         (WebCore::JSInspectorController::addResourceSourceToFrame):
1842         (WebCore::JSInspectorController::addSourceToFrame):
1843         (WebCore::JSInspectorController::getResourceDocumentNode):
1844         (WebCore::JSInspectorController::search):
1845         (WebCore::JSInspectorController::databaseTableNames):
1846         (WebCore::JSInspectorController::setting):
1847         (WebCore::JSInspectorController::setSetting):
1848         (WebCore::JSInspectorController::wrapCallback):
1849         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1850         (WebCore::JSJavaScriptCallFrame::evaluate):
1851         * bindings/js/JSLocationCustom.cpp:
1852         (WebCore::JSLocation::replace):
1853         (WebCore::JSLocation::assign):
1854         * bindings/js/JSMessagePortCustom.cpp:
1855         (WebCore::JSMessagePort::startConversation):
1856         (WebCore::JSMessagePort::addEventListener):
1857         (WebCore::JSMessagePort::removeEventListener):
1858         * bindings/js/JSNodeCustom.cpp:
1859         (WebCore::JSNode::insertBefore):
1860         (WebCore::JSNode::replaceChild):
1861         (WebCore::JSNode::removeChild):
1862         (WebCore::JSNode::appendChild):
1863         (WebCore::JSNode::addEventListener):
1864         (WebCore::JSNode::removeEventListener):
1865         * bindings/js/JSNodeFilterCustom.cpp:
1866         (WebCore::JSNodeFilter::acceptNode):
1867         * bindings/js/JSNodeListCustom.cpp:
1868         (WebCore::callNodeList):
1869         * bindings/js/JSOptionConstructor.cpp:
1870         (WebCore::constructHTMLOptionElement):
1871         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1872         (WebCore::JSQuarantinedObjectWrapper::construct):
1873         (WebCore::JSQuarantinedObjectWrapper::call):
1874         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1875         (WebCore::JSSQLResultSetRowList::item):
1876         * bindings/js/JSSQLTransactionCustom.cpp:
1877         (WebCore::JSSQLTransaction::executeSql):
1878         * bindings/js/JSSVGElementInstanceCustom.cpp:
1879         (WebCore::JSSVGElementInstance::addEventListener):
1880         (WebCore::JSSVGElementInstance::removeEventListener):
1881         * bindings/js/JSSVGLengthCustom.cpp:
1882         (WebCore::JSSVGLength::convertToSpecifiedUnits):
1883         * bindings/js/JSSVGMatrixCustom.cpp:
1884         (WebCore::JSSVGMatrix::rotateFromVector):
1885         * bindings/js/JSSVGPathSegListCustom.cpp:
1886         (WebCore::JSSVGPathSegList::initialize):
1887         (WebCore::JSSVGPathSegList::getItem):
1888         (WebCore::JSSVGPathSegList::insertItemBefore):
1889         (WebCore::JSSVGPathSegList::replaceItem):
1890         (WebCore::JSSVGPathSegList::removeItem):
1891         (WebCore::JSSVGPathSegList::appendItem):
1892         * bindings/js/JSSVGPointListCustom.cpp:
1893         (WebCore::JSSVGPointList::initialize):
1894         (WebCore::JSSVGPointList::getItem):
1895         (WebCore::JSSVGPointList::insertItemBefore):
1896         (WebCore::JSSVGPointList::replaceItem):
1897         (WebCore::JSSVGPointList::removeItem):
1898         (WebCore::JSSVGPointList::appendItem):
1899         * bindings/js/JSSVGTransformListCustom.cpp:
1900         (WebCore::JSSVGTransformList::initialize):
1901         (WebCore::JSSVGTransformList::getItem):
1902         (WebCore::JSSVGTransformList::insertItemBefore):
1903         (WebCore::JSSVGTransformList::replaceItem):
1904         (WebCore::JSSVGTransformList::removeItem):
1905         (WebCore::JSSVGTransformList::appendItem):
1906         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
1907         (WebCore::constructWebKitCSSMatrix):
1908         * bindings/js/JSWebKitPointConstructor.cpp:
1909         (WebCore::constructWebKitPoint):
1910         * bindings/js/JSWorkerConstructor.cpp:
1911         (WebCore::constructWorker):
1912         * bindings/js/JSWorkerContextCustom.cpp:
1913         (WebCore::JSWorkerContext::importScripts):
1914         (WebCore::JSWorkerContext::addEventListener):
1915         (WebCore::JSWorkerContext::removeEventListener):
1916         (WebCore::JSWorkerContext::setTimeout):
1917         (WebCore::JSWorkerContext::setInterval):
1918         * bindings/js/JSWorkerCustom.cpp:
1919         (WebCore::JSWorker::addEventListener):
1920         (WebCore::JSWorker::removeEventListener):
1921         * bindings/js/JSXMLHttpRequestCustom.cpp:
1922         (WebCore::JSXMLHttpRequest::open):
1923         (WebCore::JSXMLHttpRequest::setRequestHeader):
1924         (WebCore::JSXMLHttpRequest::send):
1925         (WebCore::JSXMLHttpRequest::getResponseHeader):
1926         (WebCore::JSXMLHttpRequest::overrideMimeType):
1927         (WebCore::JSXMLHttpRequest::addEventListener):
1928         (WebCore::JSXMLHttpRequest::removeEventListener):
1929         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1930         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1931         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1932         * bindings/js/JSXSLTProcessorCustom.cpp:
1933         (WebCore::JSXSLTProcessor::importStylesheet):
1934         (WebCore::JSXSLTProcessor::transformToFragment):
1935         (WebCore::JSXSLTProcessor::transformToDocument):
1936         (WebCore::JSXSLTProcessor::setParameter):
1937         (WebCore::JSXSLTProcessor::getParameter):
1938         (WebCore::JSXSLTProcessor::removeParameter):
1939         * bindings/js/ScheduledAction.cpp:
1940         (WebCore::ScheduledAction::create):
1941         (WebCore::ScheduledAction::ScheduledAction):
1942         * bindings/js/ScheduledAction.h:
1943         * bindings/js/ScriptCallFrame.cpp:
1944         (WebCore::ScriptCallFrame::ScriptCallFrame):
1945         * bindings/js/ScriptCallFrame.h:
1946         * bindings/js/ScriptCallStack.cpp:
1947         (WebCore::ScriptCallStack::ScriptCallStack):
1948         (WebCore::ScriptCallStack::initialize):
1949         * bridge/c/c_instance.cpp:
1950         (JSC::Bindings::CInstance::invokeMethod):
1951         (JSC::Bindings::CInstance::invokeDefaultMethod):
1952         (JSC::Bindings::CInstance::invokeConstruct):
1953         * bridge/jni/jni_instance.cpp:
1954         (JavaInstance::invokeMethod):
1955         * bridge/objc/objc_instance.mm:
1956         (ObjcInstance::invokeMethod):
1957         (ObjcInstance::invokeDefaultMethod):
1958
1959 2009-04-28  David Carson  <dacarson@apple.com>
1960
1961         Reviewed by David Hyatt.
1962
1963         Restore alignment to device pixel boundaries.
1964         https://bugs.webkit.org/show_bug.cgi?id=25458
1965
1966         Adjust the adjusted destination rect to be device pixel aligned.
1967
1968         * platform/graphics/cg/ImageCG.cpp:
1969         (WebCore::BitmapImage::draw):
1970
1971 2009-04-28  Sam Weinig  <sam@webkit.org>
1972
1973         Reviewed by Anders Carlsson.
1974
1975         Move unimplemented captureEvents and releaseEvents from JSDOMWindow
1976         to DOMWindow.
1977
1978         * bindings/js/JSDOMWindowCustom.cpp:
1979         * page/DOMWindow.cpp:
1980         (WebCore::DOMWindow::captureEvents):
1981         (WebCore::DOMWindow::releaseEvents):
1982         * page/DOMWindow.h:
1983         * page/DOMWindow.idl:
1984
1985 2009-04-28  Alexey Proskuryakov  <ap@webkit.org>
1986
1987         Reviewed by Darin Adler.
1988
1989         https://bugs.webkit.org/show_bug.cgi?id=25420
1990         <rdar://problem/6829570> REGRESSION: XMLHttpRequest allows loading from another origin
1991
1992         Test: http/tests/xmlhttprequest/detaching-frame-2.html
1993
1994         This was caused by faulty DOMWindow::document(), which could return a new document from
1995         the window's frame after navigation.
1996
1997         * bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
1998         Removed an obsolete check that allowed access when document was null. Contrary to what a
1999         comment said, that can happen for a window that is no longer in frame, not to one whose
2000         document is not constructed yet.
2001
2002         * bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::constructXMLHttpRequest): Bail
2003         out if context was not found. This currently happens due to a shortcoming in
2004         DOMWindow::document() - when it is fixed, the XMLHttpRequest object in included regression
2005         test will be constructed successfully, but won't be sent, because its context will be
2006         frameless.
2007
2008         * page/DOMWindow.cpp: (WebCore::DOMWindow::document): Check that the window in frame hasn't
2009         been replaced yet. Added FIXME comments about how this may be better fixed in the future.
2010
2011         * bindings/js/JSAudioConstructor.cpp:
2012         (WebCore::JSAudioConstructor::document):
2013         (WebCore::constructAudio):
2014         * bindings/js/JSImageConstructor.cpp:
2015         (WebCore::JSImageConstructor::document):
2016         (WebCore::constructImage):
2017         * bindings/js/JSMessageChannelConstructor.cpp:
2018         (WebCore::JSMessageChannelConstructor::construct):
2019         * bindings/js/JSOptionConstructor.cpp:
2020         (WebCore::JSOptionConstructor::document):
2021         (WebCore::constructHTMLOptionElement):
2022         Make matching changes to other constructors that hold a reference to global object.
2023
2024 2009-04-28  Kevin Ollivier <kevino@theolliviers.com>
2025
2026         wxMSW build fix. Switch JSCore build back to static.
2027
2028         * config.h:
2029
2030 2009-04-28  Pierre d'Herbemont  <pdherbemont@apple.com>
2031
2032         Reviewed by Simon Fraser.
2033
2034         <rdar://problem/6834830>
2035
2036         Make sure we cover the two possible values reported by event.total that are playback engine
2037         specific.
2038
2039         * media/progress-event-total-expected.txt: Match the new test.
2040         * media/progress-event-total.html: Test the two values.
2041
2042 2009-04-28  Timothy Hatcher  <timothy@apple.com>
2043
2044         Rename -[DOMRange lineBoxRects] to -[DOMRange textRects] and change how it
2045         collects the individual rects, making sure to only include RenderText.
2046
2047         <rdar://problem/6810061>
2048
2049         Reviewed by Sam Weinig.
2050
2051         * bindings/objc/DOM.mm:
2052         (-[DOMNode textRects]): Added. Make a Range and call textRects.
2053         (-[DOMNode lineBoxRects]): Call textRects method.
2054         (-[DOMRange textRects]): Call Range::textRects.
2055         (-[DOMRange lineBoxRects]): Call textRects method.
2056         * bindings/objc/DOMPrivate.h: Add the new methods and a comment
2057         about lineBoxRects being deprecated.
2058         * dom/Range.cpp:
2059         (WebCore::Range::boundingBox): Call textRects (renamed from addLineBoxRects).
2060         (WebCore::Range::textRects): Renamed from addLineBoxRects. Iterate over the
2061         nodes instead of the RenderObjects to correctly account for offsets. Also
2062         only call absoluteRectsForRange on RenderText.
2063         * dom/Range.h: Renamed addLineBoxRects to textRects.
2064         * page/Frame.cpp:
2065         (WebCore::Frame::selectionTextRects): Call textRects (renamed from addLineBoxRects).
2066         * rendering/RenderObject.cpp:
2067         (WebCore::RenderObject::absoluteRectsForRange): Remove if conditions that made this
2068         function very specific for the lineBoxRects API. These functions are still used
2069         by the InspectorController, and this change improves what the Inspector shows.
2070         (WebCore::RenderObject::absoluteQuadsForRange): Ditto.
2071
2072 2009-04-28  Timothy Hatcher  <timothy@apple.com>
2073
2074         Remove the topLevel boolean argument from absolute{Rects,Quads}.
2075         This argument was default to true and no one ever passed false.
2076
2077         Reviewed by Sam Weinig.
2078
2079         * rendering/RenderBlock.cpp:
2080         (WebCore::RenderBlock::absoluteRects):
2081         (WebCore::RenderBlock::absoluteQuads):
2082         * rendering/RenderBlock.h:
2083         * rendering/RenderBox.cpp:
2084         (WebCore::RenderBox::absoluteRects):
2085         (WebCore::RenderBox::absoluteQuads):
2086         * rendering/RenderBox.h:
2087         * rendering/RenderInline.cpp:
2088         (WebCore::RenderInline::absoluteRects):
2089         (WebCore::RenderInline::absoluteQuads):
2090         * rendering/RenderInline.h:
2091         * rendering/RenderObject.h:
2092         (WebCore::RenderObject::absoluteRects):
2093         (WebCore::RenderObject::absoluteQuads):
2094         * rendering/RenderSVGHiddenContainer.cpp:
2095         (WebCore::RenderSVGHiddenContainer::absoluteRects):
2096         (WebCore::RenderSVGHiddenContainer::absoluteQuads):
2097         * rendering/RenderSVGHiddenContainer.h:
2098         * rendering/RenderSVGImage.cpp:
2099         (WebCore::RenderSVGImage::absoluteRects):
2100         (WebCore::RenderSVGImage::absoluteQuads):
2101         * rendering/RenderSVGImage.h:
2102         * rendering/RenderSVGInlineText.cpp:
2103         (WebCore::RenderSVGInlineText::absoluteRects):
2104         (WebCore::RenderSVGInlineText::absoluteQuads):
2105         * rendering/RenderSVGInlineText.h:
2106         * rendering/RenderSVGModelObject.cpp:
2107         (WebCore::RenderSVGModelObject::absoluteRects):
2108         (WebCore::RenderSVGModelObject::absoluteQuads):
2109         * rendering/RenderSVGModelObject.h:
2110         * rendering/RenderSVGTSpan.cpp:
2111         (WebCore::RenderSVGTSpan::absoluteRects):
2112         (WebCore::RenderSVGTSpan::absoluteQuads):
2113         * rendering/RenderSVGTSpan.h:
2114         * rendering/RenderSVGText.cpp:
2115         (WebCore::RenderSVGText::absoluteRects):
2116         (WebCore::RenderSVGText::absoluteQuads):
2117         * rendering/RenderSVGText.h:
2118         * rendering/RenderSVGTextPath.cpp:
2119         (WebCore::RenderSVGTextPath::absoluteQuads):
2120         * rendering/RenderSVGTextPath.h:
2121         * rendering/RenderText.cpp:
2122         (WebCore::RenderText::absoluteRects):
2123         * rendering/RenderText.h:
2124         * rendering/RenderView.cpp:
2125         (WebCore::RenderView::absoluteRects):
2126         (WebCore::RenderView::absoluteQuads):
2127         * rendering/RenderView.h:
2128
2129 2009-04-28  Eric Carlson  <eric.carlson@apple.com>
2130
2131         Reviewed by Simon Fraser.
2132
2133         <rdar://problem/6794691> Media documents and <video controls> never show controls on Windows
2134
2135         RenderThemeWin doesn't implement the media element controller rendering methods, so media
2136         controls stopped rendering when we switched from RenderThemeSafari. Rather than having copies
2137         of the code in both places, the logic is in a new class that is called from both.
2138
2139         * WebCore.vcproj/WebCore.vcproj: Add RenderMediaControls.cpp.
2140
2141         * rendering/RenderMediaControls.cpp: Added.
2142         (WebCore::determineState): Translate renderer state to ThemeControlState.
2143         (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): Adjust slider thumb.
2144         (WebCore::parentMediaElement): Return the HTMLMediaElement parent of a controller element.
2145         (WebCore::RenderMediaControls::paintMediaControlsPart): Paint a media controller part.
2146         * rendering/RenderMediaControls.h: Added.
2147
2148         * rendering/RenderThemeSafari.cpp:
2149         (WebCore::RenderThemeSafari::paintSliderTrack): Remove the MediaSliderPart case, it is never
2150         called for the media slider.
2151         (WebCore::RenderThemeSafari::adjustSliderThumbSize): Call RenderMediaControls function.
2152         (WebCore::RenderThemeSafari::paintMediaFullscreenButton): Ditto.
2153         (WebCore::RenderThemeSafari::paintMediaMuteButton): Ditto.
2154         (WebCore::RenderThemeSafari::paintMediaPlayButton): Ditto.
2155         (WebCore::RenderThemeSafari::paintMediaSeekBackButton): Ditto.
2156         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): Ditto.
2157         (WebCore::RenderThemeSafari::paintMediaSliderTrack): Ditto.
2158         (WebCore::RenderThemeSafari::paintMediaSliderThumb): Ditto.
2159
2160         * rendering/RenderThemeWin.cpp:
2161         (WebCore::RenderThemeWin::adjustSliderThumbSize): Ditto.
2162         (WebCore::RenderThemeWin::paintMediaFullscreenButton): Ditto.
2163         (WebCore::RenderThemeWin::paintMediaMuteButton): Ditto.
2164         (WebCore::RenderThemeWin::paintMediaPlayButton): Ditto.
2165         (WebCore::RenderThemeWin::paintMediaSeekBackButton): Ditto.
2166         (WebCore::RenderThemeWin::paintMediaSeekForwardButton): Ditto.
2167         (WebCore::RenderThemeWin::paintMediaSliderTrack): Ditto.
2168         (WebCore::RenderThemeWin::paintMediaSliderThumb): Ditto.
2169         * rendering/RenderThemeWin.h:
2170
2171 2009-04-28  Beth Dakin  <bdakin@apple.com>
2172
2173         Reviewed by Sam Weinig.
2174
2175         Fix for <rdar://problem/6419515> REGRESSION (r31037): Positioned 
2176         images with % height are collapsed when printing
2177
2178         * rendering/RenderBox.cpp:
2179         (WebCore::RenderBox::calcHeight): Make sure we don't ignore 
2180         printing here!
2181
2182 2009-04-28  Adele Peterson  <adele@apple.com>
2183
2184         Reviewed by Darin Adler.
2185
2186         Fix for <rdar://problem/6617298> Typing delete on an unquoted blank line unquotes the preceding, quoted blank line
2187
2188         Test: editing/deleting/type-delete-after-quote.html
2189
2190         When a selection is deleted that contains a whole number paragraphs plus a line break, we refrain from merging paragraphs after the delete,
2191         since it is unclear to most users that such a selection actually ends at the start of the next paragraph.  However, when a user hits delete 
2192         with a caret selection, they actually do expect the start of that paragraph to be merged into the paragraph before it.  We can tell that 
2193         we're in this state because the TypingCommand creates the selection to delete but it doesn't change the endingSelection.  So we can tell
2194         that if we started with a caret selection, then we're not in this special case where we have to protect the user from unexpected behavior 
2195         from deleting a range they selected.
2196
2197         * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::initializePositionData):
2198
2199 2009-04-28  Xan Lopez  <xlopez@igalia.com>
2200
2201         Unreviewed: fix distcheck build, add missing header to file list.
2202
2203         * GNUmakefile.am:
2204
2205 2009-04-27  Eric Seidel  <eric@webkit.org>
2206
2207         Reviewed by Sam Weinig.
2208
2209         Fix foreignObject transform order
2210         https://bugs.webkit.org/show_bug.cgi?id=25433
2211
2212         Transforms were being applied in the wrong order.
2213         When mapping from local to parent, first apply the viewport transform
2214         then map from the viewport box to the parent box.
2215
2216         * rendering/RenderForeignObject.cpp:
2217         (WebCore::RenderForeignObject::localToParentTransform):
2218
2219 2009-04-27  Eric Seidel  <eric@webkit.org>
2220
2221         Reviewed by Simon Fraser.
2222
2223         Simplify nodeAtPoint for SVG
2224         https://bugs.webkit.org/show_bug.cgi?id=25432
2225
2226         Added a new nodeAtFloatPoint method which takes a FloatPoint
2227         instead of the *super confusing* x/y tx/ty pairs that HTML uses.
2228         Mostly this is just lots of minus-lines as the new code is *much* simpler.
2229
2230         I made all the SVG renderers use the new nodeAtFloatPoint and ASSERT_NOT_REACHED
2231         for the nodeAtPoint HTML/CSS int x/y version.
2232
2233         Eventually the rest of CSS/HTML render objects will follow suit
2234         and move to nodeAtFloatPoint (possibly renamed back to nodeAtPoint), but changing them
2235         over was well outside the scope of this change.
2236
2237         SVG hit testing is not actually floating point precise yet, since its still
2238         passed in an integer x/y.  Certain transform hit-test edge cases are likely fixed
2239         by moving to FloatPoint here, but I didn't try to find one.
2240
2241         This should not cause functional changes for common-case hit testing, thus
2242         no tests changed, nor should new tests be needed.
2243
2244         * rendering/RenderForeignObject.cpp:
2245         (WebCore::RenderForeignObject::translationForAttributes):
2246         (WebCore::RenderForeignObject::paint):
2247         (WebCore::RenderForeignObject::computeRectForRepaint):
2248         (WebCore::RenderForeignObject::localToParentTransform):
2249         (WebCore::RenderForeignObject::layout):
2250         (WebCore::RenderForeignObject::nodeAtFloatPoint):
2251         * rendering/RenderForeignObject.h:
2252         * rendering/RenderObject.cpp:
2253         (WebCore::RenderObject::nodeAtFloatPoint):
2254         * rendering/RenderObject.h:
2255         * rendering/RenderPath.cpp:
2256         (WebCore::RenderPath::nodeAtFloatPoint):
2257         * rendering/RenderPath.h:
2258         * rendering/RenderSVGContainer.cpp:
2259         (WebCore::RenderSVGContainer::nodeAtFloatPoint):
2260         * rendering/RenderSVGContainer.h:
2261         (WebCore::RenderSVGContainer::pointIsInsideViewportClip):
2262         * rendering/RenderSVGHiddenContainer.cpp:
2263         (WebCore::RenderSVGHiddenContainer::nodeAtFloatPoint):
2264         * rendering/RenderSVGHiddenContainer.h:
2265         * rendering/RenderSVGImage.cpp:
2266         (WebCore::RenderSVGImage::paint):
2267         (WebCore::RenderSVGImage::nodeAtFloatPoint):
2268         * rendering/RenderSVGImage.h:
2269         (WebCore::RenderSVGImage::localToParentTransform):
2270         (WebCore::RenderSVGImage::localTransform):
2271         * rendering/RenderSVGModelObject.cpp:
2272         (WebCore::RenderSVGModelObject::nodeAtFloatPoint):
2273         * rendering/RenderSVGModelObject.h:
2274         * rendering/RenderSVGRoot.cpp:
2275         (WebCore::RenderSVGRoot::nodeAtFloatPoint):
2276         * rendering/RenderSVGText.cpp:
2277         (WebCore::RenderSVGText::nodeAtFloatPoint):
2278         * rendering/RenderSVGText.h:
2279         * rendering/RenderSVGViewportContainer.cpp:
2280         (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip):
2281         * rendering/RenderSVGViewportContainer.h:
2282
2283 2009-04-28  Eric Carlson  <eric.carlson@apple.com>
2284
2285         - fix the Tiger build
2286
2287         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2288         (WebCore::MediaPlayerPrivate::cacheMovieScale):
2289
2290 2009-04-28  Sam Weinig  <sam@webkit.org>
2291
2292         Reviewed by Beth Dakin.
2293
2294         Consolidate ScheduleAction creation into ScheduledAction::create.
2295         Autogenerate JSWorkerContext.clearTimeout and clearInterval.
2296
2297         * bindings/js/JSDOMWindowCustom.cpp:
2298         (WebCore::JSDOMWindow::setTimeout):
2299         (WebCore::JSDOMWindow::setInterval):
2300         * bindings/js/JSWorkerContextCustom.cpp:
2301         (WebCore::JSWorkerContext::setTimeout):
2302         (WebCore::JSWorkerContext::setInterval):
2303         * bindings/js/ScheduledAction.cpp:
2304         (WebCore::ScheduledAction::create):
2305         (WebCore::ScheduledAction::ScheduledAction):
2306         (WebCore::ScheduledAction::execute):
2307         * bindings/js/ScheduledAction.h:
2308         * workers/WorkerContext.cpp:
2309         (WebCore::DOMWindow::setTimeout):
2310         (WebCore::DOMWindow::clearTimeout):
2311         (WebCore::DOMWindow::setInterval):
2312         (WebCore::DOMWindow::clearInterval):
2313         * workers/WorkerContext.h:
2314         * workers/WorkerContext.idl:
2315
2316 2009-04-28  Brady Eidson  <beidson@apple.com>
2317
2318         Reviewed by Darin Adler
2319
2320         <rdar://problem/6643219> Crashes after moving nodes between documents with Safari 4 Beta installed
2321
2322         When moving Nodes between documents we weren't properly updating style declarations.  Certain operations, such
2323         as creating webarchives, would tickle this bug.
2324
2325         Tests: webarchive/adopt-attribute-styled-body-webarchive.html
2326                webarchive/adopt-attribute-styled-node-webarchive.html
2327                webarchive/adopt-inline-styled-node-webarchive.html
2328
2329         * dom/Node.cpp:  Add a debug-only mechanism to insure that anyone who overrides (did/will)MoveToNewOwnerDocument
2330           calls their parent-class implementation after they've done their own work.
2331         (WebCore::setWillMoveToNewOwnerDocumentWasCalled): 
2332         (WebCore::setDidMoveToNewOwnerDocumentWasCalled):
2333         (WebCore::Node::setDocument):
2334         (WebCore::Node::willMoveToNewOwnerDocument):
2335         (WebCore::Node::didMoveToNewOwnerDocument):
2336
2337         * dom/StyledElement.cpp:
2338         (WebCore::StyledElement::attributeChanged): Add a comment explaining why we don't need to walk the nameAttrMap
2339           to update style declarations.
2340         (WebCore::StyledElement::didMoveToNewOwnerDocument): Update the parent pointer for the inline style declaration.
2341         * dom/StyledElement.h:
2342
2343         * html/HTMLBodyElement.cpp:
2344         (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument): Update the parent pointer for the link declaration.
2345         * html/HTMLBodyElement.h:
2346
2347 2009-04-28  Eric Carlson  <eric.carlson@apple.com>
2348
2349          Reviewed by Darin Adler.
2350         
2351         <rdar://problem/6834876> Don't use BlockExceptions macros until QTKit supports 
2352         QTMoviePreferredTransformAttribute
2353
2354         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2355         (WebCore::MediaPlayerPrivate::cacheMovieScale): use @try and @catch instead of 
2356         BEGIN_BLOCK_OBJC_EXCEPTIONS and END_BLOCK_OBJC_EXCEPTIONS for builds of QTKit 
2357         that throw an exception on QTMovieCurrentSizeAttribute but don't support 
2358         QTMoviePreferredTransformAttribute
2359
2360 2009-04-28  Darin Adler  <darin@apple.com>
2361
2362         Reviewed by Sam Weinig.
2363
2364         * rendering/RenderText.cpp:
2365         (WebCore::RenderText::RenderText): Streamline code path to avoid a bit of reference count
2366         churn and remove a strange unneeeded PassRefPtr typecast. Also added a comment.
2367         (WebCore::RenderText::setTextInternal): Ditto.
2368
2369 2009-04-27  Eric Seidel  <eric@webkit.org>
2370
2371         Reviewed by Simon Fraser.
2372
2373         Simplify how SVG containers paint
2374         https://bugs.webkit.org/show_bug.cgi?id=25431
2375
2376         Moved filterBoundingBox() from RenderSVGModelObject to SVGRenderSupport to share with other classes.
2377         Gave RenderSVGText a modern clippedOverflowRectForRepaint and computeRectForRepaint.
2378         RenderSVGText now applies transforms at paint() time instead of during chunk draw time
2379         this should be much more efficient.
2380
2381         Fixed the order in which RenderSVGViewportContainer applied
2382         transforms and clips.  We now clip to the viewport first and apply
2383         all transforms at once.  Also since the viewport logic is now only
2384         inside RenderSVGViewportContainer (instead of inside RenderSVGContainer)
2385         we always know we have a viewport.  We now use only viewportSize instead of
2386         viewport() since RenderSVGViewportContainers can't have x/y offsets.
2387
2388         We now correctly transform the PaintInfo::rect (damage rect) when applying transforms.
2389         This allowed us to apply the transform during text paint() instead of at chunk paint
2390         time. Previously we had to apply the transform during chunk paint time because
2391         RenderBlock (superclass of RenderSVGBlock) would check intersection with the damageRect
2392         before telling any of the inlines to draw.  Now that we adjust the damage rect correctly
2393         we pass the intersection check correctly!  (This probably fixed some <text> redraw bugs
2394         but since I still have a bunch of those to fix, I've not tried to write additional tests
2395         to cover these potential fixes yet.)
2396
2397         SVGRootInlineBox no longer needs to deal with transforms at chunk paint time, yay!
2398
2399         * rendering/RenderPath.cpp:
2400         (WebCore::RenderPath::repaintRectInLocalCoordinates):
2401         (WebCore::RenderPath::paint):
2402         * rendering/RenderSVGContainer.cpp:
2403         (WebCore::RenderSVGContainer::paint):
2404         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
2405         * rendering/RenderSVGContainer.h:
2406         (WebCore::RenderSVGContainer::applyViewportClip):
2407         * rendering/RenderSVGImage.cpp:
2408         (WebCore::RenderSVGImage::layout):
2409         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
2410         (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
2411         (WebCore::RenderSVGImage::computeRectForRepaint):
2412         * rendering/RenderSVGImage.h:
2413         * rendering/RenderSVGModelObject.cpp:
2414         * rendering/RenderSVGModelObject.h:
2415         * rendering/RenderSVGRoot.cpp:
2416         (WebCore::RenderSVGRoot::layout):
2417         (WebCore::RenderSVGRoot::selfWillPaint):
2418         (WebCore::RenderSVGRoot::paint):
2419         (WebCore::RenderSVGRoot::viewportSize):
2420         (WebCore::RenderSVGRoot::calcViewport):
2421         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
2422         (WebCore::RenderSVGRoot::parentOriginToBorderBox):
2423         (WebCore::RenderSVGRoot::borderOriginToContentBox):
2424         (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
2425         (WebCore::RenderSVGRoot::localToParentTransform):
2426         (WebCore::RenderSVGRoot::computeRectForRepaint):
2427         (WebCore::RenderSVGRoot::nodeAtPoint):
2428         * rendering/RenderSVGRoot.h:
2429         * rendering/RenderSVGText.cpp:
2430         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
2431         (WebCore::RenderSVGText::computeRectForRepaint):
2432         (WebCore::RenderSVGText::paint):
2433         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
2434         * rendering/RenderSVGText.h:
2435         (WebCore::RenderSVGText::localToParentTransform):
2436         (WebCore::RenderSVGText::localTransform):
2437         * rendering/RenderSVGViewportContainer.cpp:
2438         (WebCore::RenderSVGViewportContainer::applyViewportClip):
2439         * rendering/RenderSVGViewportContainer.h:
2440         * rendering/SVGRenderSupport.cpp:
2441         (WebCore::filterBoundingBoxForRenderer):
2442         (WebCore::applyTransformToPaintInfo):
2443         * rendering/SVGRenderSupport.h:
2444         * rendering/SVGRootInlineBox.cpp:
2445         (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
2446         (WebCore::SVGRootInlineBox::paint):
2447
2448 2009-04-28  Chris Fleizach  <cfleizach@apple.com>
2449
2450         Reviewed by Darin Adler.
2451
2452         Bug 25453: AX: fall back to PLACEHOLDER attr if form element is not labeled
2453         https://bugs.webkit.org/show_bug.cgi?id=25453
2454
2455         Test: accessibility/placeholder.html
2456
2457         * page/AccessibilityRenderObject.cpp:
2458         (WebCore::AccessibilityRenderObject::title):
2459
2460 2009-04-28  Chris Fleizach  <cfleizach@apple.com>
2461
2462         Reviewed by Darin Adler.
2463
2464         Bug 25452: AX: Don't create addition space AXStaticText element for every bold or link tag
2465         https://bugs.webkit.org/show_bug.cgi?id=25452
2466
2467         Test: accessibility/ignore-spacer-elements.html
2468
2469         * page/AccessibilityRenderObject.cpp:
2470         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2471
2472 2009-04-28  Mark Rowe  <mrowe@apple.com>
2473
2474         Reviewed by Sam Weinig.
2475
2476         Work around <rdar://problem/6833240> by relying on static initialization to zero the entire struct.
2477         This removes the need for us to explicitly initialize all of the members, which have a tendency
2478         to change in meaning and number between versions of libxml2.
2479
2480         * dom/XMLTokenizerLibxml2.cpp:
2481         (WebCore::):
2482         (WebCore::sharedXHTMLEntity):
2483         (WebCore::getXHTMLEntity):
2484
2485 2009-04-28  Steve Falkenburg  <sfalken@apple.com>
2486
2487         Fix linker warning by specifying /NODEFAULTLIB:LIBCMT for QTMovieWin.
2488         
2489         Reviewed by Mark Rowe.
2490
2491         * WebCore.vcproj/QTMovieWin.vcproj:
2492
2493 2009-04-28  Chris Fleizach  <cfleizach@apple.com>
2494
2495         Reviewed by Darin Adler.
2496
2497         Bug 25449: AX: Respect the alt tag of ARIA button as AXDescription
2498         https://bugs.webkit.org/show_bug.cgi?id=25449
2499
2500         Test: accessibility/img-aria-button-alt-tag.html
2501
2502         * page/AccessibilityRenderObject.cpp:
2503         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2504
2505 2009-04-28  Dan Bernstein  <mitz@apple.com>
2506
2507         Reviewed by John Sullivan.
2508
2509         - formatting cleanup
2510
2511         * rendering/RenderBox.cpp:
2512         (WebCore::RenderBox::calcHeight): Corrected indentation and added braces
2513         around a multi-line "else" clause.
2514
2515 2009-04-28  Eric Carlson  <eric.carlson@apple.com>
2516
2517         Reviewed by Adam Roben
2518         
2519         <rdar://problem/6769968> media/video-size-intrinsic-scale.html fails on Windows
2520         https://bugs.webkit.org/show_bug.cgi?id=25094
2521         
2522         Display movies saved with a non-identity matrix at the correct size.
2523
2524         * platform/graphics/win/QTMovieWin.cpp:
2525         (QTMovieWinPrivate::QTMovieWinPrivate): Initialize m_widthScaleFactor and m_heightScaleFactor.
2526         (QTMovieWinPrivate::cacheMovieScale): New, calculate difference between initial
2527         size and natural size so naturalSize() accounts for non-identity movie matrix.
2528         (QTMovieWinPrivate::task):Call cacheMovieScale when load state reaches
2529         kMovieLoadStateLoaded for the first time. kMovieLoadState -> QTMovieLoadState.
2530         (QTMovieWinPrivate::drawingComplete): kMovieLoadState -> QTMovieLoadState.
2531         (QTMovieWinPrivate::createGWorld): Don't bother creating gworld until load state reaches
2532         kMovieLoadStateLoaded because we do not try to draw it before that point.
2533         (QTMovieWinPrivate::setSize): Do not change movie box before reaching kMovieLoadStateLoaded
2534         because we need to get the movie's initial size in cacheMovieScale.
2535         (QTMovieWin::getNaturalSize): Multiply width and height by initial scale.
2536
2537 2009-04-28  Sam Weinig  <sam@webkit.org>
2538
2539         Reviewed by Dan Bernstein.
2540
2541         Move timer code from JSDOMWindow to DOMWindow. clearTimeout and
2542         clearInterval can now be autogenerated.
2543
2544         * bindings/js/JSDOMWindowBase.cpp:
2545         * bindings/js/JSDOMWindowBase.h:
2546         * bindings/js/JSDOMWindowCustom.cpp:
2547         (WebCore::createScheduledAction):
2548         (WebCore::JSDOMWindow::setTimeout):
2549         (WebCore::JSDOMWindow::setInterval):
2550         * page/DOMWindow.cpp:
2551         (WebCore::DOMWindow::setTimeout):
2552         (WebCore::DOMWindow::clearTimeout):
2553         (WebCore::DOMWindow::setInterval):
2554         (WebCore::DOMWindow::clearInterval):
2555         * page/DOMWindow.h:
2556         * page/DOMWindow.idl:
2557
2558 2009-04-28  Kevin Watters  <kevinwatters@gmail.com>
2559
2560         Reviewed by Kevin Ollivier.
2561
2562         Small optimization, don't get the widget's handle twice in one method.
2563         
2564         https://bugs.webkit.org/show_bug.cgi?id=25446
2565
2566         * platform/wx/WidgetWx.cpp:
2567         (WebCore::Widget::setFocus):
2568         (WebCore::Widget::show):
2569         (WebCore::Widget::hide):
2570         (WebCore::Widget::frameRect):
2571         (WebCore::Widget::setFrameRect):
2572         (WebCore::Widget::invalidateRect):
2573         (WebCore::Widget::paint):
2574
2575 2009-04-28  Kevin Watters  <kevinwatters@gmail.com>
2576
2577         Reviewed by Kevin Ollivier.
2578
2579         ScrollView copy and paste typo fix.
2580         
2581         https://bugs.webkit.org/show_bug.cgi?id=25445
2582
2583         * platform/wx/ScrollViewWx.cpp:
2584         (WebCore::ScrollView::platformSetScrollbarModes):
2585
2586 2009-04-28  John Sullivan  <sullivan@apple.com>
2587
2588         <rdar://problem/6820221> REGRESSION: 2-byte character names of images are displayed as %-encoded ASCII
2589
2590         Reviewed by Adam Roben
2591
2592         * loader/ImageDocument.cpp:
2593         (WebCore::ImageTokenizer::finish):
2594         decode the filename before processing it as part of the image name that's passed to the client
2595
2596 2009-04-28  Maciej Stachowiak  <mjs@apple.com>
2597
2598         Not reviewed, build fix.
2599
2600         - fix initialization order to match declaration order to fix release build
2601
2602         * page/Settings.cpp:
2603         (WebCore::Settings::Settings):
2604
2605 2009-04-28  Xan Lopez  <xlopez@igalia.com>
2606
2607         Reviewed by Justin Garcia.
2608
2609         https://bugs.webkit.org/show_bug.cgi?id=16135
2610         [GTK] Support caret browsing
2611
2612         Based on a patch by Alp Toker.
2613
2614         Implement basic support for caret browsing, active only when the
2615         corresponding setting is enabled.
2616
2617         * page/EventHandler.cpp:
2618         (WebCore::EventHandler::handleMouseReleaseEvent):
2619         * page/FocusController.cpp:
2620         (WebCore::FocusController::advanceFocus):
2621         (WebCore::clearSelectionIfNeeded):
2622         (WebCore::FocusController::setFocusedNode):
2623         * page/Frame.cpp:
2624         (WebCore::Frame::setFocusedNodeIfNeeded):
2625         (WebCore::Frame::setSelectionFromNone):
2626         (WebCore::Frame::respondToChangedSelection):
2627         * page/Settings.cpp:
2628         (WebCore::Settings::Settings):
2629         * page/Settings.h:
2630         * rendering/RenderBlock.cpp:
2631         (WebCore::RenderBlock::paintCaret):
2632
2633 2009-04-27  Eric Roman  <eroman@chromium.org>
2634
2635         Reviewed by Darin Fisher.
2636
2637         Fix a compile breakage.
2638         <https://bugs.webkit.org/show_bug.cgi?id=25384>
2639
2640         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2641         (WebCore::CALLBACK_FUNC_DECL):
2642
2643 2009-04-27  Eric Carlson  <eric.carlson@apple.com>
2644
2645         Reviewed by Darin Adler.
2646
2647         <rdar://problem/6822344> Use of QTMovieCurrentSizeAttribute generates exception and will crash
2648
2649         QTMovieCurrentSizeAttribute generates an exception with some versions of QTKit, so calculate a 
2650         multiplier to scale from natural size to current size when a movie is opened and use that to 
2651         return the correct value from the naturalSize() method.
2652
2653         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2654         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2655         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_scaleFactor.
2656         (WebCore::MediaPlayerPrivate::naturalSize): Return naturalSize transformed by initial scale.
2657         (WebCore::MediaPlayerPrivate::cacheMovieScale): New, calculate difference between initial
2658         size and natural size so naturalSize() accounts for non-identity movie matrix.
2659         (WebCore::MediaPlayerPrivate::updateStates): Call cacheMovieScale when load state reaches
2660         QTMovieLoadStateLoaded for the first time.
2661
2662 2009-04-27  Beth Dakin  <bdakin@apple.com>
2663
2664         Reviewed by Dave Hyatt.
2665
2666         Fix for <rdar://problem/6709057> REGRESSION (4PB-TOT): http://www.winway.com/main3/support/faq.aspx selector doesn't look right or work
2667
2668         The problem here is that we had a self-painting layer nested inside 
2669         a non-self-painting layer. We ended up ignoring the self-painting 
2670         layer both during painting and hit-testing. This patch corrects 
2671         that. 
2672
2673         * rendering/RenderLayer.cpp:
2674         (WebCore::RenderLayer::paintLayer):
2675         (WebCore::RenderLayer::hitTestLayer):
2676
2677 2009-04-27  Ada Chan  <adachan@apple.com>
2678
2679         If it has been set to allow any HTTPS certificates for this host, set 
2680         kCFStreamSSLAllowsExpiredCertificates to true to allow expired 
2681         certificate, and set kCFStreamSSLValidatesCertificateChain false to skip
2682         certificate chain validation. (<rdar://problem/6382059>)
2683
2684         Reviewed by John Sullivan.
2685
2686         * platform/network/cf/ResourceHandleCFNet.cpp:
2687         (WebCore::makeFinalRequest):
2688
2689 2009-04-27  Simon Fraser  <simon.fraser@apple.com>
2690
2691         Reviewed by Adele Peterson
2692         
2693         <rdar://problem/6822225> Full page zooming of <video> element in the browser window doesn't work well
2694         
2695         Fix a 'size changed' notification thrash that caused standalone video elements
2696         to continually resize after full page zooming, by using the movie's natual size (which is independent
2697         of zooming), rather than its current size (which is not).
2698         
2699         Note that this regresses <https://bugs.webkit.org/show_bug.cgi?id=25029>, so we have to
2700         disable the media/video-size-intrinsic-scale.html test. However, we have to stop using
2701         QTMovieCurrentSizeAttribute anyway; this will be addressed, and the test re-enabled via
2702         <rdar://problem/6822344>.
2703
2704         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2705         (WebCore::MediaPlayerPrivate::naturalSize):
2706
2707 2009-04-27  Simon Fraser  <simon.fraser@apple.com>
2708
2709         Reviewed by Darin Adler
2710
2711         <rdar://problem/6642221> REGRESSION: With the Movie widget, movie trailer fails to
2712         load if movie had been previously viewed
2713         
2714         Fix the Dashboard quirk for display:none plug-ins by moving the code from HTMLObjectElement
2715         to HTMLEmebedElement. It has to be in HTMLEmbedElement because the content we care about uses <embed>.
2716
2717         * html/HTMLEmbedElement.cpp:
2718         (WebCore::HTMLEmbedElement::rendererIsNeeded):
2719         * html/HTMLObjectElement.cpp:
2720         (WebCore::HTMLObjectElement::rendererIsNeeded):
2721
2722 2009-04-27  Sam Weinig  <sam@webkit.org>
2723
2724         Reviewed by Geoffrey Garen.
2725
2726         Move more window event related code into DOMWindow.
2727
2728         * dom/Document.cpp:
2729         (WebCore::Document::implicitClose):
2730         (WebCore::Document::setWindowAttributeEventListener):
2731         (WebCore::Document::dispatchWindowEvent):
2732         (WebCore::Document::dispatchLoadEvent):
2733         * dom/Document.h:
2734         * dom/Element.cpp:
2735         * dom/Element.h:
2736         * dom/Node.cpp:
2737         * dom/Node.h:
2738         * html/HTMLBodyElement.cpp:
2739         (WebCore::HTMLBodyElement::parseMappedAttribute):
2740         * html/HTMLFrameSetElement.cpp:
2741         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2742         * loader/FrameLoader.cpp:
2743         (WebCore::FrameLoader::stopLoading):
2744         * page/DOMWindow.cpp:
2745         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
2746         (WebCore::DOMWindow::postMessageTimerFired):
2747         (WebCore::DOMWindow::dispatchEvent):
2748         (WebCore::DOMWindow::dispatchEventWithDocumentAsTarget):
2749         (WebCore::DOMWindow::dispatchLoadEvent):
2750         (WebCore::DOMWindow::dispatchUnloadEvent):
2751         (WebCore::DOMWindow::dispatchBeforeUnloadEvent):
2752         * page/DOMWindow.h:
2753         * page/Frame.cpp:
2754         (WebCore::Frame::shouldClose):
2755         * svg/SVGSVGElement.cpp:
2756         (WebCore::SVGSVGElement::parseMappedAttribute):
2757
2758 2009-04-27  Douglas R. Davidson  <ddavidso@apple.com>
2759
2760         Implement the editing mechanisms and add context menu items for
2761         <rdar://problem/6724106> WebViews need to implement text checking
2762
2763         Reviewed by Justin Garcia.
2764
2765         * editing/Editor.cpp:
2766         * editing/Editor.h:
2767         * editing/TypingCommand.cpp:
2768         * loader/EmptyClients.h:
2769         * page/ContextMenuController.cpp:
2770         * page/EditorClient.h:
2771         * page/mac/WebCoreViewFactory.h:
2772         * platform/ContextMenu.cpp:
2773         * platform/ContextMenuItem.h:
2774         * platform/LocalizedStrings.h:
2775         * platform/mac/LocalizedStringsMac.mm:
2776
2777 2009-04-27  Sam Weinig  <sam@webkit.org>
2778
2779         Reviewed by Geoffrey Garen.
2780
2781         Fix for <rdar://problem/6772944> REGRESSION (r42223): PLT 2% slower, i-Bench 3% slower
2782
2783         Be slightly less eager in collecting after page close/navigation by increasing
2784         the time before collection from 0 seconds to .5 seconds.
2785
2786         3% speedup on the PLT.
2787
2788         * bindings/js/GCController.cpp:
2789         (WebCore::GCController::garbageCollectSoon):
2790
2791 2009-04-27  David Kilzer  <ddkilzer@apple.com>
2792
2793         Consolidate runtime application checks for Apple Mail and Safari
2794
2795         Reviewed by Mark Rowe and Darin Adler.
2796
2797         * WebCore.base.exp: Added exports.
2798         * WebCore.xcodeproj/project.pbxproj: Added
2799         RuntimeApplicationChecks.{h|mm} source files to the project.
2800         * page/mac/EventHandlerMac.mm:
2801         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
2802         Removed local checkedSafari and isSafari variables and switched
2803         to use applicationIsSafari().
2804         * platform/mac/RuntimeApplicationChecks.h: Added.
2805         * platform/mac/RuntimeApplicationChecks.mm: Added.
2806         (WebCore::applicationIsAppleMail): Runtime application check for
2807         Apple Mail.
2808         (WebCore::applicationIsSafari): Runtime application check for
2809         Safari.
2810
2811 2009-04-27  Chris Fleizach  <cfleizach@apple.com>
2812
2813         Reviewed by Darin Adler.
2814
2815         Bug 25374: AX: No AXValue change sent when text is auto-inserted
2816         https://bugs.webkit.org/show_bug.cgi?id=25374
2817
2818         First patch caused some regression tests to fail. 
2819
2820         * rendering/RenderTextControl.cpp:
2821         (WebCore::RenderTextControl::setInnerTextValue):
2822
2823 2009-04-16  Xan Lopez  <xlopez@igalia.com>
2824
2825         Reviewed by Gustavo Noronha.
2826
2827         https://bugs.webkit.org/show_bug.cgi?id=21546
2828         [GTK] ATK accessibility enhancements
2829
2830         Based on a patch by Alp Toker.
2831
2832         Cover more WebCore role -> ATK role conversions.
2833
2834         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
2835
2836 2009-04-18  Xan Lopez  <xlopez@igalia.com>
2837
2838         Reviewed by Gustavo Noronha.
2839
2840         https://bugs.webkit.org/show_bug.cgi?id=21546
2841         [GTK] ATK accessibility enhancements
2842
2843         Do not call ATK setters in the getters, just return the
2844         value. Among other things calling the setter will emit the notify
2845         signal, which is wrong.
2846
2847         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
2848
2849 2009-04-16  Xan Lopez  <xlopez@igalia.com>
2850
2851         Reviewed by Gustavo Noronha.
2852
2853         https://bugs.webkit.org/show_bug.cgi?id=21546
2854         [GTK] ATK accessibility enhancements
2855
2856         Based on a patch by Alp Toker.
2857
2858         Implement AtkImage interface.
2859
2860         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
2861
2862 2009-04-27  Gustavo Noronha Silva  <gns@gnome.org>
2863
2864         Unreviewed debug build fix.
2865
2866         * platform/gtk/gtk2drawing.c:
2867         (moz_gtk_toggle_paint):
2868
2869 2009-04-27  Dimitri Glazkov  <dglazkov@chromium.org>
2870
2871         Build fix.
2872
2873         https://bugs.webkit.org/show_bug.cgi?id=25382
2874         Remove direct reference to CallFrame.h include to pacify Win build.
2875
2876         * bindings/js/JSDOMBinding.h: Removed ScriptState.h include.
2877         * bindings/js/ScriptState.h: Replaced CallFrame.h with JSDOMBinding.h
2878
2879 2009-04-27  Chris Fleizach  <cfleizach@apple.com>
2880
2881         Reviewed by Beth Dakin.
2882
2883         Bug 25374: AX: No AXValue change sent when text is auto-inserted
2884         https://bugs.webkit.org/show_bug.cgi?id=25374
2885
2886         When an input's text value is changed through the DOM, no AXValueChange notification is being sent.
2887
2888         * rendering/RenderTextControl.cpp:
2889         (WebCore::RenderTextControl::setInnerTextValue):
2890
2891 2009-04-27  Dimitri Glazkov  <dglazkov@chromium.org>
2892
2893         Reviewed by Eric Seidel.
2894
2895         https://bugs.webkit.org/show_bug.cgi?id=25382
2896         Move scriptStateFromNode to ScriptState.
2897
2898         * bindings/js/JSDOMBinding.cpp: Moved scriptStateFromNode to ScriptState.
2899         * bindings/js/JSDOMBinding.h: Ditto.
2900         * bindings/js/ScriptState.cpp:
2901         (WebCore::scriptStateFromNode): Added.
2902         * bindings/js/ScriptState.h: Ditto.
2903         * bindings/v8/ScriptState.cpp:
2904         (WebCore::scriptStateFromNode): Added.
2905         * bindings/v8/ScriptState.h: Ditto.
2906         * dom/NodeFilter.h: Removed JSDOMBinding header include.
2907         * dom/NodeIterator.h: Ditto.
2908         * dom/TreeWalker.h: Ditto.
2909
2910 2009-04-27  Chris Fleizach  <cfleizach@apple.com>
2911
2912         Reviewed by Beth Dakin.
2913
2914         Bug 25428: 5 crashes in DumpRenderTree at com.apple.WebCore • -[AccessibilityObjectWrapper accessibilityAttributeValue:] + 830
2915         https://bugs.webkit.org/show_bug.cgi?id=25428
2916
2917         When marking children as changed in accessibility, we cannot rely on the accessibility parent chain existing.
2918         Instead, the render chain needs to be consulted.
2919
2920         * page/AccessibilityRenderObject.cpp:
2921         (WebCore::AccessibilityRenderObject::childrenChanged):
2922
2923 2009-04-27  Alexey Proskuryakov  <ap@webkit.org>
2924
2925         Reviewed by Darin Adler.
2926
2927         https://bugs.webkit.org/show_bug.cgi?id=25399
2928         <rdar://problem/6633943> REGRESSION: Many crashes reported accessing Lexis/Nexis database,
2929         beneath WebCore::Cache::evict
2930
2931         The crash happened because a cached resource handle was removed from a document's cached
2932         resources map twice recursively, so a destructor was called for a value in a deleted bucket.
2933         The first call was from Cache::evict, and when destroying CachedResourceHandle destroyed
2934         CachedResource, DocLoader::removeCachedResource() was called again, with HashMap being in
2935         an inconsistent state.
2936
2937         I couldn't fully reconstruct the loading sequence to make a test.
2938
2939         * loader/Cache.cpp:
2940         (WebCore::Cache::revalidateResource): Assert that the resource being revalidated is in cache
2941         (it makes no sense to revalidate one that isn't).
2942         (WebCore::Cache::evict): Don't remove the resource from document's map. Removing a resource
2943         from the cache in no way implies that documents no longer use the old version. This fixes the
2944         crash, and also fixes many cases of resource content being unavailable in Web Inspector.
2945
2946         * loader/CachedResource.h:
2947         (WebCore::CachedResource::setInCache): When bringing a revalidated resource back to cache,
2948         reset m_isBeingRevalidated to maintain the invariant of resources being revalidated never
2949         being in cache. This fixes another assertion I saw on LexisNexis search: in rare cases,
2950         switchClientsToRevalidatedResource() results in the same resource being requested again,
2951         but we were only enforcing CachedResource invariants after calling this function.
2952         (WebCore::CachedResource::unregisterHandle): Assert that the counter doesn't underflow.
2953
2954         * loader/DocLoader.cpp: (WebCore::DocLoader::removeCachedResource): Assert that the passed
2955         resource is removed, not some other resource that happens to have the same URL (this used to
2956         fail on LexisNexis search before this patch).
2957
2958         * loader/ImageDocument.cpp: (WebCore::ImageTokenizer::write): Replaced ASSERT_NOT_REACHED
2959         with notImplemented(). This method can be legally called via document.write(), and should
2960         work. LexisNexis takes this code path, but apparently has a fallback for Safari, so it
2961         doesn't affect site functionality.
2962
2963         * loader/CachedResource.cpp:
2964         (WebCore::CachedResource::clearResourceToRevalidate): Don't assert that m_resourceToRevalidate
2965         is being revalidated - this may no longer be true, because we now reset this member in
2966         CachedResource::setInCache().
2967
2968 2009-04-27  Dan Bernstein  <mitz@apple.com>
2969
2970         Reviewed by Sam Weinig.
2971
2972         - make BidiContext a RefCounted class, starting with a refcount of 1,
2973           and share the root BidiContexts.
2974
2975         * platform/graphics/GraphicsContext.cpp:
2976         (WebCore::GraphicsContext::drawBidiText): Use BidiContext::create().
2977         * platform/text/BidiContext.cpp:
2978         (WebCore::BidiContext::create): Added. For the four "root" contexts,
2979         returns a reference to a shared static BidiContext.
2980         * platform/text/BidiContext.h:
2981         (WebCore::BidiContext::BidiContext):
2982         * platform/text/BidiResolver.h:
2983         (WebCore::::commitExplicitEmbedding): Use BidiContext::create().
2984         * rendering/bidi.cpp:
2985         (WebCore::RenderBlock::determineStartPosition): Ditto.
2986
2987 2009-04-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
2988
2989         Rubber-stamped by Gustavo Noronha.
2990
2991         Build fix for r42893: change GDK_exclaim to GDK_exclam
2992
2993         * platform/chromium/KeyCodeConversionGtk.cpp:
2994         (WebCore::windowsKeyCodeForKeyEvent):
2995         * platform/gtk/KeyEventGtk.cpp:
2996         (WebCore::windowsKeyCodeForKeyEvent):
2997
2998 2009-04-27  Fumitoshi Ukai  <ukai@google.com>
2999
3000         Reviewed by Xan Lopez.
3001
3002         Fix wrong key code conversion.
3003
3004         Missing conversion for GDK_exlaim ('!').
3005         Parens are opposite: GDK_parenleft is open paren '('
3006         and GDK_parenright is close paren ')'.
3007         https://bugs.webkit.org/show_bug.cgi?id=25367
3008
3009         * platform/chromium/KeyCodeConversionGtk.cpp:
3010         (WebCore::windowsKeyCodeForKeyEvent):
3011         * platform/gtk/KeyEventGtk.cpp:
3012         (WebCore::windowsKeyCodeForKeyEvent):
3013
3014 2009-04-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
3015
3016         Reviewed by Gustavo Noronha.
3017
3018         [Gtk] gtkdrawing update
3019         https://bugs.webkit.org/show_bug.cgi?id=25408
3020
3021         Update to the 25 Apr 2009 version of gtk2drawing.c and
3022         gtkdrawing.h from Mozilla (http://hg.mozilla.org/mozilla-central)
3023
3024         * platform/gtk/gtk2drawing.c:
3025         (setup_widget_prototype):
3026         (moz_gtk_get_combo_box_entry_arrow):
3027         (ensure_toolbar_widget):
3028         (ensure_tree_header_cell_widget):
3029         (moz_gtk_init):
3030         (moz_gtk_button_get_inner_border):
3031         (moz_gtk_toggle_paint):
3032         (moz_gtk_caret_paint):
3033         (moz_gtk_entry_paint):
3034         (moz_gtk_tree_header_cell_paint):
3035         (moz_gtk_combo_box_paint):
3036         (moz_gtk_toolbar_separator_paint):
3037         (moz_gtk_menu_separator_paint):
3038         (moz_gtk_get_widget_border):
3039         (moz_gtk_get_tab_scroll_arrow_size):
3040         (moz_gtk_get_toolbar_separator_width):
3041         (moz_gtk_get_menu_separator_height):
3042         (moz_gtk_widget_paint):
3043         (moz_gtk_shutdown):
3044         * platform/gtk/gtkdrawing.h:
3045
3046 2009-04-27  Ariya Hidayat  <ariya.hidayat@nokia.com>
3047
3048         Reviewed by Tor Arne Vestbø.
3049
3050         https://bugs.webkit.org/show_bug.cgi?id=18475
3051
3052         [Qt] Widget painting should follow the layout direction (LTR, RTL)
3053         of the element style, not the application layout direction.
3054
3055         * platform/qt/RenderThemeQt.cpp:
3056         (WebCore::RenderThemeQt::applyTheme):
3057
3058 2009-04-26  Sam Weinig  <sam@webkit.org>
3059
3060         Reviewed by Dan Bernstein.
3061
3062         Fix for https://bugs.webkit.org/show_bug.cgi?id=25412
3063         The Window object should be an EventTarget
3064
3065         Test: fast/dom/Window/dispatchEvent.html
3066
3067         * bindings/js/JSEventTarget.cpp:
3068         (WebCore::toJS): Add DOMWindow case.
3069         (WebCore::toEventTarget): Ditto.
3070
3071         * dom/EventTarget.cpp:
3072         (WebCore::EventTarget::toDOMWindow): Added.
3073         * dom/EventTarget.h:
3074
3075         * page/DOMWindow.cpp:
3076         (WebCore::DOMWindow::scriptExecutionContext): Added. Returns the document.
3077         (WebCore::DOMWindow::dispatchEvent): Added.
3078         * page/DOMWindow.h:
3079         (WebCore::DOMWindow::toDOMWindow):
3080         (WebCore::DOMWindow::refEventTarget):
3081         (WebCore::DOMWindow::derefEventTarget):
3082         * page/DOMWindow.idl:
3083
3084 2009-04-26  Sam Weinig  <sam@webkit.org>
3085
3086         Reviewed by Eric Seidel.
3087
3088         Remove scons-based build system.
3089
3090         * WebCore.scons: Removed.
3091
3092 2009-04-26  Darin Adler  <darin@apple.com>
3093
3094         Suggested by Darin Fisher.
3095
3096         Improve the fix for bug 25355: Crash when Creating New Tab or New Window when set to open Same Page
3097         https://bugs.webkit.org/show_bug.cgi?id=25355
3098         rdar://problem/6823543
3099
3100         * loader/FrameLoader.cpp:
3101         (WebCore::FrameLoader::loadItem): Allow shouldScroll to be true even if m_currentHistoryItem is 0.
3102         Not sure if when this case can really arise in practice, but it's good to match the original
3103         logic more closely.
3104
3105 2009-04-25  Dirk Schulze  <krit@webkit.org>
3106
3107         Reviewed by Oliver Hunt.
3108
3109         A width or height of zero for the destination or source rect of an
3110         image causes a not invertible pattern matrix.
3111         This crahes newer versions of Cairo and give some graphic gliches in
3112         Canvas.
3113         With this patch we check if there is something to draw and return if not.
3114
3115         * platform/graphics/cairo/ImageCairo.cpp:
3116         (WebCore::BitmapImage::draw):
3117
3118 2009-04-25  Simon Fraser  <simon.fraser@apple.com>
3119
3120         Reviewed by Darin Adler
3121         
3122         https://bugs.webkit.org/show_bug.cgi?id=25390
3123         
3124         Fix point mapping and hit testing through transforms and perspective
3125         with ENABLE_3D_RENDERING. Previously the code did the more efficient
3126         move(), rather than getTransformFromContainer(), when the object had
3127         no transform. However, this skipped the application of perspective
3128         when the immediate child of the perspective element had no transform
3129         itself.
3130
3131         Test: transforms/3d/point-mapping/3d-point-mapping-3.html
3132
3133         * rendering/RenderBox.cpp:
3134         (WebCore::RenderBox::mapLocalToContainer):
3135         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
3136         * rendering/RenderLayer.cpp:
3137         (WebCore::RenderLayer::createLocalTransformState):
3138         Call shouldUseTransformFromContainer() to determine if we need to
3139         go through the more expensive getTransformFromContainer() code
3140         path.
3141
3142         * rendering/RenderObject.h:
3143         * rendering/RenderObject.cpp:
3144         (WebCore::RenderObject::shouldUseTransformFromContainer):
3145         New method that indicates whether we need use getTransformFromContainer()
3146         when mapping points through renderers, and hit testing.
3147
3148 2009-04-25  Adele Peterson  <adele@apple.com>
3149
3150         Reviewed by Oliver Hunt.
3151
3152         Fix for <rdar://problem/6712771> REGRESSION(34681): Text is no longer underlined after delete
3153         https://bugs.webkit.org/show_bug.cgi?id=25396
3154
3155         Test: editing/deleting/delete-br-013.html
3156
3157         * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphs):
3158          Only preserve an empty paragraph's style when moving paragraphs around if the selection is still 
3159          in an empty paragraph after the move occurs.  This was causing the empty paragraph's style to overwrite
3160          the previous paragraph's style during a delete of an empty paragraph.
3161
3162 2009-04-25  Eric Carlson  <eric.carlson@apple.com>
3163
3164         Reviewed by Darin Adler.
3165
3166         <rdar://problem/6808171> REGRESSION (3-4): Standalone media documents don't 
3167         properly display non-linear media
3168
3169         If a media engine claims it can support the MIME type, WebCore now creates a <video>
3170         element for document mode media files instead of an <embed> element. Because WebCore's 
3171         QuickTime backed media players do not support every kind of media the QuickTime plug-in
3172         supports, and because it is not always possible to tell what type of media is in a file 
3173         without opening and parsing it, some types of media that used to be displayed properly
3174         by a plug-in are no longer supported properly. To fix this, if the media engine
3175         sees that it can not completely support a media file it now informs the media 
3176         document, which replaces the <video> element with an <embed>.
3177         
3178         r42301 landed support for OSX. This patch modifies those changes slighly and adds support
3179         for Windows.
3180
3181         * loader/MediaDocument.cpp:
3182         (WebCore::MediaDocument::MediaDocument): Initialize m_replaceMediaElementTimer.
3183         (WebCore::MediaDocument::mediaElementSawUnsupportedTracks): Don't replace the <video> 
3184         element immediately.
3185         (WebCore::MediaDocument::replaceMediaElementTimerFired): Renamed from replaceVideoWithEmbed.
3186         Set body margin-width and margin-height to 0 as that is what a PluginDocument uses.
3187         * loader/MediaDocument.h:
3188
3189         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3190         (WebCore::MediaPlayerPrivate::loadStateChanged): Don't do anything if m_hasUnsupportedTracks.
3191         (WebCore::MediaPlayerPrivate::rateChanged): Ditto.
3192         (WebCore::MediaPlayerPrivate::timeChanged): Ditto.
3193         (WebCore::MediaPlayerPrivate::didEnd): Ditto.
3194         (WebCore::MediaPlayerPrivate::repaint): Ditto.
3195         (WebCore::MediaPlayerPrivate::paint): Ditto.
3196         (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): Set m_hasUnsupportedTracks before callback.
3197
3198         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3199         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_totalTrackCount and m_hasUnsupportedTracks.
3200         (WebCore::MediaPlayerPrivate::updateStates): Call sawUnsupportedTracks if the movie has unsupported
3201         media type(s) or if it fails completely.
3202         (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): New, disable the movie object and tell the
3203         media player client we won't play this movie correctly.
3204         (WebCore::MediaPlayerPrivate::didEnd): Don't do anything if m_hasUnsupportedTracks.
3205         (WebCore::MediaPlayerPrivate::setSize): Ditto.
3206         (WebCore::MediaPlayerPrivate::setVisible): Ditto.
3207         (WebCore::MediaPlayerPrivate::paint): Ditto.
3208         (WebCore::MediaPlayerPrivate::movieEnded): Ditto.
3209         (WebCore::MediaPlayerPrivate::movieLoadStateChanged): Ditto.
3210         (WebCore::MediaPlayerPrivate::movieTimeChanged): Ditto.
3211         (WebCore::MediaPlayerPrivate::movieNewImageAvailable): Ditto.
3212         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3213
3214         * platform/graphics/win/QTMovieWin.cpp:
3215         (QTMovieWinPrivate::task): Stop the task timer if we were disabled during the load state
3216         change callback.
3217         (QTMovieWinPrivate::drawingComplete): Don't do anything if disabled.
3218         (QTMovieWin::QTMovieWin): Initialize m_disabled.
3219         (QTMovieWin::disableUnsupportedTracks): Return total number of tracks.
3220         (QTMovieWin::setDisabled): New, set m_disabled flag.
3221         * platform/graphics/win/QTMovieWin.h:
3222
3223 2009-04-25  Jan Michael Alonzo  <jmalonzo@webkit.org>
3224
3225         Reviewed by Xan Lopez.
3226
3227         [GTK] Error reporting
3228         https://bugs.webkit.org/show_bug.cgi?id=18344
3229
3230         Fix the SOUP resource handle to report SOUP_HTTP_ERROR for Soup
3231         errors and G_IO_ERROR for gio errors.
3232
3233         * platform/network/soup/ResourceHandleSoup.cpp:
3234         (WebCore::finishedCallback):
3235         (WebCore::ResourceHandle::startHttp):
3236         (WebCore::ResourceHandle::start):
3237         (WebCore::readCallback):
3238         (WebCore::openCallback):
3239         (WebCore::queryInfoCallback):
3240         (WebCore::ResourceHandle::startGio):
3241
3242 2009-04-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3243
3244         Reviewed by Mark Rowe.
3245
3246         Only set the new URL once for the request. Doing it a second time
3247         after the call to willSendRequest was causing crashes when
3248         redirected requests got cancelled.
3249
3250         * platform/network/soup/ResourceHandleSoup.cpp:
3251         (WebCore::restartedCallback):
3252
3253 2009-04-24  Kevin Ollivier  <kevino@theolliviers.com>
3254
3255         wx build fix. Adding ScriptEventListener.cpp.
3256
3257         * WebCoreSources.bkl:
3258
3259 2009-04-24  Sergio García-Cuevas  <sergio_gcg@telefonica.net>
3260
3261         Reviewed by Gustavo Noronha.
3262
3263         https://bugs.webkit.org/show_bug.cgi?id=17267
3264         [GTK] Primary selection/clipboard support
3265
3266         Copy the link location to the primary selection as well as the
3267         clipboard selection when using the "copy link selection" context
3268         menu entry.
3269
3270         * platform/gtk/PasteboardGtk.cpp:
3271         (WebCore::Pasteboard::writeURL):
3272         * platform/gtk/PasteboardHelper.h:
3273
3274 2009-04-24  Eric Seidel  <eric@webkit.org>
3275
3276         Reviewed by Simon Fraser.
3277
3278         https://bugs.webkit.org/show_bug.cgi?id=25383
3279         Changing SVG size via JS does not update CSS width/height
3280
3281         Add an ugly hack to fix CSS width/height updates from JS.
3282
3283         We can't easily call setAttribute when width/height changes
3284         as that would cause infinite recursion (as we'd try to set
3285         the animation storage from the attributes)
3286
3287         For now, when we get notification that JS changed width/height
3288         we copy what parseMappedAttribute does and update the CSS values as well.
3289
3290         A better fix for this would be:
3291         https://bugs.webkit.org/show_bug.cgi?id=25383
3292
3293         * svg/SVGSVGElement.cpp:
3294         (WebCore::updateCSSForAttribute):
3295         (WebCore::SVGSVGElement::svgAttributeChanged):
3296
3297 2009-04-24  Kevin McCullough  <kmccullough@apple.com>
3298
3299         Reviewed by Dan Bernstein.
3300
3301         We should not show the deletion UI for blockquotes in mail but they do 
3302         show now that we only check for one visible border.
3303
3304         * editing/DeleteButtonController.cpp:
3305         (WebCore::isDeletableElement):
3306
3307 2009-04-24  Dan Bernstein  <mitz@apple.com>
3308
3309         - address Hyatt's review comments on the last patch
3310
3311         * rendering/RenderLayer.cpp:
3312         (WebCore::performOverlapTests):
3313         (WebCore::RenderLayer::paintLayer):
3314
3315 2009-04-24  Dan Bernstein  <mitz@apple.com>
3316
3317         Reviewed by Dave Hyatt.
3318
3319         - fix https://bugs.webkit.org/show_bug.cgi?id=5909
3320           <rdar://problem/5863349> overlapping element leaves trail when
3321           scrolling iframe
3322
3323         * WebCore.xcodeproj/project.pbxproj: Added OverlapTestRequestClient.h.
3324
3325         * page/FrameView.cpp:
3326         (WebCore::FrameView::reset): Initialize m_isOverlapped.
3327         (WebCore::FrameView::useSlowRepaints): Also check m_isOverlapped.
3328         (WebCore::FrameView::removeSlowRepaintObject): Use useSlowRepaints()
3329         so overlapping is taken into account.
3330         (WebCore::FrameView::setIsOverlapped): Added. Sets m_isOverlapped and
3331         enables or disables copy-on-scroll accordingly.
3332
3333         * page/FrameView.h:
3334         Added setIsOverlapped() and m_isOverlapped.
3335
3336         * rendering/OverlapTestRequestClient.h: Added. During foreground painting,
3337         an OverlapTestRequestClient can make a request to test if any subsequently-
3338         painted layers overlap a rect. The test result is delivered to the
3339         requestClient via setOverlapTestResult().
3340         (WebCore::OverlapTestRequestClient::~OverlapTestRequestClient):
3341
3342         * rendering/RenderLayer.cpp:
3343         (WebCore::RenderLayer::paint): Pass an OverlapTestRequestMap to
3344         paintLayer(). When done painting, inform any remaining requestClients that
3345         they are not overlapped.
3346
3347         (WebCore::RenderLayer::paintLayer): Take an OverlapTestRequestMap and
3348         pass it down to child and reflection layers. Inform requestClients if this
3349         layer overlaps their requested rects.
3350
3351         * rendering/RenderLayer.h:
3352
3353         * rendering/RenderObject.h:
3354         (WebCore::RenderObject::PaintInfo::PaintInfo): Added an
3355         OverlapTestRequestMap member.
3356
3357         * rendering/RenderReplica.cpp:
3358         (WebCore::RenderReplica::paint): For now, pass a 0 OverlapTestRequestMap
3359         to paintLayer().
3360
3361         * rendering/RenderWidget.cpp:
3362         (WebCore::RenderWidget::paint): For FrameViews, request an overlap test
3363         with the frame.
3364         (WebCore::RenderWidget::setOverlapTestResult): Call
3365         FrameView::setIsOverlapped() with the result of the overlap test.
3366
3367         * rendering/RenderWidget.h: Made RenderWidget an OverlapTestRequestClient.
3368
3369 2009-04-24  David Hyatt  <hyatt@apple.com>
3370
3371         Reviewed by Simon Fraser, Dan Bernstein.
3372
3373         Speed up the PLT by devirtualizing the height() function on InlineBox.  virtualizing it in order to make the height() computation dynamic caused
3374         a ~0.5% slowdown.  This patch does the following to get the speed back:
3375         
3376         (a) Devirtualizes isText and forces inline box creators to set the bit as needed.  This actually resulted in simplified code, since ListMarkerBox could
3377         then be removed.
3378         (b) Reduces the height() call count.  In some cases the code was repeatedly calling height(), which used to be fine when the function was just an inline
3379         member variable access.  The call sites have been patched to cut down on extra height() calls now that it is more expensive.
3380         (c) Devirtualize height() except on SVG boxes.  For all non-SVG, the height() function on InlineBox handles the computation.  For SVG boxes, a new bit has
3381         been set on InlineBoxes (isSVG()) that indicates that the virtual svgBoxHeight() function should be called to retrieve the height instead.
3382
3383         * GNUmakefile.am:
3384         * WebCore.pro:
3385         * WebCore.vcproj/WebCore.vcproj:
3386         * WebCore.xcodeproj/project.pbxproj:
3387         * WebCoreSources.bkl:
3388         * rendering/InlineBox.cpp:
3389         (WebCore::InlineBox::height):
3390         * rendering/InlineBox.h:
3391         (WebCore::InlineBox::InlineBox):
3392         (WebCore::InlineBox::isSVG):
3393         (WebCore::InlineBox::setIsSVG):
3394         (WebCore::InlineBox::isText):
3395         (WebCore::InlineBox::setIsText):
3396         (WebCore::InlineBox::svgBoxHeight):
3397         * rendering/InlineFlowBox.cpp:
3398         (WebCore::InlineFlowBox::placeBoxesVertically):
3399         (WebCore::InlineFlowBox::paintBoxDecorations):
3400         (WebCore::InlineFlowBox::paintMask):
3401         * rendering/InlineFlowBox.h:
3402         * rendering/InlineTextBox.cpp:
3403         * rendering/InlineTextBox.h:
3404         * rendering/ListMarkerBox.cpp: Removed.
3405         * rendering/ListMarkerBox.h: Removed.
3406         * rendering/RenderListMarker.cpp:
3407         (WebCore::RenderListMarker::createInlineBox):
3408         * rendering/RenderSVGInline.cpp:
3409         (WebCore::RenderSVGInline::createFlowBox):
3410         * rendering/RenderSVGInlineText.cpp:
3411         (WebCore::RenderSVGInlineText::createTextBox):
3412         * rendering/RenderSVGText.cpp:
3413         (WebCore::RenderSVGText::createRootBox):
3414         * rendering/RenderText.cpp:
3415         (WebCore::RenderText::createInlineTextBox):
3416         * rendering/RootInlineBox.cpp:
3417         * rendering/RootInlineBox.h:
3418         * rendering/SVGInlineFlowBox.h:
3419         (WebCore::SVGInlineFlowBox::svgBoxHeight):
3420         * rendering/SVGInlineTextBox.h:
3421         (WebCore::SVGInlineTextBox::svgBoxHeight):
3422         * rendering/SVGRootInlineBox.h:
3423         (WebCore::SVGRootInlineBox::svgBoxHeight):
3424
3425 2009-04-24  Dimitri Glazkov  <dglazkov@chromium.org>
3426
3427         Reviewed by Eric Seidel.
3428
3429         https://bugs.webkit.org/show_bug.cgi?id=25370
3430         Introduce ScriptEventListener to refactor away direct references to
3431         JSLazyEventListener in WebCore code.
3432
3433         * GNUmakefile.am: Added ScriptEventListener to project.
3434         * WebCore.pro: Ditto.
3435         * WebCore.vcproj/WebCore.vcproj: Ditto.
3436         * WebCore.xcodeproj/project.pbxproj: Ditto.
3437         * bindings/js/JSDOMGlobalObject.cpp: Removed unused JSLazyEventListener include.
3438         * bindings/js/JSLazyEventListener.cpp: Moved createAttributeEventListener helpers
3439             to ScriptEventListener.
3440         * bindings/js/JSLazyEventListener.h: Ditto.
3441         * bindings/js/ScriptController.cpp: Removed unused JSLazyEventListener include.
3442         * bindings/js/ScriptEventListener.cpp: Added.
3443         * bindings/js/ScriptEventListener.h: Added.
3444         * bindings/v8/ScriptEventListener.cpp: Added.
3445         * bindings/v8/ScriptEventListener.h: Added.
3446         * dom/Document.cpp: Renamed JSLazyEventListener include to ScriptEventListener.
3447         * html/HTMLBodyElement.cpp: Ditto.
3448         * html/HTMLButtonElement.cpp: Ditto.
3449         * html/HTMLElement.cpp: Ditto.
3450         * html/HTMLFormElement.cpp: Ditto.
3451         * html/HTMLFrameElementBase.cpp: Ditto.
3452         * html/HTMLFrameSetElement.cpp: Ditto.
3453         * html/HTMLImageElement.cpp: Ditto.
3454         * html/HTMLInputElement.cpp: Ditto.
3455         * html/HTMLObjectElement.cpp: Ditto.
3456         * html/HTMLScriptElement.cpp: Ditto.
3457         * html/HTMLSelectElement.cpp: Ditto.
3458         * html/HTMLTextAreaElement.cpp: Ditto.
3459         * svg/SVGElement.cpp: Ditto.
3460         * svg/SVGSVGElement.cpp: Ditto.
3461
3462 2009-04-24  Darin Adler  <darin@apple.com>
3463
3464         Reviewed by Sam Weinig.
3465
3466         Bug 25355: Crash when Creating New Tab or New Window when set to open Same Page
3467         https://bugs.webkit.org/show_bug.cgi?id=25355
3468         rdar://problem/6823543
3469
3470         * loader/FrameLoader.cpp:
3471         (WebCore::FrameLoader::loadItem): Added a null check.
3472
3473 2009-04-24  Eric Seidel  <eric@webkit.org>
3474
3475         Reviewed by Simon Fraser.
3476
3477         Fix RenderSVGImage to dump with full bounds and style information.
3478         https://bugs.webkit.org/show_bug.cgi?id=25377
3479         
3480         No functional changes, we're just now including more info in render tree dumps.
3481
3482         * rendering/RenderObject.h:
3483         (WebCore::RenderObject::isSVGImage):
3484         * rendering/RenderSVGImage.h:
3485         (WebCore::RenderSVGImage::isSVGImage):
3486         * rendering/RenderTreeAsText.cpp:
3487         (WebCore::write):
3488         * rendering/SVGRenderTreeAsText.cpp:
3489         (WebCore::operator<<):
3490         (WebCore::write):
3491         * rendering/SVGRenderTreeAsText.h:
3492
3493 2009-04-24  David Levin  <levin@chromium.org>
3494
3495         Reviewed by NOBODY (chromium build fix).
3496
3497         Rename "isInline" => "isAttribute" in v8 bindings (jsc was done in r42699).
3498
3499         * bindings/v8/V8AbstractEventListener.cpp:
3500         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
3501         (WebCore::V8AbstractEventListener::invokeEventHandler):
3502         * bindings/v8/V8AbstractEventListener.h:
3503         * bindings/v8/V8EventListenerList.cpp:
3504         (WebCore::V8EventListenerList::add):
3505         (WebCore::V8EventListenerList::remove):
3506         (WebCore::V8EventListenerList::clear):
3507         * bindings/v8/V8LazyEventListener.h:
3508         (WebCore::V8LazyEventListener::virtualisAttribute):
3509         * bindings/v8/custom/V8CustomEventListener.cpp:
3510         (WebCore::V8EventListener::V8EventListener):
3511         * bindings/v8/custom/V8CustomEventListener.h:
3512         (WebCore::V8EventListener::create):
3513         (WebCore::V8EventListener::virtualisAttribute):
3514
3515 2009-04-24  Nate Chapin  <japhet@google.com>
3516
3517         Reviewed by Dimitri Glazkov.
3518
3519         https://bugs.webkit.org/show_bug.cgi?id=25343
3520         Fix Chromium/Skia bug where -webkit-box-shadow with 0,0 offset 
3521         ignores blur.
3522
3523         * WebCore\platform\graphics\skia\GraphicsContextSkia.cpp
3524          (WebCore::GraphicsContext::setPlatformShadow): Add check against
3525          blur before clearing looper.
3526
3527 2009-04-24  Eric Roman  <eroman@chromium.org>
3528
3529         Reviewed by Darin Adler.
3530
3531         Initialize TextIterator::m_textLength to 0.
3532
3533         This assures that TextIterator::length() will return 0 for cases when TextIterator's constructor returns early (because there is nothing to iterate over in the range).
3534
3535         <https://bugs.webkit.org/show_bug.cgi?id=25335>
3536
3537         Test: editing/selection/doubleclick-whitespace-img-crash.html
3538
3539         * editing/TextIterator.cpp:
3540         (WebCore::TextIterator::TextIterator):
3541
3542 2009-04-24  Fumitoshi Ukai  <ukai@google.com>
3543
3544         Reviewed by Dimitri Glazkov.
3545
3546         https://bugs.webkit.org/show_bug.cgi?id=25329
3547         Add indexed access method in v8 binding of ClientRectList.
3548
3549         * bindings/v8/custom/V8ClientRectListCustom.cpp: Added.
3550
3551 2009-04-24  Fumitoshi Ukai  <ukai@google.com>
3552
3553         Reviewed by Dimitri Glazkov.
3554
3555         https://bugs.webkit.org/show_bug.cgi?id=25257
3556         Use null for unspecified event listener attributes of XMLHttpRequest
3557         and XMLHttpRequestUpload in v8 binding.
3558
3559         cf. http://www.whatwg.org/specs/web-apps/current-work/#event-handler-attributes
3560         An event handler attribute, unless otherwise specified, can either
3561         have the value null or be set to a Function object.
3562         Initially, an event handler attribute must be set to null.
3563
3564         Test: fast/xmlhttprequest/xmlhttprequest-default-attributes.html
3565
3566         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3567         (WebCore::ACCESSOR_GETTER): Changed to use v8::Null().
3568         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
3569         (WebCore::ACCESSOR_GETTER): Ditto.
3570
3571 2009-04-24  Darin Adler  <darin@apple.com>
3572