46cc3bfd593652a853d534dbcc0f74f6b4d4de5a
[WebKit-https.git] / WebCore / ChangeLog
1 2009-07-27  Stephen White  <senorblanco@chromium.org>
2
3         Reviewed by Eric Seidel and David Levin.
4
5         Re-apply chromium/skia border fix (originally landed in r46157,
6         reverted in r46363), since it was not the cause of the reliability
7         failures in Chromium.
8
9         http://bugs.webkit.org/show_bug.cgi?id=27388
10
11         * platform/graphics/skia/GraphicsContextSkia.cpp:
12         (WebCore::GraphicsContext::drawLine):
13         * platform/graphics/skia/PlatformContextSkia.cpp:
14         (PlatformContextSkia::setupPaintForStroking):
15
16 2009-07-27  Ryosuke Niwa  <rniwa@webkit.org>
17
18         Reviewed by Justin Garcia.
19
20         createMarkup does not handle CSS properly
21         https://bugs.webkit.org/show_bug.cgi?id=27660
22
23         This patch isolates code that creates markup for styles in addStyleMarkup
24         It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup
25         so that we can assume no text decoration style is passed to addStyleMarkup.
26
27         * editing/markup.cpp:
28         (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration
29         (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags
30         (WebCore::addStyleMarkup): Adds markup for style span and div
31         (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup
32
33 2009-07-27  Eric Seidel  <eric@webkit.org>
34
35         Reviewed by Adam Barth.
36
37         fix more obvious global object lookups
38         https://bugs.webkit.org/show_bug.cgi?id=27745
39
40         No new tests for these changes.  I believe in many cases
41         testing to be impossible.  Lack of testing justification next to
42         each change below.  The remaining pieces of bug 27634 will all
43         need tests.
44
45         * bindings/js/JSDOMWindowBase.cpp:
46         (WebCore::JSDOMWindowBase::updateDocument): not testable.
47         * bindings/js/JSDataGridColumnListCustom.cpp:
48         (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature.
49         * bindings/js/JSEventListener.cpp:
50         (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame
51         * bindings/js/JSEventTarget.cpp:
52         (WebCore::toJS): covered by other tests, always correct to pass the globalObject through.
53         * bindings/js/JSHTMLElementCustom.cpp:
54         (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered.
55         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
56         (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with.
57         * bindings/js/JSLazyEventListener.cpp:
58         (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event.
59         * bindings/js/ScriptController.cpp:
60         (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test.
61         * bindings/js/ScriptEventListener.cpp:
62         (WebCore::createAttributeEventListener): unclear how to test.
63         * bindings/js/ScriptObject.cpp:
64         (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only.
65         * bindings/js/ScriptObjectQuarantine.cpp:
66         (WebCore::getQuarantinedScriptObject): unclear how to test.
67         * bindings/objc/DOMInternal.mm:
68         (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test.
69
70 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
71
72         Reviewed by George Staikos.
73
74         [WML] 'title' attribute handling not correct for <a> / <anchor> elements
75         https://bugs.webkit.org/show_bug.cgi?id=27720
76
77         Unify title() implementation in WMLElement instead of several copies of the same logic.
78         We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the
79         WML manual-test suite.
80
81         * wml/WMLCardElement.cpp:
82         * wml/WMLCardElement.h:
83         * wml/WMLElement.cpp:
84         (WebCore::WMLElement::title):
85         * wml/WMLElement.h:
86         * wml/WMLOptGroupElement.cpp:
87         * wml/WMLOptGroupElement.h:
88         * wml/WMLSelectElement.cpp:
89         * wml/WMLSelectElement.h:
90
91 2009-07-27  Adam Treat  <adam.treat@torchmobile.com>
92
93         Speculative build fix for Windows and WinCE.
94
95         * plugins/win/PluginPackageWin.cpp:
96         (WebCore::PluginPackage::load):
97
98 2009-07-27  Ojan Vafai  <ojan@chromium.org>
99
100         Reviewed by Darin Adler.
101
102         https://bugs.webkit.org/show_bug.cgi?id=27474
103         Fixes crashes due to renderer getting destroyed in updateLayout.
104         We need to call updateLayout before we call into the renderer.
105         Removed the updateLayout call from RenderTextControl and moved it
106         into the calling sites.
107         
108         Also changes updateLayout to updateLayoutIgnorePendingStylesheets so
109         this works with pending stylesheets. Unfortunately, this seems to be
110         untestable. Loading an external stylesheet and then having an inline
111         script hit this code did not result in an pending stylesheets.
112         
113         The are other cases of this bug in the rendering code. I'll file a 
114         followup bug to audit the calls to updateLayout.
115
116         Test: fast/dom/text-control-crash-on-select.html
117
118         * dom/Document.h:
119         (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance
120             and setSelectionRange could deal with cases of reentrancy into updateLayout
121             calls. This happens in a couple layout tests.
122         * dom/InputElement.cpp:
123         (WebCore::InputElement::updateSelectionRange):
124         * html/HTMLInputElement.cpp:
125         (WebCore::isTextFieldWithRendererAfterUpdateLayout):
126         (WebCore::HTMLInputElement::setSelectionStart):
127         (WebCore::HTMLInputElement::setSelectionEnd):
128         (WebCore::HTMLInputElement::select):
129         * html/HTMLTextAreaElement.cpp:
130         (WebCore::rendererAfterUpdateLayout):
131         (WebCore::HTMLTextAreaElement::setSelectionStart):
132         (WebCore::HTMLTextAreaElement::setSelectionEnd):
133         (WebCore::HTMLTextAreaElement::select):
134         (WebCore::HTMLTextAreaElement::setSelectionRange):
135         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
136         * rendering/RenderTextControl.cpp:
137         (WebCore::RenderTextControl::setSelectionRange):
138
139 2009-07-27  Dimitri Glazkov  <dglazkov@chromium.org>
140
141         Reviewed by Dave Levin.
142
143         [V8] Remove parameterless frame/window retrieval methods from V8Proxy.
144         https://bugs.webkit.org/show_bug.cgi?id=27737
145
146         Refactoring, no new behavior, covered by existing tests.
147
148         * bindings/v8/ScriptCallStack.cpp:
149         (WebCore::ScriptCallStack::ScriptCallStack):
150         * bindings/v8/V8NPUtils.cpp:
151         (convertV8ObjectToNPVariant): Ditto.
152         * bindings/v8/V8Proxy.cpp:
153         (WebCore::V8Proxy::retrieve): Ditto.
154         (WebCore::V8Proxy::canAccessPrivate): Ditto.
155         * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls.
156         * bindings/v8/custom/V8DatabaseCustom.cpp:
157         (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext().
158         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
159         (WebCore::CALLBACK_FUNC_DECL): Ditto.
160         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
161         (WebCore::CALLBACK_FUNC_DECL): Ditto.
162         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
163         (WebCore::CALLBACK_FUNC_DECL): Ditto.
164         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
165         (WebCore::CALLBACK_FUNC_DECL): Ditto.
166         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
167         (WebCore::CALLBACK_FUNC_DECL): Ditto.
168         * bindings/v8/custom/V8WorkerCustom.cpp:
169         (WebCore::CALLBACK_FUNC_DECL): Ditto.
170         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
171         (WebCore::CALLBACK_FUNC_DECL): Ditto.
172
173 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
174
175         Reviewed by George Staikos.
176
177         [WML] 'onpick' intrinsic event handling missing
178         https://bugs.webkit.org/show_bug.cgi?id=27723
179
180         Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState().
181         All was in place, just forgot to enable the relevant code.
182
183         Fixes manual-tests/wml/select-onpick-event.wml
184         Test: wml/option-element-onpick.html
185
186         * wml/WMLOptionElement.cpp:
187         (WebCore::WMLOptionElement::setSelectedState):
188
189 2009-07-27  Alexey Proskuryakov  <ap@webkit.org>
190
191         Reviewed by Darin Adler.
192
193         https://bugs.webkit.org/show_bug.cgi?id=27735
194         Give a helpful name to JSLock constructor argument
195
196         * bindings/js/GCController.cpp:
197         (WebCore::collect):
198         (WebCore::GCController::gcTimerFired):
199         (WebCore::GCController::garbageCollectNow):
200         * bindings/js/JSCustomPositionCallback.cpp:
201         (WebCore::JSCustomPositionCallback::handleEvent):
202         * bindings/js/JSCustomPositionErrorCallback.cpp:
203         (WebCore::JSCustomPositionErrorCallback::handleEvent):
204         * bindings/js/JSCustomSQLStatementCallback.cpp:
205         (WebCore::JSCustomSQLStatementCallback::handleEvent):
206         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
207         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
208         * bindings/js/JSCustomSQLTransactionCallback.cpp:
209         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
210         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
211         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
212         * bindings/js/JSCustomVoidCallback.cpp:
213         (WebCore::JSCustomVoidCallback::handleEvent):
214         * bindings/js/JSCustomXPathNSResolver.cpp:
215         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
216         * bindings/js/JSEventCustom.cpp:
217         (WebCore::toJS):
218         * bindings/js/JSEventListener.cpp:
219         (WebCore::JSEventListener::handleEvent):
220         * bindings/js/JSInspectorBackendCustom.cpp:
221         (WebCore::JSInspectorBackend::currentCallFrame):
222         (WebCore::JSInspectorBackend::profiles):
223         * bindings/js/JSNodeFilterCondition.cpp:
224         (WebCore::JSNodeFilterCondition::acceptNode):
225         * bindings/js/ScheduledAction.cpp:
226         (WebCore::ScheduledAction::executeFunctionInContext):
227         * bindings/js/ScriptArray.cpp:
228         (WebCore::ScriptArray::set):
229         (WebCore::ScriptArray::createNew):
230         * bindings/js/ScriptCachedFrameData.cpp:
231         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
232         (WebCore::ScriptCachedFrameData::restore):
233         (WebCore::ScriptCachedFrameData::clear):
234         * bindings/js/ScriptController.cpp:
235         (WebCore::ScriptController::evaluate):
236         (WebCore::ScriptController::clearWindowShell):
237         (WebCore::ScriptController::initScript):
238         (WebCore::ScriptController::updateDocument):
239         (WebCore::ScriptController::bindingRootObject):
240         (WebCore::ScriptController::windowScriptNPObject):
241         (WebCore::ScriptController::jsObjectForPluginElement):
242         (WebCore::ScriptController::clearScriptObjects):
243         * bindings/js/ScriptControllerMac.mm:
244         (WebCore::ScriptController::windowScriptObject):
245         * bindings/js/ScriptEventListener.cpp:
246         (WebCore::createAttributeEventListener):
247         * bindings/js/ScriptFunctionCall.cpp:
248         (WebCore::ScriptFunctionCall::appendArgument):
249         (WebCore::ScriptFunctionCall::call):
250         (WebCore::ScriptFunctionCall::construct):
251         * bindings/js/ScriptObject.cpp:
252         (WebCore::ScriptObject::set):
253         (WebCore::ScriptObject::createNew):
254         (WebCore::ScriptGlobalObject::set):
255         (WebCore::ScriptGlobalObject::get):
256         (WebCore::ScriptGlobalObject::remove):
257         * bindings/js/ScriptObjectQuarantine.cpp:
258         (WebCore::quarantineValue):
259         (WebCore::getQuarantinedScriptObject):
260         * bindings/js/ScriptValue.cpp:
261         (WebCore::ScriptValue::getString):
262         * bindings/js/WorkerScriptController.cpp:
263         (WebCore::WorkerScriptController::initScript):
264         (WebCore::WorkerScriptController::evaluate):
265         * bindings/objc/WebScriptObject.mm:
266         (-[WebScriptObject callWebScriptMethod:withArguments:]):
267         (-[WebScriptObject evaluateWebScript:]):
268         (-[WebScriptObject setValue:forKey:]):
269         (-[WebScriptObject valueForKey:]):
270         (-[WebScriptObject removeWebScriptKey:]):
271         (-[WebScriptObject stringRepresentation]):
272         (-[WebScriptObject webScriptValueAtIndex:]):
273         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
274         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
275         * bridge/NP_jsobject.cpp:
276         (_NPN_InvokeDefault):
277         (_NPN_Invoke):
278         (_NPN_Evaluate):
279         (_NPN_GetProperty):
280         (_NPN_SetProperty):
281         (_NPN_RemoveProperty):
282         (_NPN_HasProperty):
283         (_NPN_HasMethod):
284         (_NPN_Enumerate):
285         (_NPN_Construct):
286         * bridge/c/c_class.cpp:
287         (JSC::Bindings::CClass::~CClass):
288         (JSC::Bindings::CClass::methodsNamed):
289         (JSC::Bindings::CClass::fieldNamed):
290         * bridge/c/c_instance.cpp:
291         (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
292         (JSC::Bindings::CInstance::invokeMethod):
293         (JSC::Bindings::CInstance::invokeDefaultMethod):
294         (JSC::Bindings::CInstance::invokeConstruct):
295         (JSC::Bindings::CInstance::getPropertyNames):
296         * bridge/c/c_runtime.cpp:
297         (JSC::Bindings::CField::valueFromInstance):
298         (JSC::Bindings::CField::setValueToInstance):
299         * bridge/c/c_utility.cpp:
300         (JSC::Bindings::convertValueToNPVariant):
301         (JSC::Bindings::convertNPVariantToValue):
302         * bridge/jni/jni_class.cpp:
303         (JavaClass::JavaClass):
304         (JavaClass::~JavaClass):
305         * bridge/jni/jni_instance.cpp:
306         (JavaInstance::stringValue):
307         * bridge/jni/jni_jsobject.mm:
308         (JavaJSObject::call):
309         (JavaJSObject::eval):
310         (JavaJSObject::getMember):
311         (JavaJSObject::setMember):
312         (JavaJSObject::removeMember):
313         (JavaJSObject::getSlot):
314         (JavaJSObject::setSlot):
315         (JavaJSObject::toString):
316         (JavaJSObject::convertValueToJObject):
317         (JavaJSObject::convertJObjectToValue):
318         * bridge/jni/jni_objc.mm:
319         (JSC::Bindings::dispatchJNICall):
320         * bridge/jni/jni_runtime.cpp:
321         (JavaMethod::signature):
322         * bridge/jni/jni_runtime.h:
323         (JSC::Bindings::JavaString::JavaString):
324         (JSC::Bindings::JavaString::_commonInit):
325         (JSC::Bindings::JavaString::~JavaString):
326         (JSC::Bindings::JavaString::UTF8String):
327         * bridge/jni/jni_utility.cpp:
328         (JSC::Bindings::convertValueToJValue):
329         * bridge/objc/objc_instance.mm:
330         (ObjcInstance::moveGlobalExceptionToExecState):
331         (ObjcInstance::invokeMethod):
332         (ObjcInstance::invokeDefaultMethod):
333         (ObjcInstance::setValueOfUndefinedField):
334         (ObjcInstance::getValueOfUndefinedField):
335         * bridge/objc/objc_runtime.mm:
336         (JSC::Bindings::ObjcField::valueFromInstance):
337         (JSC::Bindings::ObjcField::setValueToInstance):
338         * bridge/objc/objc_utility.mm:
339         (JSC::Bindings::convertValueToObjcValue):
340         (JSC::Bindings::convertNSStringToString):
341         (JSC::Bindings::convertObjcValueToValue):
342         * bridge/qt/qt_instance.cpp:
343         (JSC::Bindings::QtRuntimeObjectImp::removeFromCache):
344         (JSC::Bindings::QtInstance::~QtInstance):
345         (JSC::Bindings::QtInstance::getQtInstance):
346         (JSC::Bindings::QtInstance::createRuntimeObject):
347         * bridge/qt/qt_runtime.cpp:
348         (JSC::Bindings::convertValueToQVariant):
349         (JSC::Bindings::convertQVariantToValue):
350         (JSC::Bindings::QtRuntimeMetaMethod::call):
351         (JSC::Bindings::QtRuntimeConnectionMethod::call):
352         (JSC::Bindings::QtConnectionObject::execute):
353         * bridge/runtime.cpp:
354         (JSC::Bindings::Instance::createRuntimeObject):
355         * inspector/InspectorController.cpp:
356         (WebCore::InspectorController::addScriptProfile):
357         * inspector/JavaScriptCallFrame.cpp:
358         (WebCore::JavaScriptCallFrame::evaluate):
359         * inspector/JavaScriptDebugServer.cpp:
360         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
361         * inspector/JavaScriptProfileNode.cpp:
362         (WebCore::getTotalTime):
363         (WebCore::getSelfTime):
364         (WebCore::getTotalPercent):
365         (WebCore::getSelfPercent):
366         (WebCore::getNumberOfCalls):
367         (WebCore::getChildren):
368         (WebCore::getParent):
369         (WebCore::getHead):
370         (WebCore::getVisible):
371         (WebCore::getCallUID):
372         * plugins/PluginView.cpp:
373         (WebCore::PluginView::start):
374         (WebCore::getString):
375         (WebCore::PluginView::performRequest):
376         (WebCore::PluginView::bindingInstance):
377         * plugins/gtk/PluginViewGtk.cpp:
378         (WebCore::PluginView::dispatchNPEvent):
379         (WebCore::PluginView::handleKeyboardEvent):
380         (WebCore::PluginView::handleMouseEvent):
381         (WebCore::PluginView::setNPWindowIfNeeded):
382         (WebCore::PluginView::stop):
383         (WebCore::PluginView::init):
384         * plugins/mac/PluginViewMac.cpp:
385         (WebCore::PluginView::stop):
386         (WebCore::PluginView::setNPWindowIfNeeded):
387         (WebCore::PluginView::dispatchNPEvent):
388         * plugins/qt/PluginViewQt.cpp:
389         (WebCore::PluginView::setNPWindowIfNeeded):
390         (WebCore::PluginView::stop):
391         (WebCore::PluginView::init):
392         * plugins/win/PluginViewWin.cpp:
393         (WebCore::PluginView::dispatchNPEvent):
394         (WebCore::PluginView::handleKeyboardEvent):
395         (WebCore::PluginView::handleMouseEvent):
396         (WebCore::PluginView::setNPWindowRect):
397         (WebCore::PluginView::stop):
398
399 2009-07-27  Yong Li  <yong.li@torchmobile.com>
400
401         Reviewed by George Staikos.
402
403         WINCE PORT: Make plugin work for WINCE
404         https://bugs.webkit.org/show_bug.cgi?id=27713
405
406         * plugins/win/PluginDatabaseWin.cpp:
407         (SHGetValue):
408         (PathRemoveFileSpec):
409         (WebCore::addWindowsMediaPlayerPluginDirectory):
410         (WebCore::addMacromediaPluginDirectories):
411         * plugins/win/PluginPackageWin.cpp:
412         (WebCore::PluginPackage::load):
413         * plugins/win/PluginViewWin.cpp:
414         (WebCore::registerPluginView):
415         (WebCore::PluginView::wndProc):
416         (WebCore::PluginView::updatePluginWidget):
417         (WebCore::PluginView::paintWindowedPluginIntoContext):
418         (WebCore::PluginView::paint):
419         (WebCore::PluginView::handleMouseEvent):
420         (WebCore::PluginView::setParent):
421         (WebCore::PluginView::setNPWindowRect):
422         (WebCore::PluginView::stop):
423         (WebCore::PluginView::init):
424
425 2009-07-27  Joseph Pecoraro  <joepeck02@gmail.com>
426
427         Inspector: Tab Through Element Attributes and CSS Properties When Editing
428
429         https://bugs.webkit.org/show_bug.cgi?id=27673
430
431         Reviewed by Timothy Hatcher.
432
433         * inspector/front-end/ElementsTreeOutline.js:
434         (WebInspector.ElementsTreeElement):
435         (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter
436         (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess
437         (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it
438         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes
439         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
440         * inspector/front-end/StylesSidebarPane.js:
441         (WebInspector.StylePropertiesSection.prototype.onpopulate):
442         (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name
443         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties
444         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements
445         (WebInspector.StylePropertyTreeElement.prototype.):
446         (WebInspector.StylePropertyTreeElement.prototype):
447         * inspector/front-end/inspector.js:
448         (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback
449         (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction
450         (WebInspector.startEditing):
451
452 2009-07-27  Mike Fenton  <mike.fenton@torchmobile.com>
453
454         Reviewed by Adam Treat.
455
456         Add mapping FontWeight to QFont::Weight values as requested via FIXME.
457         https://bugs.webkit.org/show_bug.cgi?id=27663
458
459         * platform/graphics/qt/FontCacheQt.cpp:
460         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
461         * platform/graphics/qt/FontPlatformData.h:
462         (WebCore::FontPlatformData::toQFontWeight):
463         * platform/graphics/qt/FontPlatformDataQt.cpp:
464         (WebCore::FontPlatformData::FontPlatformData):
465
466 2009-07-27  Jakub Wieczorek  <faw217@gmail.com>
467
468          Reviewed by Adam Treat.
469
470          When clearing the plugin database, clear also the timestamp map.
471
472          https://bugs.webkit.org/show_bug.cgi?id=27651
473
474          Currently, if we clear the database, it will still think that it is up
475          to date with the plugin directories so refreshing the database again
476          after changing the search paths may not work.
477
478          * plugins/PluginDatabase.cpp:
479          (WebCore::PluginDatabase::clear):
480
481 2009-07-27  Albert J. Wong  <ajwong@chromium.org>
482
483         Reviewed by David Levin.
484
485         Add in trivial implementation of FontPlatformData::description() for
486         linux to fix build bustage in chromium.
487
488         Fix chromium linux build by adding missing function implementation.
489         https://bugs.webkit.org/show_bug.cgi?id=27732
490
491         Tested with a build of chromium on linux.
492
493         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
494         (WebCore::FontPlatformData::description):
495         * platform/graphics/chromium/FontPlatformDataLinux.h:
496
497 2009-07-27  Brent Fulgham  <bfulgham@webkit.org>
498
499         Build correct, no review.
500
501         Final correction for WinCairo builds.
502         CoreServices only exists in Apple builds, but
503         some of its internal includes (e.g., <windows.h>) are needed
504         for other Windows targets.
505
506         * WebCorePrefix.h: When building for WinCairo, make sure
507           to include <windows.h>, <stdio.h>, and <ConditionalMacros.h>
508
509 2009-07-27  Michelangelo De Simone  <micdesim@gmail.com>
510
511         Reviewed by Darin Adler.
512
513         https://bugs.webkit.org/show_bug.cgi?id=25552
514         Added new "pattern" attribute to HTMLInputElement and validation code
515         (validity.patternMismatch) as per HTML5 specs.
516         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern
517
518         Tests: fast/forms/ValidityState-002.html
519                fast/forms/ValidityState-patternMismatch-001.html
520                fast/forms/ValidityState-patternMismatch-002.html
521                fast/forms/ValidityState-patternMismatch-003.html
522                fast/forms/ValidityState-patternMismatch-004.html
523                fast/forms/ValidityState-patternMismatch-005.html
524                fast/forms/ValidityState-patternMismatch-006.html
525                fast/forms/ValidityState-patternMismatch-007.html
526                fast/forms/pattern-attribute-001.html
527                fast/forms/pattern-attribute-002.html
528                fast/forms/pattern-attribute-003.html
529
530         * html/HTMLAttributeNames.in: pattern attribute
531         * html/HTMLFormControlElement.h:
532         (WebCore::HTMLFormControlElement::patternMismatch): method definition
533         * html/HTMLInputElement.cpp:
534         (WebCore::HTMLInputElement::patternMismatch): validation method
535         * html/HTMLInputElement.h:
536         * html/HTMLInputElement.idl:
537         * html/ValidityState.h:
538         (WebCore::ValidityState::patternMismatch): validation flag
539
540 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
541
542         Reviewed by George Staikos.
543
544         [WML] Manual WML tests aren't properly working
545         https://bugs.webkit.org/show_bug.cgi?id=27718
546
547         Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests).
548         Add missing resources directory and test image. Reformat all testcases to a common style.
549         Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests.
550
551         Filing bugs soon for all tests exposing bugs (7 in total).
552
553         * manual-tests/wml/StartTests.wml: Added.
554         * manual-tests/wml/a-br-element.wml:
555         * manual-tests/wml/a-element.wml:
556         * manual-tests/wml/a-img-element.wml:
557         * manual-tests/wml/access-target.wml:
558         * manual-tests/wml/anchor-br-element.wml:
559         * manual-tests/wml/anchor-element.wml:
560         * manual-tests/wml/anchor-img-element.wml:
561         * manual-tests/wml/card-newcontext-attr.wml:
562         * manual-tests/wml/card-onenterbackward.wml:
563         * manual-tests/wml/card-onenterforward.wml:
564         * manual-tests/wml/card-ontimer.wml:
565         * manual-tests/wml/card-title-attr.wml: Removed.
566         * manual-tests/wml/deck-access-control.wml:
567         * manual-tests/wml/go-element.wml: Removed.
568         * manual-tests/wml/input-emptyok.wml: Removed.
569         * manual-tests/wml/input-format.wml:
570         * manual-tests/wml/onevent-go.wml:
571         * manual-tests/wml/onevent-noop.wml:
572         * manual-tests/wml/onevent-prev.wml:
573         * manual-tests/wml/onevent-refresh.wml:
574         * manual-tests/wml/onevent-shadow.wml:
575         * manual-tests/wml/postfield-get.wml: Removed.
576         * manual-tests/wml/postfield-post.wml: Removed.
577         * manual-tests/wml/resources: Added.
578         * manual-tests/wml/resources/smiley.png: Added.
579         * manual-tests/wml/select-element.wml:
580         * manual-tests/wml/select-onpick-event.wml:
581         * manual-tests/wml/setvar-element.wml:
582         * manual-tests/wml/targetdeck.wml:
583         * manual-tests/wml/task-go-in-anchor.wml:
584         * manual-tests/wml/task-noop-in-do.wml:
585         * manual-tests/wml/task-noop-in-onevent.wml: Removed.
586         * manual-tests/wml/task-prev-in-anchor.wml:
587         * manual-tests/wml/task-refresh-in-anchor.wml:
588         * manual-tests/wml/template-go.wml:
589         * manual-tests/wml/template-onevent.wml: Removed.
590         * manual-tests/wml/template-ontimer.wml:
591         * manual-tests/wml/timer.wml:
592         * manual-tests/wml/variable-substitution.wml:
593
594 2009-07-27  Nate Chapin  <japhet@chromium.org>
595
596         Reviewed by Dimitri Glazkov.
597
598         Fix a regression introduced in r42671, which caused the js event 
599         object to be hidden (some websites depend on being able to access it).
600
601         https://bugs.webkit.org/show_bug.cgi?id=27719
602
603         * bindings/v8/V8AbstractEventListener.cpp:
604         (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden.
605
606 2009-07-27  Dumitru Daniliuc  <dumi@chromium.org>
607
608         Reviewed by Dimitri Glazkov.
609
610         Removing a no-op block of code in DatabaseTracker.cpp that
611         should've been removed in the patch for bug 26054.
612
613         https://bugs.webkit.org/show_bug.cgi?id=27666
614
615         All tests in WebCore/storage pass.
616
617         * storage/DatabaseTracker.cpp:
618         (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op
619         block of code that was moved to SQLiteFileSystem.cpp and should
620         have been removed from DatabaseTracker.cpp
621
622 2009-07-27  Jian Li  <jianli@chromium.org>
623
624         Reviewed by David Levin.
625
626         Fix error handling in dedicated worker and worker context.
627         https://bugs.webkit.org/show_bug.cgi?id=27525
628
629         The following problems have been fixed:
630         1) The uncaught runtime script error is not reported using the
631         WorkerGlobalScope object's onerror attribute.
632         2) If the error is still not handled afterwards (onerror attribute
633         is not defined as a function or it returns true), the error should
634         be reported back to the associated Worker object by firing an
635         ErrorEvent.
636         3) If the error is still not handled by the associated Worker
637         object, the error should be reported to the user.
638
639         Test: fast/workers/worker-script-error.html
640
641         * bindings/js/JSEventListener.cpp:
642         (WebCore::JSEventListener::reportError):
643         * bindings/js/JSEventListener.h:
644         * dom/EventListener.h:
645         (WebCore::EventListener::reportError): adds a function to call
646         EventListener as a function with 3 arguments to report an error.
647         * workers/AbstractWorker.cpp:
648         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
649         * workers/AbstractWorker.h:
650         * workers/DedicatedWorkerContext.cpp:
651         (WebCore::DedicatedWorkerContext::reportException):
652         * workers/WorkerContext.cpp:
653         (WebCore::WorkerContext::reportException):
654         * workers/WorkerContext.h:
655         * workers/WorkerMessagingProxy.cpp:
656         (WebCore::WorkerExceptionTask::performTask):
657         * workers/WorkerMessagingProxy.h:
658
659 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
660
661         Reviewed by George Staikos.
662
663         [WML] History handling / page cache / loading is buggy and depends on several hacks
664         https://bugs.webkit.org/show_bug.cgi?id=27707
665
666         Redesign WML history/loading handling. In detail:
667
668         - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour
669           by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect
670           WML content itself.
671
672           WML content is usually a standalone WML document (isWMLDocument()=true) or as special case
673           an XHTML document which embeds a WML document (that's the way the WML layout tests work).
674           Force WML loading behaviour even for XHTML document which embed WML documents. This only
675           applies to our layout tests, not for any real world site. Though it gives us a perfect
676           way to test the WML loading code even when we're not operating on a standalone WML document.
677
678           Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted
679           in a standalone WML document or wheter the main frame document is different. If it differs
680           the main frame documents' "containsWMLContent" property is set to true.
681
682           -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which
683              checks if the associated frame document is a WML document or wheter it contains WML content.
684
685         - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll'
686           detection. WML documents (or those containing WML content) always want new loads even for in-page
687           navigation. No "scroll to anchor" mechanism should apply.
688
689         - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent().
690           WML pages should never be cached, potential security problem due the use of variables (per spec).
691
692         Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling
693         and history navigation (<prev/> task).
694
695         Tests: wml/enter-card-with-events.html
696                wml/enter-first-card-with-events.html
697
698         * dom/Document.cpp: Initialize new 'm_containsWMLContent' property.
699         (WebCore::Document::Document):
700         * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above).
701         (WebCore::Document::setContainsWMLContent):
702         (WebCore::Document::containsWMLContent):
703         * history/BackForwardList.cpp:
704         (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup.
705         * history/BackForwardList.h:
706         * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above).
707         (WebCore::FrameLoader::FrameLoader):
708         (WebCore::frameContainsWMLContent):
709         (WebCore::FrameLoader::canCachePageContainingThisFrame):
710         (WebCore::FrameLoader::shouldReload):
711         (WebCore::FrameLoader::loadItem):
712         * loader/FrameLoader.h:
713         * wml/WMLCardElement.cpp: 
714         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length.
715         (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document.
716         * wml/WMLGoElement.cpp: 
717         (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck()
718         * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own.
719         (WebCore::WMLPageState::WMLPageState):
720         (WebCore::WMLPageState::dump):
721         (WebCore::WMLPageState::reset):
722         * wml/WMLPageState.h:
723
724 2009-07-27  Pavel Feldman  <pfeldman@chromium.org>
725
726         Reviewed by Adam Roben.
727
728         Fix Chromium build breakage introduced in 46388.
729
730         https://bugs.webkit.org/show_bug.cgi?id=27705
731
732         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
733         (WebCore::FontPlatformData::description):
734         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
735
736 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
737
738         Reviewed by Simon Hausmann.
739
740         Add some more debug logging to PluginViewMac.
741
742         * plugins/mac/PluginViewMac.cpp:
743
744 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
745
746         Reviewed by Jan Michael Alonzo.
747
748         Remove dead code from the GTK NPAPI implementation.
749
750         * plugins/gtk/PluginViewGtk.cpp:
751
752 2009-07-27  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
753
754         Reviewed by Simon Hausmann.
755
756         [Qt] Buildfix on Windows.
757         https://bugs.webkit.org/show_bug.cgi?id=27702
758
759         * plugins/win/PluginViewWin.cpp:
760         (WebCore::PluginView::hookedEndPaint):
761             Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline 
762             assembly, because with "g" constraint, wrong assembly code generated.
763
764 2009-07-27  Pavel Feldman  <pfeldman@chromium.org>
765
766         Reviewed by Timothy Hatcher.
767
768         WebCore bindings: Implement ScriptArray bindings.
769
770         https://bugs.webkit.org/show_bug.cgi?id=27691
771
772         * GNUmakefile.am:
773         * WebCore.gypi:
774         * WebCore.pro:
775         * WebCore.vcproj/WebCore.vcproj:
776         * WebCore.xcodeproj/project.pbxproj:
777         * bindings/js/ScriptArray.cpp: Added.
778         (WebCore::ScriptArray::ScriptArray):
779         (WebCore::handleException):
780         (WebCore::ScriptArray::set):
781         (WebCore::length):
782         (WebCore::ScriptArray::createNew):
783         * bindings/js/ScriptArray.h: Added.
784         (WebCore::ScriptArray::ScriptArray):
785         (WebCore::ScriptArray::jsArray):
786         * bindings/v8/ScriptArray.cpp: Added.
787         (WebCore::ScriptArray::ScriptArray):
788         (WebCore::ScriptArray::set):
789         (WebCore::ScriptArray::length):
790         (WebCore::ScriptArray::createNew):
791         * bindings/v8/ScriptArray.h: Added.
792         (WebCore::ScriptArray::ScriptArray):
793         (WebCore::ScriptArray::~ScriptArray):
794
795 2009-07-27  Brent Fulgham  <bfulgham@webkit.org>
796
797         Build correct, no review.
798
799         Change in r46407 broke Apple Windows build.
800         Switch to WinCairo-only test, to avoid any
801         other platform break.
802
803         * WebCorePrefix.h: 
804
805 2009-07-26  Brent Fulgham  <bfulgham@webkit.org>
806
807         Build correct, no review.
808
809         Change in r46407 broke Apple Windows build.
810
811         * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if
812           CoreServices.h should be included.
813
814 2009-07-26  Brent Fulgham  <bfulgham@webkit.org>
815
816         Build correction, no review.
817
818         Change in r46195 broke WinCairo build.
819
820         * WebCorePrefix.h: CoreServices should be ignored
821           for non-Apple build.
822
823 2009-07-26  Pavel Feldman  <pfeldman@chromium.org>
824
825         Reviewed by Timothy Hatcher.
826
827         Web Inspector: Implement the breakpoints sidebar pane.
828         This change adds simple UI support into the existing
829         BreakpointSidebarPane.
830
831         https://bugs.webkit.org/show_bug.cgi?id=11175
832
833         * inspector/front-end/Breakpoint.js:
834         (WebInspector.Breakpoint.prototype.set enabled):
835         (WebInspector.Breakpoint.prototype.get label):
836         (WebInspector.Breakpoint.prototype.get id):
837         * inspector/front-end/BreakpointsSidebarPane.js:
838         (WebInspector.BreakpointsSidebarPane):
839         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
840         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
841         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked):
842         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
843         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
844         * inspector/front-end/ScriptsPanel.js:
845         (WebInspector.ScriptsPanel):
846         (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID):
847         * inspector/front-end/inspector.css:
848
849 2009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
850
851         Reviewed by Oliver Hunt.
852
853         Canvas: rotation of 'no-repeat' pattern still has small error
854         https://bugs.webkit.org/show_bug.cgi?id=26749
855
856         Use 1<<22 as steps of no-repeat pattern to make the error less
857         than 0.5.  The previous value may cause 1 pixel errors.
858
859         Add another test to show this bug clearly.
860         Also add png expected image which was missing in the previous patch.
861
862         Test: fast/canvas/image-pattern-rotate.html
863
864         * platform/graphics/cg/PatternCG.cpp:
865         (WebCore::Pattern::createPlatformPattern):
866
867 2009-07-25  Kwang Yul Seo  <skyul@company100.net>
868
869         Reviewed by Darin Adler.
870
871         Windows build break due to warning C4819
872         https://bugs.webkit.org/show_bug.cgi?id=27416
873
874         Disable C4819 warning to fix build.
875
876         * WebCore.vcproj/QTMovieWin.vcproj:
877         * WebCore.vcproj/WebCore.vcproj:
878
879 2009-07-25  Joseph Pecoraro  <joepeck02@gmail.com>
880
881         Reviewed by Kevin McCullough.
882
883         Inspector: Keyboard Shortcuts to Switch Panels
884         https://bugs.webkit.org/show_bug.cgi?id=27286
885
886         * inspector/front-end/inspector.js:
887         (WebInspector.loaded): save a list of the order of the panels
888         (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels
889
890 2009-07-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
891
892         Reviewed by George Staikos.
893
894         [Qt] Fix build break after r46369
895         https://bugs.webkit.org/show_bug.cgi?id=27680
896
897         * WebCore.pro:
898
899 2009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
900
901         Reviewed by George Staikos.
902
903         [WML] Variable substitution is buggy
904         https://bugs.webkit.org/show_bug.cgi?id=27677
905
906         Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution
907         won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html.
908
909         * dom/Text.cpp:
910         (WebCore::Text::attach):
911         * dom/Text.h:
912
913 2009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
914
915         Reviewed by George Staikos.
916
917         [WML] WMLDoElement doesn't update its RenderButton object upon attach()
918         https://bugs.webkit.org/show_bug.cgi?id=27676
919
920         WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton.
921         Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml.
922
923         * wml/WMLDoElement.cpp:
924         (WebCore::WMLDoElement::attach):
925         * wml/WMLDoElement.h:
926
927 2009-07-25  Pavel Feldman  <pfeldman@chromium.org>
928
929         Fix Windows build breakage introduced in 46390.
930
931         * WebCore.vcproj/WebCore.vcproj:
932
933 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
934
935         Reviewed by Oliver Hunt.
936
937         Inspector: Properties Should be Sorted more Naturally
938         https://bugs.webkit.org/show_bug.cgi?id=27329
939
940         * inspector/front-end/ObjectPropertiesSection.js:
941         (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties
942         (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort
943         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties
944         * inspector/front-end/utilities.js:
945         (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties
946
947 2009-07-24  Pavel Feldman  <pfeldman@chromium.org>
948
949         Reviewed by Timothy Hatcher.
950
951         Web Inspector: Split InspectorController into InspectorController
952         and InspectorBackend. Everything frontend needs from InspectorController
953         will slowly migrate into the InspectorBackend.
954
955         https://bugs.webkit.org/show_bug.cgi?id=27541
956
957         * DerivedSources.make:
958         * GNUmakefile.am:
959         * WebCore.gypi:
960         * WebCore.pro:
961         * WebCore.xcodeproj/project.pbxproj:
962         * WebCoreSources.bkl:
963         * bindings/js/JSInspectorBackendCustom.cpp: Added.
964         (WebCore::JSInspectorBackend::highlightDOMNode):
965         (WebCore::JSInspectorBackend::search):
966         (WebCore::JSInspectorBackend::databaseTableNames):
967         (WebCore::JSInspectorBackend::inspectedWindow):
968         (WebCore::JSInspectorBackend::setting):
969         (WebCore::JSInspectorBackend::setSetting):
970         (WebCore::JSInspectorBackend::wrapCallback):
971         (WebCore::JSInspectorBackend::currentCallFrame):
972         (WebCore::JSInspectorBackend::profiles):
973         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added.
974         (WebCore::CALLBACK_FUNC_DECL):
975         * bindings/js/JSInspectorControllerCustom.cpp: Removed.
976         * bindings/js/ScriptObject.cpp:
977         (WebCore::ScriptGlobalObject::set):
978         * bindings/js/ScriptObject.h:
979         * bindings/v8/DOMObjectsInclude.h:
980         * bindings/v8/DerivedSourcesAllInOne.cpp:
981         * bindings/v8/ScriptObject.cpp:
982         (WebCore::ScriptGlobalObject::set):
983         * bindings/v8/ScriptObject.h:
984         * bindings/v8/V8Index.cpp:
985         * bindings/v8/V8Index.h:
986         * bindings/v8/custom/V8CustomBinding.h:
987         * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed.
988         * inspector/InspectorController.cpp:
989         (WebCore::InspectorController::InspectorController):
990         (WebCore::InspectorController::windowScriptObjectAvailable):
991         * inspector/InspectorController.h:
992         (WebCore::InspectorController::inspectorBackend):
993         * inspector/InspectorBackend.cpp: Added.
994         * inspector/InspectorBackend.h: Added.
995         (WebCore::InspectorBackend::create):
996         (WebCore::InspectorBackend::inspectorController):
997         * inspector/InspectorBackend.idl: Added.
998         * inspector/InspectorController.idl: Removed.
999         * inspector/front-end/Resource.js:
1000         * page/Page.cpp:
1001         (WebCore::Page::Page):
1002         * page/Page.h:
1003
1004 2009-07-25  Mike Fenton  <mike.fenton@torchmobile.com>
1005
1006         Reviewed by George Staikos.
1007
1008         Update WebCore/page/Frame.cpp/h to conform to WebKit
1009         Style Guidelines as identified by cpplint.py.
1010         https://bugs.webkit.org/show_bug.cgi?id=27654
1011
1012         * page/Frame.cpp:
1013         (WebCore::Frame::Frame):
1014         (WebCore::Frame::~Frame):
1015         (WebCore::Frame::setDocument):
1016         (WebCore::Frame::firstRectForRange):
1017         (WebCore::createRegExpForLabels):
1018         (WebCore::Frame::searchForLabelsBeforeElement):
1019         (WebCore::Frame::matchLabelsAgainstElement):
1020         (WebCore::Frame::selectionLayoutChanged):
1021         (WebCore::Frame::setZoomFactor):
1022         (WebCore::Frame::reapplyStyles):
1023         (WebCore::Frame::isContentEditable):
1024         (WebCore::Frame::computeAndSetTypingStyle):
1025         (WebCore::Frame::selectionStartStylePropertyValue):
1026         (WebCore::Frame::selectionComputedStyle):
1027         (WebCore::Frame::applyEditingStyleToBodyElement):
1028         (WebCore::Frame::removeEditingStyleFromBodyElement):
1029         (WebCore::Frame::applyEditingStyleToElement):
1030         (WebCore::Frame::selectionBounds):
1031         (WebCore::Frame::currentForm):
1032         (WebCore::Frame::revealSelection):
1033         (WebCore::Frame::styleForSelectionStart):
1034         (WebCore::Frame::setSelectionFromNone):
1035         (WebCore::Frame::findString):
1036         (WebCore::Frame::markAllMatchesForText):
1037         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
1038         (WebCore::Frame::clearFormerDOMWindow):
1039         (WebCore::Frame::unfocusWindow):
1040         (WebCore::Frame::respondToChangedSelection):
1041         (WebCore::Frame::documentAtPoint):
1042         * page/Frame.h:
1043         (WebCore::Frame::create):
1044         (WebCore::Frame::displayStringModifiedByEncoding):
1045         (WebCore::Frame::pageZoomFactor):
1046         (WebCore::Frame::textZoomFactor):
1047
1048 2009-07-24  Dan Bernstein  <mitz@apple.com>
1049
1050         Reviewed by Darin Adler.
1051
1052         Add functions to print the glyph page trees for debugging
1053         https://bugs.webkit.org/show_bug.cgi?id=27671
1054
1055         * platform/graphics/FontData.h: Defined a description() method.
1056
1057         * platform/graphics/GlyphPageTreeNode.cpp:
1058         (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and
1059             its descendants.
1060         (showGlyphPageTrees): Added. Prints all glyph page trees.
1061         (showGlyphPageTree): Added. Prints the glyph page tree for a given page.
1062         * platform/graphics/GlyphPageTreeNode.h:
1063
1064         * platform/graphics/SegmentedFontData.cpp:
1065         (WebCore::SegmentedFontData::description): Added.
1066
1067         * platform/graphics/SegmentedFontData.h:
1068         * platform/graphics/SimpleFontData.cpp:
1069         (WebCore::SimpleFontData::description): Added. Uses the platform data
1070             as the description for non-svg, non-custom fonts.
1071         * platform/graphics/SimpleFontData.h:
1072
1073         * platform/graphics/gtk/FontPlatformData.h:
1074         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
1075         (WebCore::FontPlatformData::description): Added. Returns a null string.
1076         * platform/graphics/gtk/FontPlatformDataPango.cpp:
1077         (WebCore::FontPlatformData::description): Added. Returns a null string.
1078
1079         * platform/graphics/mac/FontPlatformData.h:
1080         * platform/graphics/mac/FontPlatformDataMac.mm:
1081         (WebCore::FontPlatformData::description): Added. Returns the
1082             description of the CGFont, the size and the synthetic style flags,
1083             if set.
1084
1085         * platform/graphics/qt/FontPlatformData.h:
1086         * platform/graphics/qt/FontPlatformDataQt.cpp:
1087         (WebCore::FontPlatformData::description): Added. Returns a null string.
1088
1089         * platform/graphics/win/FontPlatformData.h:
1090         * platform/graphics/win/FontPlatformDataWin.cpp:
1091         (WebCore::FontPlatformData::description): Added. Returns a null string.
1092
1093         * platform/graphics/wince/FontPlatformData.cpp:
1094         (WebCore::FontPlatformData::description): Added. Returns a null string.
1095         * platform/graphics/wince/FontPlatformData.h:
1096
1097         * platform/graphics/wx/FontPlatformData.h:
1098         * platform/graphics/wx/FontPlatformDataWx.cpp:
1099         (WebCore::FontPlatformData::description): Added. Returns a null string.
1100
1101 2009-07-24  Mads Ager  <ager@chromium.org>
1102
1103         Reviewed by Adam Barth.
1104
1105         SVG and XPath memory leaks in V8 bindings
1106         https://bugs.webkit.org/show_bug.cgi?id=27488
1107
1108         Add proper 'create' methods to SVGPodTypeWrappers and
1109         XPathNSResolvers in the V8 bindings to avoid memory leaks.
1110
1111         Introduce convertToV8Object methods that accept PassRefPtrs and
1112         clean up the use of get() and release() on RefPtrs.
1113         
1114         * bindings/scripts/CodeGeneratorV8.pm:
1115         * bindings/v8/V8DOMWrapper.h:
1116         (WebCore::V8DOMWrapper::convertNodeToV8Object):
1117         (WebCore::V8DOMWrapper::convertEventToV8Object):
1118         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1119         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
1120         * bindings/v8/V8SVGPODTypeWrapper.h:
1121         (WebCore::V8SVGPODTypeWrapperCreatorForList::create):
1122         (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList):
1123         (WebCore::V8SVGStaticPODTypeWrapper::create):
1124         (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper):
1125         (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create):
1126         (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent):
1127         (WebCore::V8SVGStaticPODTypeWrapperWithParent::create):
1128         (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent):
1129         (WebCore::V8SVGDynamicPODTypeWrapper::create):
1130         (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
1131         (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
1132         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1133         (WebCore::CALLBACK_FUNC_DECL):
1134         * bindings/v8/custom/V8ClientRectListCustom.cpp:
1135         (WebCore::INDEXED_PROPERTY_GETTER):
1136         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1137         (WebCore::V8CustomXPathNSResolver::create):
1138         * bindings/v8/custom/V8CustomXPathNSResolver.h:
1139         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1140         (WebCore::NAMED_PROPERTY_GETTER):
1141         * bindings/v8/custom/V8DocumentCustom.cpp:
1142         (WebCore::CALLBACK_FUNC_DECL):
1143         * bindings/v8/custom/V8ElementCustom.cpp:
1144         (WebCore::CALLBACK_FUNC_DECL):
1145         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1146         (WebCore::getNamedItems):
1147         (WebCore::getItem):
1148         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1149         (WebCore::NAMED_PROPERTY_GETTER):
1150         (WebCore::ACCESSOR_GETTER):
1151         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1152         (WebCore::INDEXED_PROPERTY_GETTER):
1153         (WebCore::NAMED_PROPERTY_GETTER):
1154         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1155         (WebCore::INDEXED_PROPERTY_GETTER):
1156         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
1157         (WebCore::NAMED_PROPERTY_GETTER):
1158         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
1159         (WebCore::CALLBACK_FUNC_DECL):
1160         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1161         (WebCore::INDEXED_PROPERTY_GETTER):
1162         (WebCore::NAMED_PROPERTY_GETTER):
1163         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
1164         (WebCore::toV8):
1165         * bindings/v8/custom/V8NodeListCustom.cpp:
1166         (WebCore::NAMED_PROPERTY_GETTER):
1167         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
1168         (WebCore::CALLBACK_FUNC_DECL):
1169         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
1170         (WebCore::toV8):
1171         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
1172         (WebCore::CALLBACK_FUNC_DECL):
1173
1174 2009-07-24  Brian Weinstein  <bweinstein@apple.com>
1175
1176         Reviewed by Jon Honeycutt.
1177
1178         Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging
1179         https://bugs.webkit.org/show_bug.cgi?id=21794
1180         
1181         Create two new booleans to determine whether we have done a springloaded pan scroll, and update
1182         the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function
1183         does. 
1184
1185         * page/EventHandler.cpp:
1186         (WebCore::EventHandler::EventHandler): Initialized two new booleans.
1187         (WebCore::EventHandler::autoscrollTimerFired):
1188         (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor.
1189         (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag.
1190         (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag.
1191         * page/EventHandler.h:
1192
1193 2009-07-24  Yong Li  <yong.li@torchmobile.com>
1194
1195         Reviewed by George Staikos.
1196
1197         https://bugs.webkit.org/show_bug.cgi?id=27657
1198         Add more wince port files to WebCore
1199
1200         Written by Yong Li  <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
1201
1202         * loader/icon/wince/IconDatabaseWince.cpp: Added.
1203         * rendering/RenderThemeWince.cpp: Added.
1204         * rendering/RenderThemeWince.h: Added.
1205         * storage/wince/DatabaseThreadWince.cpp: Added.
1206         * storage/wince/DatabaseThreadWince.h: Added.
1207         * storage/wince/LocalStorageThreadWince.cpp: Added.
1208         * storage/wince/LocalStorageThreadWince.h: Added.
1209         * svg/graphics/wince/SVGResourceFilterWince.cpp: Added.
1210
1211 2009-07-24  Ryosuke Niwa  <rniwa@webkit.org>
1212
1213         Reviewed by Justin Garcia.
1214
1215         execCommand('underline') can modify DOM outside of the contentEditable area
1216         https://bugs.webkit.org/show_bug.cgi?id=24333
1217
1218         highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied
1219         outside of it, we don't accidently modify the style attribute.
1220
1221         Tests: editing/style/textdecoration-outside-of-rooteditable.html
1222                editing/style/textdecoration-outside-of-unsplittable-element.html
1223
1224         * editing/ApplyStyleCommand.cpp:
1225         (WebCore::StyleChange::init):
1226         (WebCore::highestAncestorWithTextDecoration):
1227
1228 2009-07-24  Daniel Bates  <dbates@intudata.com>
1229
1230         Reviewed by Adam Barth.
1231
1232         https://bugs.webkit.org/show_bug.cgi?id=27639
1233
1234         Fixes false positives when evaluating certain strings that only contain 
1235         non-canonical characters.
1236
1237         Test: http/tests/security/xssAuditor/script-tag-safe.html
1238
1239         * page/XSSAuditor.cpp:
1240         (WebCore::isNonCanonicalCharacter):
1241         (WebCore::XSSAuditor::findInRequest):
1242
1243 2009-07-24  Drew Wilson  <atwilson@google.com>
1244
1245         Reviewed by David Levin.
1246
1247         Changed WorkerContext destructor to not access possibly-freed WorkerThread.
1248
1249         Failed assertion in WorkerContext::~WorkerContext().
1250         https://bugs.webkit.org/show_bug.cgi?id=27665
1251
1252        * workers/DedicatedWorkerContext.cpp:
1253         (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
1254         * workers/WorkerContext.cpp:
1255         (WebCore::WorkerContext::~WorkerContext):
1256         Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor).
1257
1258 2009-07-24  Drew Wilson  <atwilson@google.com>
1259
1260         Reviewed by Adam Barth.
1261
1262         Updated code generator to properly generate bindings for WorkerContext exposed functions.
1263
1264         Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError
1265         https://bugs.webkit.org/show_bug.cgi?id=27419
1266
1267         Test: fast/workers/worker-call.html
1268
1269         * bindings/js/JSWorkerContextBase.cpp:
1270         (WebCore::toJSDedicatedWorkerContext):
1271         (WebCore::toJSWorkerContext):
1272         Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object.
1273         * bindings/js/JSWorkerContextBase.h:
1274         Added toJS*WorkerContext APIs.
1275         * bindings/scripts/CodeGeneratorJS.pm:
1276         Added code to appropriately check the passed-in this object when invoking functions at global scope.
1277
1278 2009-07-24  Drew Wilson  <atwilson@google.com>
1279
1280         Reviewed by Adam Barth.
1281
1282         Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext
1283         https://bugs.webkit.org/show_bug.cgi?id=27420
1284
1285         No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality).
1286
1287         * DerivedSources.cpp:
1288         Added JSDerivedWorkerContext.cpp
1289         * DerivedSources.make:
1290         Added DerivedWorkerContext files
1291         * GNUmakefile.am:
1292         Added DerivedWorkerContext files
1293         * WebCore.gypi:
1294         Added DerivedWorkerContext files
1295         * WebCore.pro:
1296         Added DerivedWorkerContext files
1297         * WebCore.vcproj/WebCore.vcproj:
1298         Added DerivedWorkerContext files
1299         * WebCore.xcodeproj/project.pbxproj:
1300         Added DerivedWorkerContext files
1301         * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added.
1302         (WebCore::JSDedicatedWorkerContext::mark):
1303         Custom mark function for onmessage event handler.
1304         * bindings/js/JSEventTarget.cpp:
1305         (WebCore::toJS):
1306         Supports conversion to JSDedicatedWorkerContext.
1307         (WebCore::toEventTarget):
1308         * bindings/js/JSWorkerContextCustom.cpp:
1309         (WebCore::JSWorkerContext::mark):
1310         Moved onmessage mark handling into DedicatedWorkerContext.
1311         * bindings/js/WorkerScriptController.cpp:
1312         Added appropriate casts to DedicatedWorkerContext for postMessage().
1313         (WebCore::WorkerScriptController::initScript):
1314         Manually sets up the prototype chain for the worker context.
1315         * bindings/scripts/CodeGeneratorJS.pm:
1316         Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute.
1317         * bindings/scripts/CodeGeneratorV8.pm:
1318         Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext.
1319         * bindings/v8/DOMObjectsInclude.h:
1320         Added DedicatedWorkerContext.h
1321         * bindings/v8/DerivedSourcesAllInOne.cpp:
1322         Added V8DedicatedWorkerContext.cpp
1323         * bindings/v8/V8DOMWrapper.cpp:
1324         (WebCore::V8DOMWrapper::getTemplate):
1325         Added code to reserve extra fields for V8DedicatedWorkerContext.
1326         * bindings/v8/V8Index.cpp:
1327         Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h
1328         * bindings/v8/V8Index.h:
1329         Added DedicatedWorkerContext as a non-node wrapper type.
1330         Removed WORKERCONTEXT as a valid template type.
1331         * bindings/v8/WorkerContextExecutionProxy.cpp:
1332         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1333         Creates DedicatedWorkerContext instead of WorkerContext.
1334         (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
1335         Returns DedicatedWorkerContext instead of WorkerContext.
1336         (WebCore::WorkerContextExecutionProxy::retrieve):
1337         Refactored to deal with DedicatedWorkerContext.
1338         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
1339         * bindings/v8/custom/V8CustomBinding.h:
1340         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added.
1341         Moved onmessage code from V8WorkerContextCustom.cpp
1342         (WebCore::ACCESSOR_GETTER):
1343         (WebCore::ACCESSOR_SETTER):
1344         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1345         Moved onmessage code to V8DedicatedWorkerContextCustom.cpp
1346         * dom/EventTarget.cpp:
1347         (WebCore::EventTarget::toDedicatedWorkerContext):
1348         * dom/EventTarget.h:
1349         * workers/DedicatedWorkerContext.cpp: Added.
1350         Moved DedicatedWorker-only APIs from WorkerContext.
1351         (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
1352         (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
1353         (WebCore::DedicatedWorkerContext::reportException):
1354         (WebCore::DedicatedWorkerContext::postMessage):
1355         (WebCore::DedicatedWorkerContext::dispatchMessage):
1356         * workers/DedicatedWorkerContext.h: Added.
1357         Moved DedicatedWorker-only APIs from WorkerContext.
1358         (WebCore::DedicatedWorkerContext::create):
1359         (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext):
1360         (WebCore::DedicatedWorkerContext::setOnmessage):
1361         (WebCore::DedicatedWorkerContext::onmessage):
1362         * workers/DedicatedWorkerContext.idl: Added.
1363         * workers/WorkerContext.cpp:
1364         (WebCore::WorkerContext::~WorkerContext):
1365         Moved code that notifies parent that worker is closing down into DedicatedWorkerContext.
1366         * workers/WorkerContext.h:
1367         (WebCore::WorkerContext::isClosing):
1368         Exposed closing flag as an API so derived classes can access it.
1369         * workers/WorkerContext.idl:
1370         * workers/WorkerMessagingProxy.cpp:
1371         (WebCore::MessageWorkerContextTask::performTask):
1372         Calls into DedicatedWorkerContext to handle message.
1373         * workers/WorkerThread.cpp:
1374         (WebCore::WorkerThread::workerThread):
1375         Creates a DedicatedWorkerContext when the thread starts up.
1376
1377 2009-07-24  Eric Seidel  <eric@webkit.org>
1378
1379         Reviewed by Adam Barth.
1380
1381         Move more callers to using 3 argument toJS
1382         https://bugs.webkit.org/show_bug.cgi?id=27661
1383
1384         No functional changes, thus no tests.
1385         These are all the places where we can't yet pass the
1386         correct globalObject because we don't have or don't know the right one.
1387
1388         * bindings/js/JSCustomPositionCallback.cpp:
1389         (WebCore::JSCustomPositionCallback::handleEvent):
1390         * bindings/js/JSCustomPositionErrorCallback.cpp:
1391         (WebCore::JSCustomPositionErrorCallback::handleEvent):
1392         * bindings/js/JSCustomSQLStatementCallback.cpp:
1393         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1394         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1395         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1396         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1397         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1398         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1399         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1400         * bindings/js/JSNodeFilterCondition.cpp:
1401         (WebCore::JSNodeFilterCondition::acceptNode):
1402
1403 2009-07-24  Eric Seidel  <eric@webkit.org>
1404
1405         Reviewed by Adam Barth.
1406
1407         Fix the last of the x-frame constructor calls to have the right prototype chains
1408         https://bugs.webkit.org/show_bug.cgi?id=27645
1409
1410         Fix the last few constructors to use their stored globalObject pointer when
1411         constructing objects instead of the lexicalGlobalObject().
1412
1413         * bindings/js/JSAudioConstructor.cpp:
1414         (WebCore::constructAudio):
1415         * bindings/js/JSImageConstructor.cpp:
1416         (WebCore::constructImage):
1417         * bindings/js/JSMessageChannelConstructor.cpp:
1418         (WebCore::JSMessageChannelConstructor::construct):
1419         * bindings/js/JSOptionConstructor.cpp:
1420         (WebCore::constructHTMLOptionElement):
1421         * bindings/js/JSWebKitPointConstructor.cpp:
1422         (WebCore::constructWebKitPoint):
1423         * bindings/js/JSWorkerConstructor.cpp:
1424         (WebCore::constructWorker):
1425
1426 2009-07-24  Jian Li  <jianli@chromium.org>
1427
1428         Reviewed by Adam Barth.
1429
1430         [V8] Cleanup exception handling in worker evaluation code.
1431         https://bugs.webkit.org/show_bug.cgi?id=27282
1432
1433         * bindings/v8/WorkerContextExecutionProxy.cpp:
1434         (WebCore::WorkerContextExecutionProxy::evaluate):
1435         * bindings/v8/WorkerContextExecutionProxy.h:
1436         (WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
1437         * bindings/v8/WorkerScriptController.cpp:
1438         (WebCore::WorkerScriptController::evaluate):
1439         (WebCore::WorkerScriptController::setException):
1440
1441 2009-07-24  Stephen White  <senorblanco@chromium.org>
1442
1443         Reviewed by David Levin.
1444
1445         Reverting r46157, since it may be causing problems with Chromium
1446         reliability (see http://crbug.com/17569).
1447
1448         https://bugs.webkit.org/show_bug.cgi?id=27388
1449
1450         * platform/graphics/skia/GraphicsContextSkia.cpp:
1451         (WebCore::GraphicsContext::drawLine):
1452         * platform/graphics/skia/PlatformContextSkia.cpp:
1453         (PlatformContextSkia::setupPaintForStroking):
1454
1455 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
1456
1457         Reviewed by Timothy Hatcher.
1458
1459         REGRESSION: inspector seems broken in ToT WebKit
1460         https://bugs.webkit.org/show_bug.cgi?id=27646
1461
1462         * inspector/front-end/Console.js:
1463         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
1464
1465 2009-07-24  Dan Bernstein  <mitz@apple.com>
1466
1467         Reviewed by Anders Carlsson.
1468
1469         Add the shadow style member to the ShadowData constructor and ==
1470         operator
1471
1472         * rendering/style/ShadowData.cpp:
1473         (WebCore::ShadowData::ShadowData):
1474         (WebCore::ShadowData::operator==):
1475
1476 2009-07-24  Jian Li  <jianli@chromium.org>
1477
1478         Reviewed by Eric Seidel.
1479
1480         [V8] More V8 bindings changes to use ErrorEvent.
1481         https://bugs.webkit.org/show_bug.cgi?id=27630
1482
1483         * bindings/v8/DOMObjectsInclude.h:
1484         * bindings/v8/DerivedSourcesAllInOne.cpp:
1485         * bindings/v8/V8DOMWrapper.cpp:
1486         (WebCore::V8DOMWrapper::convertEventToV8Object):
1487         * bindings/v8/V8Index.cpp:
1488         * bindings/v8/V8Index.h:
1489
1490 2009-07-24  Brent Fulgham  <bfulgham@webkit.org>
1491
1492         Reviewed by Dave Hyatt.
1493
1494         Clean up dependencies on Apple support libraries for non-Apple build.
1495         http://bugs.webkit.org/show_bug.cgi?id=27532.
1496
1497         * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references
1498           to ApplicationServices.h and WebKitSystemInterface.h
1499
1500 2009-07-24  Dan Bernstein  <mitz@apple.com>
1501
1502         Another attempted build fix 
1503
1504         * bindings/js/JSAbstractWorkerCustom.cpp:
1505
1506 2009-07-24  Dan Bernstein  <mitz@apple.com>
1507
1508         Attempted build fix
1509
1510         * bindings/js/JSAbstractWorkerCustom.cpp:
1511         (WebCore::toJS):
1512
1513 2009-07-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1514
1515         Build fix for 64 bit Linux.
1516
1517         int64_t is long on Linux 64 bit and not long long, thus
1518         getFileSize with a int64_t out value fails to build.
1519
1520         Use a temporary to work around the problem.
1521
1522         * loader/appcache/ApplicationCacheStorage.cpp:
1523         (WebCore::ApplicationCacheStorage::spaceNeeded):
1524
1525 2009-07-24  Eric Seidel  <eric@webkit.org>
1526
1527         Reviewed by Adam Barth.
1528
1529         Update all CREATE_DOM_*_WRAPPER callers to pass globalObject
1530         https://bugs.webkit.org/show_bug.cgi?id=27644
1531
1532         This is another attempt at making the change for bug 27634 smaller.
1533         I included the changes to make_names.pl as well as any file which
1534         used CREATE_DOM_*_WRAPPER macros.
1535
1536         The changes to the construct* functions are what fix the cases in
1537         fast/dom/constructed-objects-prototypes.html
1538
1539         The changes to passing globalObject through CREATE_* are what fix
1540         fast/dom/prototype-inheritance-2.html
1541
1542         * bindings/js/JSCDATASectionCustom.cpp:
1543         (WebCore::toJSNewlyCreated): pass globalObject.
1544         * bindings/js/JSCSSRuleCustom.cpp:
1545         (WebCore::toJS): pass globalObject.
1546         * bindings/js/JSCSSValueCustom.cpp:
1547         (WebCore::toJS): pass globalObject.
1548         * bindings/js/JSDOMBinding.h: updated macros to pass globalObject.
1549         * bindings/js/JSDocumentCustom.cpp:
1550         (WebCore::toJS): pass globalObject.
1551         * bindings/js/JSElementCustom.cpp:
1552         (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value.
1553         (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value.
1554         (WebCore::toJSNewlyCreated): pass globalObject.
1555         * bindings/js/JSEventCustom.cpp:
1556         (WebCore::JSEvent::clipboardData): pass globalObject.
1557         (WebCore::toJS): pass globalObject.
1558         * bindings/js/JSHTMLCollectionCustom.cpp:
1559         (WebCore::getNamedItems): use globalObject() for wrapping returned collection items.
1560         (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items.
1561         (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items.
1562         (WebCore::toJS): pass globalObject.
1563         * bindings/js/JSImageDataCustom.cpp:
1564         (WebCore::toJS): pass globalObject.
1565         * bindings/js/JSNodeCustom.cpp:
1566         (WebCore::createWrapper): pass globalObject.
1567         * bindings/js/JSSVGPathSegCustom.cpp:
1568         (WebCore::toJS): pass globalObject.
1569         * bindings/js/JSStyleSheetCustom.cpp:
1570         (WebCore::toJS): pass globalObject.
1571         * bindings/js/JSTextCustom.cpp:
1572         (WebCore::toJSNewlyCreated): pass globalObject.
1573         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
1574         (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing
1575         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1576         (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing
1577         * bindings/js/JSXSLTProcessorConstructor.cpp:
1578         (WebCore::constructXSLTProcessor): use constructors globalObject when constructing
1579         * dom/make_names.pl:
1580             Pass globalObject through CREATE_* macros and various support functions.
1581
1582 2009-07-24  Eric Seidel  <eric@webkit.org>
1583
1584         Reviewed by Adam Barth.
1585
1586         Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls
1587         https://bugs.webkit.org/show_bug.cgi?id=27643
1588
1589         This is an attempt to make this change as small as possible.
1590         I started by including all changes to CodeGeneratorJS.pm from bug 27634,
1591         and then made the minimal amount of other changes needed to support that change.
1592
1593         Most toJS implementations ignore their passed JSDOMGlobalObject.
1594         There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling.
1595         All places where it is not clear what we should pass as the global object
1596         (or where the global object is simply not available, like for some SVG bindings)
1597         we pass deprecatedGlobalObjectForPrototype instead.
1598
1599         * bindings/js/JSCDATASectionCustom.cpp:
1600         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
1601         * bindings/js/JSCSSRuleCustom.cpp:
1602         (WebCore::toJS): add ignored JSDOMGlobalObject*
1603         * bindings/js/JSCSSValueCustom.cpp:
1604         (WebCore::toJS): add ignored JSDOMGlobalObject*
1605         * bindings/js/JSDOMBinding.cpp:
1606         (WebCore::setDOMException): pass the wrong globalObject for now
1607         * bindings/js/JSDOMBinding.h:
1608             Pass the wrong global object to the CREATE_ macros for now.
1609             In the next change we'll come back and pass the correct one.
1610             That will require changes to make_names.pl.
1611         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
1612         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
1613         (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer):
1614         (WebCore::createDOMObjectWrapper):
1615         (WebCore::getDOMObjectWrapper):
1616         (WebCore::createDOMNodeWrapper):
1617         (WebCore::getDOMNodeWrapper):
1618         (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change.
1619         (WebCore::toJSNewlyCreated):
1620         * bindings/js/JSDOMWindowBase.cpp:
1621         (WebCore::toJS): DOMWindow always uses its own prototype chain.
1622         * bindings/js/JSDOMWindowBase.h:
1623         * bindings/js/JSDocumentCustom.cpp:
1624         (WebCore::toJS): add ignored JSDOMGlobalObject*
1625         * bindings/js/JSElementCustom.cpp:
1626         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
1627         * bindings/js/JSEventCustom.cpp:
1628         (WebCore::toJS): add ignored JSDOMGlobalObject*
1629         * bindings/js/JSEventTarget.cpp:
1630         (WebCore::toJS): add ignored JSDOMGlobalObject*
1631         * bindings/js/JSEventTarget.h:
1632         * bindings/js/JSHTMLCollectionCustom.cpp:
1633         (WebCore::toJS): add ignored JSDOMGlobalObject*
1634         * bindings/js/JSImageDataCustom.cpp:
1635         (WebCore::toJS): add ignored JSDOMGlobalObject*
1636         * bindings/js/JSNodeCustom.cpp:
1637         (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion
1638         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
1639         (WebCore::toJS): add ignored JSDOMGlobalObject*
1640         * bindings/js/JSSVGElementInstanceCustom.cpp:
1641         (WebCore::toJS): pass globalObject along
1642         * bindings/js/JSSVGMatrixCustom.cpp:
1643         (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now.
1644         (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now.
1645         * bindings/js/JSSVGPathSegCustom.cpp:
1646         (WebCore::toJS):
1647         * bindings/js/JSSVGPathSegListCustom.cpp:
1648             All of these methods need a globalObject, but most SVG binding don't have
1649             space for one, so we just pass the lexicalGlobalObject for now.
1650         (WebCore::JSSVGPathSegList::initialize):
1651         (WebCore::JSSVGPathSegList::getItem):
1652         (WebCore::JSSVGPathSegList::insertItemBefore):
1653         (WebCore::JSSVGPathSegList::replaceItem):
1654         (WebCore::JSSVGPathSegList::removeItem):
1655         (WebCore::JSSVGPathSegList::appendItem):
1656         * bindings/js/JSSVGPointListCustom.cpp:
1657         (WebCore::finishGetter): pass wrong globalObject for now.
1658         (WebCore::finishSetter):
1659         (WebCore::finishSetterReadOnlyResult):
1660         * bindings/js/JSSVGTransformListCustom.cpp:
1661         (WebCore::finishGetter): pass wrong globalObject for now.
1662         (WebCore::finishSetter):
1663         (WebCore::finishSetterReadOnlyResult):
1664         * bindings/js/JSStyleSheetCustom.cpp:
1665         (WebCore::toJS): add ignored JSDOMGlobalObject*
1666         * bindings/js/JSTextCustom.cpp:
1667         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
1668         * bindings/js/JSWorkerContextBase.cpp:
1669         (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass.
1670         * bindings/js/JSWorkerContextBase.h:
1671         * bindings/scripts/CodeGeneratorJS.pm:
1672             All generated toJS calls now pass a globalObject.
1673             All generated toJS implementations now expect a globalObject.
1674             Simplified all the slot casts by using a "castedThis" local.
1675             SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead.
1676             Simplified printing of constructor objects using a $constructorClassName variable.
1677             All generated constructor functions follow the construct$className form to match the custom constructors.
1678
1679 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
1680
1681         Reviewed by Timothy Hatcher.
1682
1683         typing "document.__proto__" in inspector throws exception
1684         https://bugs.webkit.org/show_bug.cgi?id=27169
1685
1686         * inspector/front-end/utilities.js:
1687         (Object.type):
1688
1689 2009-07-24  Andrei Popescu  <andreip@google.com>
1690
1691         Reviewed by Anders Carlsson.
1692
1693         ApplicationCache should have size limit
1694         https://bugs.webkit.org/show_bug.cgi?id=22700
1695
1696         https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html
1697
1698         This change implements a mechanism for limiting the maximum size of
1699         the application cache file. When this size is reached, a ChromeClient
1700         callback is invoked asynchronously and the saving of the last (failed)
1701         cache is retried automatically.
1702         
1703         This change also extends the ApplicationCacheStorage API by allowing
1704         a client to query or modify the application cache without having to
1705         load any resources into memory.
1706
1707         Test: http/tests/appcache/max-size.html
1708
1709         * WebCore.base.exp:
1710         Exports the symbols required by the DumpRenderTree test application.
1711         * loader/EmptyClients.h:
1712         Adds empty implementation of the new ChromeClient methods.
1713         * loader/appcache/ApplicationCache.cpp:
1714         * loader/appcache/ApplicationCache.h:
1715         Adds the ability to calculate the approximate size of an ApplicationCache object.
1716         * loader/appcache/ApplicationCacheGroup.cpp:
1717         * loader/appcache/ApplicationCacheGroup.h:
1718         Invokes the ChromeClient callback when the storage layer runs out of space.
1719         After the callback is invoked, we re-attempt to store the newest cache,
1720         in case the ChromeClient has freed some space.
1721         * loader/appcache/ApplicationCacheResource.cpp:
1722         * loader/appcache/ApplicationCacheResource.h:
1723         Adds the ability to calculate the approximate size of an ApplicationCacheResource object.
1724         * loader/appcache/ApplicationCacheStorage.cpp:
1725         * loader/appcache/ApplicationCacheStorage.h:
1726         Enforces a maximum size for the application cache file.
1727         * page/ChromeClient.h:
1728         Adds a new callback, invoked when the ApplicationCacheStorage reports that it has
1729         reached the maximum size for its database file.
1730         * platform/sql/SQLiteDatabase.cpp:
1731         * platform/sql/SQLiteDatabase.h:
1732         Adds a new method that allows querying for the amount of unused space inside the
1733         application cache database file.
1734
1735 2009-07-24  Xan Lopez  <xlopez@igalia.com>
1736
1737         Reviewed by Jan Alonzo.
1738
1739         https://bugs.webkit.org/show_bug.cgi?id=25415
1740         [GTK][ATK] Please implement support for get_text_at_offset
1741
1742         Use TextEncoding facilities to convert between UTF16 and UTF8
1743         instead of rolling our own solution.
1744
1745         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1746         (convertUniCharToUTF8):
1747
1748 2009-07-24  Xan Lopez  <xlopez@igalia.com>
1749
1750         Reviewed by Jan Alonzo.
1751
1752         https://bugs.webkit.org/show_bug.cgi?id=25415
1753         [GTK][ATK] Please implement support for get_text_at_offset
1754
1755         Fix confusion in g_substr between length in bytes and length in
1756         characters. Was causing crashes in some situations when dealing
1757         with non-ASCII text encoded as UTF8.
1758
1759         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1760         (g_substr):
1761
1762 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
1763
1764         Reviewed by Timothy Hatcher.
1765
1766         Inspector: Impossible to add an attribute to a node without attributes
1767         https://bugs.webkit.org/show_bug.cgi?id=21108
1768
1769         * inspector/front-end/ElementsTreeOutline.js:
1770         (WebInspector.ElementsTreeElement):
1771         (WebInspector.ElementsTreeElement.prototype.set hovered):
1772         (WebInspector.ElementsTreeElement.prototype.toggleNewButton):
1773         (WebInspector.ElementsTreeElement.prototype.ondblclick):
1774         (WebInspector.ElementsTreeElement.prototype._startEditing):
1775         (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
1776         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
1777         * inspector/front-end/inspector.css:
1778
1779 2009-07-24  Keishi Hattori  <casey.hattori@gmail.com>
1780
1781         Reviewed by Timothy Hatcher.
1782
1783         Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node
1784         https://bugs.webkit.org/show_bug.cgi?id=17907
1785
1786         * inspector/front-end/Console.js:
1787         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{
1788             _inspectedNodes, _addInspectedNode, $0, $1, $n}
1789         * inspector/front-end/ElementsPanel.js:
1790         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history
1791             in _inspectorCommandLineAPI._inspectedNodes
1792         (WebInspector.ElementsPanel):
1793
1794 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
1795
1796         Reviewed by Timothy Hatcher.
1797
1798         Dragging a resource in the sidebar should drag it's URL
1799         https://bugs.webkit.org/show_bug.cgi?id=14410
1800
1801         * inspector/front-end/ResourcesPanel.js:
1802         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
1803
1804 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
1805
1806         Reviewed by Timothy Hatcher.
1807
1808         Double click on a resource in the sidebar should open that resource in Safari
1809         https://bugs.webkit.org/show_bug.cgi?id=14409
1810
1811         * inspector/front-end/ResourcesPanel.js:
1812         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url
1813
1814 2009-07-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
1815
1816         Reviewed by Xan Lopez.
1817
1818         Bump pango version requirement to 1.12 and remove unnecessary #ifdefs.
1819
1820         * platform/graphics/gtk/FontGtk.cpp:
1821         (WebCore::getDefaultPangoLayout):
1822         * platform/graphics/gtk/FontPlatformDataPango.cpp:
1823         (WebCore::FontPlatformData::FontPlatformData):
1824         * platform/gtk/Language.cpp:
1825
1826 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
1827
1828         Reviewed by Timothy Hatcher.
1829
1830         Inspector: Missing UIString and other localizedString.js fixes
1831         https://bugs.webkit.org/show_bug.cgi?id=27288
1832
1833         * English.lproj/localizedStrings.js:
1834
1835 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
1836
1837         Reviewed by Timothy Hatcher.
1838
1839         Inspector: Should Syntax Highlight JSON
1840         https://bugs.webkit.org/show_bug.cgi?id=27503
1841
1842         * inspector/front-end/SourceView.js:
1843         (WebInspector.SourceView.prototype._contentLoaded):
1844
1845 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
1846
1847         Reviewed by Eric Seidel.
1848
1849         Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
1850         Style Guidelines as identified by cpplint.py.
1851         https://bugs.webkit.org/show_bug.cgi?id=27624
1852
1853         * page/DragController.cpp:
1854         (WebCore::DragController::~DragController):
1855         (WebCore::documentFragmentFromDragData):
1856         (WebCore::DragController::dragEnded):
1857         (WebCore::DragController::dragEntered):
1858         (WebCore::DragController::dragExited):
1859         (WebCore::DragController::dragUpdated):
1860         (WebCore::DragController::performDrag):
1861         (WebCore::asFileInput):
1862         (WebCore::DragController::tryDocumentDrag):
1863         (WebCore::DragController::delegateDragSourceAction):
1864         (WebCore::DragController::concludeEditDrag):
1865         (WebCore::DragController::canProcessDrag):
1866         (WebCore::DragController::tryDHTMLDrag):
1867         (WebCore::DragController::mayStartDragAtEventLocation):
1868         (WebCore::getCachedImage):
1869         (WebCore::getImage):
1870         (WebCore::prepareClipboardForImageDrag):
1871         (WebCore::dragLocForDHTMLDrag):
1872         (WebCore::DragController::startDrag):
1873         (WebCore::DragController::doImageDrag):
1874         (WebCore::DragController::doSystemDrag):
1875         (WebCore::DragController::placeDragCaret):
1876
1877 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
1878
1879         Reviewed by Eric Seidel.
1880
1881         Update WebCore/page/Chrome.cpp to conform to WebKit
1882         Style Guidelines as identified by cpplint.py.
1883         https://bugs.webkit.org/show_bug.cgi?id=27608
1884
1885         * page/Chrome.cpp:
1886         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
1887         (WebCore::Chrome::runJavaScriptAlert):
1888         (WebCore::Chrome::runJavaScriptConfirm):
1889         (WebCore::Chrome::runJavaScriptPrompt):
1890         (WebCore::Chrome::shouldInterruptJavaScript):
1891         (WebCore::Chrome::setToolTip):
1892         (WebCore::Chrome::requestGeolocationPermissionForFrame):
1893         (WebCore::ChromeClient::generateReplacementFile):
1894         (WebCore::ChromeClient::paintCustomScrollbar):
1895
1896 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
1897
1898         Reviewed by Eric Seidel.
1899
1900         Update WebCore/page/Coordinates.cpp to conform to WebKit
1901         Style Guidelines as identified by cpplint.py.
1902         https://bugs.webkit.org/show_bug.cgi?id=27614
1903
1904         * page/Coordinates.cpp:
1905         (WebCore::Coordinates::toString):
1906
1907 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
1908
1909         Reviewed by Eric Seidel.
1910
1911         Update WebCore/page/DOMSelection.cpp/h to conform to WebKit
1912         Style Guidelines as identified by cpplint.py.
1913         https://bugs.webkit.org/show_bug.cgi?id=27614
1914
1915         * page/DOMSelection.cpp:
1916         (WebCore::DOMSelection::setBaseAndExtent):
1917         (WebCore::DOMSelection::modify):
1918         (WebCore::DOMSelection::addRange):
1919         (WebCore::DOMSelection::deleteFromDocument):
1920         * page/DOMSelection.h:
1921
1922 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
1923
1924         Reviewed by Eric Seidel.
1925
1926         Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
1927         Style Guidelines as identified by cpplint.py.
1928         https://bugs.webkit.org/show_bug.cgi?id=27618
1929
1930         * page/DOMTimer.cpp:
1931         (WebCore::DOMTimer::DOMTimer):
1932         (WebCore::DOMTimer::~DOMTimer):
1933         (WebCore::DOMTimer::fired):
1934         (WebCore::DOMTimer::suspend):
1935         (WebCore::DOMTimer::resume):
1936         (WebCore::DOMTimer::canSuspend):
1937         * page/DOMTimer.h:
1938         (WebCore::DOMTimer::minTimerInterval):
1939         (WebCore::DOMTimer::setMinTimerInterval):
1940
1941 2009-07-24  Eric Seidel  <eric@webkit.org>
1942
1943         Reviewed by Adam Barth.
1944
1945         Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead
1946         https://bugs.webkit.org/show_bug.cgi?id=27641
1947
1948         Nothing uses globalObject() yet, but this was causing crashes
1949         in the patch for bug 27634.  This is covered by fast/dom/gc-6.html.
1950
1951         I decided to change these to Base:: instead of DOMObjectWithGlobal::
1952         for future-proofing.  All autogenerated classes use a typedef Base
1953         to avoid bugs like these.  Sadly C++ does not have a built-in super:: we could use.
1954
1955         * WebCore.xcodeproj/project.pbxproj:
1956         * bindings/js/JSAbstractWorkerCustom.cpp:
1957         (WebCore::JSAbstractWorker::mark):
1958         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1959         (WebCore::JSDOMApplicationCache::mark):
1960         * bindings/js/JSMessageChannelCustom.cpp:
1961         (WebCore::JSMessageChannel::mark):
1962         * bindings/js/JSMessagePortCustom.cpp:
1963         (WebCore::JSMessagePort::mark):
1964         * bindings/js/JSNamedNodesCollection.cpp:
1965         (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
1966         * bindings/js/JSNodeCustom.cpp:
1967         (WebCore::JSNode::mark):
1968         * bindings/js/JSNodeFilterCustom.cpp:
1969         (WebCore::JSNodeFilter::mark):
1970         * bindings/js/JSNodeIteratorCustom.cpp:
1971         (WebCore::JSNodeIterator::mark):
1972         * bindings/js/JSSVGElementInstanceCustom.cpp:
1973         (WebCore::JSSVGElementInstance::mark):
1974         * bindings/js/JSTreeWalkerCustom.cpp:
1975         (WebCore::JSTreeWalker::mark):
1976
1977 2009-07-22  Eric Seidel  <eric@webkit.org>
1978
1979         Reviewed by Adam Barth.
1980
1981         Make most DOMObjects hold onto a JSDOMGlobalObject*
1982         https://bugs.webkit.org/show_bug.cgi?id=27588
1983
1984         This change is almost entirely plumbing.  Only one functional
1985         change as part of this all (window.document.constructor has the correct prototype)
1986         Changes are detailed below.
1987
1988         inner.document.constructor is fixed because all properties on the window
1989         object are created with the correct globalObject (instead of the lexical one).
1990         Since all objects now carry a globalObject pointer, when document creates
1991         HTMLDocumentConstructor it now has the right globalObject to use.
1992
1993         Tests:
1994           fast/dom/prototype-inheritance.html
1995           fast/dom/prototype-inheritance-2.html
1996
1997         * bindings/js/DOMObjectWithSVGContext.h:
1998         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
1999             Update the comment and add an ignored globalObject argument.
2000         * bindings/js/JSDOMBinding.h:
2001             Pass a globalObject to all DOMObjects during creation.  Currently it's the wrong global object.
2002             Once toJS is passed a globalObject it will be the right one.
2003         (WebCore::createDOMObjectWrapper):
2004         (WebCore::createDOMNodeWrapper):
2005         * bindings/js/JSDOMGlobalObject.h:
2006         (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier.
2007         * bindings/js/JSDOMWindowCustom.cpp:
2008         (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it.
2009         (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
2010         * bindings/js/JSDocumentCustom.cpp:
2011         (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
2012         * bindings/js/JSHTMLAllCollection.h:
2013         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
2014         * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor.
2015         (WebCore::getNamedItems):
2016         (WebCore::callHTMLCollection):
2017         (WebCore::JSHTMLCollection::canGetItemsForName):
2018         (WebCore::JSHTMLCollection::nameGetter):
2019         (WebCore::JSHTMLCollection::item):
2020         (WebCore::JSHTMLCollection::namedItem):
2021         * bindings/js/JSHTMLFormElementCustom.cpp:
2022         (WebCore::JSHTMLFormElement::nameGetter):
2023         * bindings/js/JSNamedNodesCollection.cpp:
2024              Now passed globalObject.  This is tested by inner.document.forms.testForm.
2025              The passed globalObject is still wrong until toJS is fixed.
2026         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
2027         * bindings/js/JSNamedNodesCollection.h:
2028         * bindings/js/JSSharedWorkerConstructor.cpp:
2029              Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938
2030              This class is not compiled by default, so not testable.
2031         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
2032         * bindings/js/JSSharedWorkerConstructor.h:
2033         * bindings/scripts/CodeGeneratorJS.pm:
2034              Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer.
2035              SVG bindings which need a context() pointer do not have enough space for globalObject() too.
2036              WorkerContext does not need a globalObject (it is one), so special case it.
2037              Make all .constructor calls use the stored globalObject().  This is what fixes window.document.constructor.
2038              Make all constructors inherit from DOMConstructorObject for consistency.  Since the auto-bound constructors
2039              override createStructure anyway, there is no functional change here.  Just completing work started in r45938.
2040
2041 2009-07-23  Brady Eidson  <beidson@apple.com>
2042
2043         Reviewed by Geoff Garen.
2044
2045         WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
2046         https://bugs.webkit.org/show_bug.cgi?id=27595
2047
2048         Test: http/tests/misc/will-send-request-returns-null-on-redirect.html
2049         
2050         * inspector/InspectorController.cpp:
2051         (WebCore::InspectorController::removeResource): Null-check the request URL.
2052         
2053         * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one.
2054         (WebCore::willSendRequest):
2055
2056 2009-07-23  Chris Fleizach  <cfleizach@apple.com>
2057
2058         Reviewed by Darin Adler.
2059
2060         Bug 27633 - AXLoadComplete can be fired off to frequently
2061         https://bugs.webkit.org/show_bug.cgi?id=27633
2062
2063         An integration issue left out some curly braces.
2064
2065         * dom/Document.cpp:
2066         (WebCore::Document::implicitClose):
2067
2068 2009-07-23  Darin Adler  <darin@apple.com>
2069
2070         Reviewed by Brady Eidson.
2071
2072         URL appears in back/forward button menu instead of title for items with custom representation
2073         https://bugs.webkit.org/show_bug.cgi?id=27586
2074         rdar://problem/5060337
2075
2076         * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit.
2077         * loader/FrameLoader.cpp:
2078         (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document
2079         loader is the correct one; previously this would never happen because we'd
2080         commit the load before any title changes could be registered, but now we can
2081         encounter a case where we get a title during a provisional load.
2082
2083 2009-07-23  Dan Bernstein  <mitz@apple.com>
2084
2085         Reviewed by Dave Hyatt.
2086
2087         [CSS3 Backgrounds and Borders] Add support for inset box shadows
2088         https://bugs.webkit.org/show_bug.cgi?id=27582
2089
2090         Test: fast/box-shadow/inset.html
2091
2092         * css/CSSComputedStyleDeclaration.cpp:
2093         (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset'
2094             as needed.
2095
2096         * css/CSSParser.cpp:
2097         (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle
2098             members. Initialize the allowStyle member.
2099         (WebCore::ShadowParseContext::commitValue): Pass the style value to the
2100             ShadowValue constructor. Reset allowStyle.
2101         (WebCore::ShadowParseContext::commitLength): Update allowStyle.
2102         (WebCore::ShadowParseContext::commitColor): Ditto.
2103         (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and
2104             updates the state.
2105         (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword.
2106
2107         * css/CSSStyleSelector.cpp:
2108         (WebCore::CSSStyleSelector::applyProperty): Get the style value from the
2109             shadow value and pass it to the ShadowData constructor.
2110
2111         * css/ShadowValue.cpp:
2112         (WebCore::ShadowValue::ShadowValue): Added style.
2113         (WebCore::ShadowValue::cssText): Added style.
2114
2115         * css/ShadowValue.h:
2116         (WebCore::ShadowValue::create): Added style.
2117
2118         * page/animation/AnimationBase.cpp:
2119         (WebCore::blendFunc): Added a blend function for shadow styles. When blending
2120             between normal and inset shadows, all intermediate values map to normal.
2121         (WebCore::PropertyWrapperShadow::blend): Added normal style to the default
2122             shadow.
2123             
2124         * rendering/InlineFlowBox.cpp:
2125         (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter,
2126             which is passed through to RenderBoxModelObject::paintBoxShadow().
2127
2128         (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of
2129             the background.
2130
2131         * rendering/InlineFlowBox.h:
2132
2133         * rendering/RenderBox.cpp:
2134         (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the
2135             background.
2136
2137         * rendering/RenderBoxModelObject.cpp:
2138         (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style
2139             parameter, and code to paint inset shadows.
2140
2141         * rendering/RenderBoxModelObject.h:
2142
2143         * rendering/RenderFieldset.cpp:
2144         (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of
2145             the background.
2146
2147         * rendering/RenderTable.cpp:
2148         (WebCore::RenderTable::paintBoxDecorations): Ditto.
2149
2150         * rendering/RenderTableCell.cpp:
2151         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
2152
2153         * rendering/style/ShadowData.h:
2154         Added a ShadowStyle enum.
2155         (WebCore::ShadowData::ShadowData): Add and initialize a style member.
2156
2157 2009-07-23  Simon Fraser  <simon.fraser@apple.com>
2158
2159         Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined.
2160
2161         * css/MediaQueryEvaluator.cpp:
2162         (WebCore::transform_3dMediaFeatureEval):
2163
2164 2009-07-23  Simon Fraser  <simon.fraser@apple.com>
2165
2166         Reviewed by Adele Peterson.
2167
2168         3d-transforms media query needs to look check that accelerated compositing is enabled
2169         https://bugs.webkit.org/show_bug.cgi?id=27621
2170         
2171         When evaluating a media query with '-webkit-transform-3d', we need to check the
2172         runtime switch that toggles accererated compositing, and therefore 3D.
2173         
2174         No test because we can't disable the pref dynamically in DRT.
2175
2176         * css/MediaQueryEvaluator.cpp:
2177         (WebCore::transform_3dMediaFeatureEval):
2178
2179 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
2180
2181         Reviewed by Eric Seidel.
2182
2183         execCommand('underline') can't remove <U> underlines
2184         https://bugs.webkit.org/show_bug.cgi?id=20215
2185
2186         This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that
2187         WebKit can remove those presentational tags when necessary.
2188         It also modifies StyleChange::init not to add "text-decoration: none".  Not only is this style meaningless
2189         (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style.
2190
2191         * css/CSSValueList.cpp:
2192         (WebCore::CSSValueList::hasValue): True if the property contains the specified value
2193         * css/CSSValueList.h: Updated prototype
2194         * editing/ApplyStyleCommand.cpp:
2195         (WebCore::StyleChange::init): No longer adds "text-decoration: none"
2196         (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements
2197
2198 2009-07-23  Jessie Berlin  <jberlin@apple.com>
2199         
2200         Reviewed by Dan Bernstein.
2201
2202         https://bugs.webkit.org/show_bug.cgi?id=27554
2203         Expose the value of text-overflow in getComputedStyle.
2204
2205         Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html
2206
2207         * css/CSSComputedStyleDeclaration.cpp:
2208         (WebCore::):
2209         Add text-overflow to the list of computedProperties.
2210         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2211         Return the value of the text-overflow property.
2212
2213 2009-07-23  Yongjun Zhang  <yongjun.zhang@nokia.com>
2214
2215         Reviewed by Simon Hausmann.
2216
2217         https://bugs.webkit.org/show_bug.cgi?id=27510
2218
2219         [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project
2220         file for linking. This is a temporary workaround for qmake bug in Symbian port, should 
2221         be reverted after qmake is fixed.
2222
2223         * WebCore.pro:
2224
2225 2009-07-23  Jian Li  <jianli@chromium.org>
2226
2227         Reviewed by David Levin.
2228
2229         [V8] Fix an assert in running workers in Chrome.
2230         https://bugs.webkit.org/show_bug.cgi?id=27620
2231
2232         The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
2233         to do not call removeObjectsFromWrapperMap for certain types of DOM
2234         objects that exist only in main thread.
2235
2236         * bindings/v8/V8DOMMap.cpp:
2237         (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
2238
2239 2009-07-23  David Hyatt  <hyatt@apple.com>
2240
2241         Reviewed by Dan Bernstein.
2242
2243         https://bugs.webkit.org/show_bug.cgi?id=27572
2244         Implement support for background-attachment:local.
2245
2246         Added new test fast/overflow/overflow-with-local-attachment.html.
2247
2248         * css/CSSComputedStyleDeclaration.cpp:
2249         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2250         * css/CSSParser.cpp:
2251         (WebCore::CSSParser::parseFillProperty):
2252         * css/CSSPrimitiveValueMappings.h:
2253         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2254         (WebCore::CSSPrimitiveValue::operator EFillAttachment):
2255         * css/CSSStyleSelector.cpp:
2256         (WebCore::CSSStyleSelector::mapFillAttachment):
2257         * css/CSSValueKeywords.in:
2258         * rendering/RenderBoxModelObject.cpp:
2259         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2260         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2261         * rendering/style/FillLayer.h:
2262         (WebCore::FillLayer::attachment):
2263         (WebCore::FillLayer::setAttachment):
2264         (WebCore::FillLayer::hasFixedImage):
2265         (WebCore::FillLayer::initialFillAttachment):
2266         * rendering/style/RenderStyle.h:
2267         (WebCore::InheritedFlags::backgroundAttachment):
2268         (WebCore::InheritedFlags::maskAttachment):
2269         * rendering/style/RenderStyleConstants.h:
2270         (WebCore::):
2271
2272 2009-07-23  Ryosuke Niwa  <rniwa@webkit.org>
2273
2274         Reviewed by Eric Seidel.
2275
2276         copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
2277         https://bugs.webkit.org/show_bug.cgi?id=27325
2278
2279         This patch deprecates copyInheritableProperties because it has been used for two different purposes:
2280         1.  Calculating the typing style.
2281         2.  Moving HTML subtrees and seeking to remove redundant styles.
2282         These tasks should be broken out into two separate functions.  New code should not use this function.
2283
2284         It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.
2285
2286         There is no test since the patch does not change any behavior.
2287
2288         * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
2289         (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
2290         * css/CSSComputedStyleDeclaration.h: ditto
2291         * editing/DeleteSelectionCommand.cpp: ditto
2292         (WebCore::removeEnclosingAnchorStyle): ditto
2293         (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
2294         * editing/EditCommand.cpp: ditto
2295         (WebCore::EditCommand::styleAtPosition): ditto
2296         * editing/RemoveFormatCommand.cpp: ditto
2297         (WebCore::RemoveFormatCommand::doApply): ditto
2298         * editing/ReplaceSelectionCommand.cpp: ditto
2299         (WebCore::handleStyleSpansBeforeInsertion): ditto
2300         (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
2301         * editing/markup.cpp: ditto
2302         (WebCore::removeEnclosingMailBlockquoteStyle): ditto
2303         (WebCore::removeDefaultStyles): ditto
2304         (WebCore::createMarkup): ditto
2305
2306 2009-07-22  Pierre d'Herbemont  <pdherbemont@apple.com>
2307
2308         Reviewed by Simon Fraser.
2309
2310         Audio element at default width shouldn't have time field.
2311         https://bugs.webkit.org/show_bug.cgi?id=27589
2312
2313         * rendering/MediaControlElements.cpp:
2314         (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
2315         forget to remember the visibility if there is no renderer.
2316
2317 2009-07-23  Beth Dakin  <bdakin@apple.com>
2318
2319         Reviewed by Darin Adler.
2320
2321         Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the 
2322         AccessibilityObject class
2323
2324         Mostly this is just moving empty stubs into the header rather than 
2325         muddying the cpp file with them. A few functions were made pure 
2326         virtual.
2327
2328         * accessibility/AccessibilityObject.cpp:
2329         (WebCore::AccessibilityObject::isARIAControl):
2330         (WebCore::AccessibilityObject::clickPoint):
2331         (WebCore::AccessibilityObject::documentFrameView):
2332         (WebCore::AccessibilityObject::actionVerb):
2333         * accessibility/AccessibilityObject.h:
2334         (WebCore::AccessibilityObject::intValue):
2335         (WebCore::AccessibilityObject::layoutCount):
2336         (WebCore::AccessibilityObject::doAccessibilityHitTest):
2337         (WebCore::AccessibilityObject::focusedUIElement):
2338         (WebCore::AccessibilityObject::firstChild):
2339         (WebCore::AccessibilityObject::lastChild):
2340         (WebCore::AccessibilityObject::previousSibling):
2341         (WebCore::AccessibilityObject::nextSibling):
2342         (WebCore::AccessibilityObject::parentObjectIfExists):
2343         (WebCore::AccessibilityObject::observableObject):
2344         (WebCore::AccessibilityObject::linkedUIElements):
2345         (WebCore::AccessibilityObject::titleUIElement):
2346         (WebCore::AccessibilityObject::ariaRoleAttribute):
2347         (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
2348         (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
2349         (WebCore::AccessibilityObject::roleValue):
2350         (WebCore::AccessibilityObject::ariaAccessiblityName):
2351         (WebCore::AccessibilityObject::ariaLabeledByAttribute):
2352         (WebCore::AccessibilityObject::ariaDescribedByAttribute):
2353         (WebCore::AccessibilityObject::accessibilityDescription):
2354         (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
2355         (WebCore::AccessibilityObject::axObjectCache):
2356         (WebCore::AccessibilityObject::axObjectID):
2357         (WebCore::AccessibilityObject::setAXObjectID):
2358         (WebCore::AccessibilityObject::anchorElement):
2359         (WebCore::AccessibilityObject::actionElement):
2360         (WebCore::AccessibilityObject::boundingBoxRect):
2361         (WebCore::AccessibilityObject::selectedTextRange):
2362         (WebCore::AccessibilityObject::selectionStart):
2363         (WebCore::AccessibilityObject::selectionEnd):
2364         (WebCore::AccessibilityObject::url):
2365         (WebCore::AccessibilityObject::selection):
2366         (WebCore::AccessibilityObject::stringValue):
2367         (WebCore::AccessibilityObject::title):
2368         (WebCore::AccessibilityObject::helpText):
2369         (WebCore::AccessibilityObject::textUnderElement):
2370         (WebCore::AccessibilityObject::text):
2371         (WebCore::AccessibilityObject::textLength):
2372         (WebCore::AccessibilityObject::selectedText):
2373         (WebCore::AccessibilityObject::accessKey):
2374         (WebCore::AccessibilityObject::widget):
2375         (WebCore::AccessibilityObject::widgetForAttachmentView):
2376         (WebCore::AccessibilityObject::setFocused):
2377         (WebCore::AccessibilityObject::setSelectedText):
2378         (WebCore::AccessibilityObject::setSelectedTextRange):
2379         (WebCore::AccessibilityObject::setValue):
2380         (WebCore::AccessibilityObject::setSelected):
2381         (WebCore::AccessibilityObject::makeRangeVisible):
2382         (WebCore::AccessibilityObject::childrenChanged):
2383         (WebCore::AccessibilityObject::addChildren):
2384         (WebCore::AccessibilityObject::hasChildren):
2385         (WebCore::AccessibilityObject::selectedChildren):
2386         (WebCore::AccessibilityObject::visibleChildren):
2387         (WebCore::AccessibilityObject::visiblePositionRange):
2388         (WebCore::AccessibilityObject::visiblePositionRangeForLine):
2389         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
2390         (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
2391         (WebCore::AccessibilityObject::visiblePositionForPoint):
2392         (WebCore::AccessibilityObject::nextVisiblePosition):
2393         (WebCore::AccessibilityObject::previousVisiblePosition):
2394         (WebCore::AccessibilityObject::visiblePositionForIndex):
2395         (WebCore::AccessibilityObject::indexForVisiblePosition):
2396         (WebCore::AccessibilityObject::index):
2397         (WebCore::AccessibilityObject::doAXRangeForLine):
2398         (WebCore::AccessibilityObject::doAXRangeForIndex):
2399         (WebCore::AccessibilityObject::doAXStringForRange):
2400         (WebCore::AccessibilityObject::doAXBoundsForRange):
2401         (WebCore::AccessibilityObject::updateBackingStore):
2402
2403 2009-07-23  Brian Weinstein  <bweinstein@apple.com>
2404
2405         Reviewed by David Hyatt.
2406
2407         Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.
2408
2409         * page/EventHandler.cpp:
2410         (WebCore::EventHandler::handleMousePressEvent):
2411         * platform/ScrollView.cpp:
2412         (WebCore::ScrollView::wheelEvent):
2413         * platform/ScrollView.h:
2414
2415 2009-07-23  David Hyatt  <hyatt@apple.com>
2416
2417         Reviewed by Dan Bernstein.
2418
2419         https://bugs.webkit.org/show_bug.cgi?id=27581
2420         Drop the prefix from the box-shadow property.
2421
2422         * css/CSSComputedStyleDeclaration.cpp:
2423         (WebCore::):
2424         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2425         * css/CSSParser.cpp:
2426         (WebCore::CSSParser::parseValue):
2427         (WebCore::ShadowParseContext::commitLength):
2428         (WebCore::cssPropertyID):
2429         * css/CSSPropertyNames.in:
2430         * css/CSSStyleSelector.cpp:
2431         (WebCore::CSSStyleSelector::applyProperty):
2432         * page/animation/AnimationBase.cpp:
2433         (WebCore::ensurePropertyMap):
2434
2435 2009-07-22  Viet-Trung Luu  <viettrungluu@gmail.com>
2436
2437         Reviewed by David Hyatt.
2438
2439         https://bugs.webkit.org/show_bug.cgi?id=27289
2440         When a mouse click occurs on a scrollbar without a preceding mouse move
2441         onto it, the release isn't handled correctly (since
2442         EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
2443         only on mouse move). (Side comment: That scrollbar-handling code
2444         in EventHandler is ugly. It should be fixed properly.)
2445
2446         Tests: scrollbars/scrollbar-miss-mousemove.html
2447                scrollbars/scrollbar-miss-mousemove-disabled.html
2448
2449         * page/EventHandler.cpp:
2450         (WebCore::EventHandler::handleMousePressEvent):
2451         (WebCore::EventHandler::handleMouseMoveEvent):
2452         (WebCore::EventHandler::updateLastScrollbarUnderMouse):
2453         * page/EventHandler.h:
2454
2455 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
2456
2457         Reviewed by David Levin.
2458
2459         Update WebCore/page/BarInfo.cpp to conform to WebKit
2460         Style Guidelines as identified by cpplint.py.
2461         https://bugs.webkit.org/show_bug.cgi?id=27606
2462
2463         * page/BarInfo.cpp:
2464         (WebCore::BarInfo::visible):
2465
2466 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
2467
2468         Reviewed by David Levin.
2469
2470         Update WebCore/page/Console.cpp to conform to WebKit
2471         Style Guidelines as identified by cpplint.py.
2472         https://bugs.webkit.org/show_bug.cgi?id=27606
2473
2474         * page/Console.cpp:
2475         (WebCore::printMessageSourceAndLevelPrefix):
2476         (WebCore::Console::profile):
2477         (WebCore::Console::time):
2478
2479 2009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
2480
2481         Reviewed by Holger Freyther.
2482
2483         Fix crashes with the QObject bindings after garbage collection.
2484
2485         There is one QtInstance per wrapped QObject, and that QtInstance keeps
2486         references to cached JSObjects for slots. When those objects get
2487         deleted due to GC, then they becoming dangling pointers.
2488
2489         When a cached member dies, it is now removed from the QtInstance's
2490         cache.
2491
2492         As we cannot track the lifetime of the children, we have to remove
2493         them from QtInstance alltogether. They are not cached and were
2494         only used for mark(), but we _want_ them to be subject to gc.
2495
2496         * bridge/qt/qt_instance.cpp:
2497         (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
2498         use qDeleteAll().
2499         (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
2500         clean m_methods and m_defaultMethod.
2501         (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
2502         (JSC::Bindings::QtField::valueFromInstance): Don't save children for
2503         marking.
2504         * bridge/qt/qt_instance.h: Declare removeCachedMethod.
2505         * bridge/qt/qt_runtime.cpp:
2506         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
2507         with this on the instance.
2508
2509 2009-07-23  Xan Lopez  <xlopez@igalia.com>
2510
2511         Reviewed by Mark Rowe.
2512
2513         https://bugs.webkit.org/show_bug.cgi?id=27599
2514         'const unsigned' in return value
2515
2516         Remove const modifier from unsigned return value, as it does not
2517         make sense.
2518
2519         * dom/ErrorEvent.h:
2520
2521 2009-07-22  Jens Alfke  <snej@chromium.org>
2522
2523         Reviewed by David Levin.
2524
2525         Bug 22784: Improve keyboard navigation of Select elements.
2526         Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
2527         on non-Mac platforms.
2528         https://bugs.webkit.org/show_bug.cgi?id=22784
2529         http://code.google.com/p/chromium/issues/detail?id=4576
2530
2531         New test: LayoutTests/fast/forms/select-popup-pagekeys.html
2532
2533         * dom/SelectElement.cpp:
2534         (WebCore::nextValidIndex): 
2535         New utility fn for traversing items of a select's list.
2536         (WebCore::SelectElement::menuListDefaultEventHandler):
2537         Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false.
2538
2539 2009-07-23  Xan Lopez  <xlopez@igalia.com>
2540
2541         Reviewed by Mark Rowe.
2542
2543         Fix a couple of compiler warnings.
2544
2545         * platform/graphics/cairo/ImageBufferCairo.cpp:
2546         (copySurface):
2547         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2548         (WebCore::SimpleFontData::containsCharacters):
2549
2550 2009-07-22  Simon Hausmann  <simon.hausmann@nokia.com>
2551
2552         Rubber-stamped by David Levin.
2553
2554         Enable HTML5 Datagrid defines for the Qt build.
2555
2556         * WebCore.pro:
2557
2558 2009-07-22  Adam Barth  <abarth@webkit.org>
2559
2560         Reviewed by David Levin.
2561
2562         [V8] Make Node wrappers go fast
2563         https://bugs.webkit.org/show_bug.cgi?id=27597
2564
2565         Profiles indicate we're spending a lot of time asking whether we're on
2566         the main thread when looking up DOM wrappers for Nodes, but there isn't
2567         much point in doing that work because Nodes only exist on the main
2568         thread.  I've also added an assert to keep us honest in this regard.
2569
2570         * bindings/v8/V8DOMMap.cpp:
2571         (WebCore::):
2572         (WebCore::getDOMNodeMap):
2573         (WebCore::DOMData::getCurrent):
2574         (WebCore::DOMData::getCurrentMainThread):
2575
2576 2009-07-22  Adam Barth  <abarth@webkit.org>
2577
2578         Reviewed by Alexey Proskuryakov.
2579
2580         Remove unneeded virtual destructor from ScriptSourceProvider
2581         https://bugs.webkit.org/show_bug.cgi?id=27563
2582
2583         * bindings/js/ScriptSourceProvider.h:
2584
2585 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
2586
2587         Reviewed by Eric Seidel.
2588
2589         execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration
2590         https://bugs.webkit.org/show_bug.cgi?id=27476
2591
2592         executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none".
2593         This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value.
2594         It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations,
2595         and adds removeAll member function to CSSValueList.
2596
2597         Tests: editing/execCommand/toggle-text-decorations.html
2598                fast/css/getComputedStyle/getComputedStyle-text-decoration.html
2599
2600         * css/CSSComputedStyleDeclaration.cpp:
2601         (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList
2602         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue
2603         * css/CSSParser.cpp:
2604         (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated
2605         * css/CSSValueList.cpp:
2606         (WebCore::CSSValueList::removeAll): Removes all values that match the specified value
2607         * css/CSSValueList.h:
2608         * editing/EditorCommand.cpp:
2609         (WebCore::applyCommandToFrame): Apply style to a frame using specified command
2610         (WebCore::executeApplyStyle): Uses applyCommandToFrame
2611         (WebCore::executeToggleStyleInList): Uses applyCommandToFrame
2612         (WebCore::executeToggleStyle): Toggles a style in CSSValueList
2613         (WebCore::executeStrikethrough): Uses executeToggleStyleInList
2614         (WebCore::executeUnderline): Uses executeToggleStyleInList
2615
2616 2009-07-22  Daniel Bates  <dbates@intudata.com>
2617
2618         Reviewed by Adam Barth.
2619
2620         https://bugs.webkit.org/show_bug.cgi?id=27174
2621         And
2622         https://bugs.webkit.org/show_bug.cgi?id=26938
2623         
2624         Code cleanup. Implements support for detecting attacks transformed by 
2625         PHP Magic Quotes/PHP addslashes().
2626
2627         Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html
2628                http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html
2629                http/tests/security/xssAuditor/script-tag-addslashes-null-char.html
2630                http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html
2631
2632         * page/XSSAuditor.cpp:
2633         (WebCore::isInvalidCharacter):
2634         (WebCore::XSSAuditor::canEvaluate):
2635         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
2636         (WebCore::XSSAuditor::canLoadObject):
2637         (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes,
2638         and removes control characters that could otherwise cause a discrepancy between
2639         the source code of a script and the outgoing HTTP parameters.
2640         (WebCore::XSSAuditor::decodeURL):
2641         (WebCore::XSSAuditor::decodeHTMLEntities):
2642         (WebCore::XSSAuditor::findInRequest):
2643         * page/XSSAuditor.h:
2644
2645 2009-07-22  Oliver Hunt  <oliver@apple.com>
2646
2647         Reviewed by Adele Peterson.
2648
2649         Null deref in JSObject::mark due to null xhr wrapper
2650         https://bugs.webkit.org/show_bug.cgi?id=27565
2651
2652         Make event target binding for appcache and xhr behave in the same way as
2653         it does for all other events.
2654
2655         No test as I couldn't make a testcase which was remotely reliable.
2656
2657         * bindings/js/JSEventTarget.cpp:
2658         (WebCore::toJS):
2659
2660 2009-07-22  Mads Ager  <ager@chromium.org>
2661
2662         Reviewed by David Levin.
2663
2664         Inform V8 of the amount of WebCore string memory it is keeping alive.
2665         https://bugs.webkit.org/show_bug.cgi?id=27537
2666
2667         V8 uses external strings that are backed by WebCore strings. Since
2668         the external strings themselves are small, V8 has no way of
2669         knowing how much memory it is actually holding on to. With this
2670         change, we inform V8 of the amount of WebCore string data it is
2671         holding on to with external strings.
2672
2673         * bindings/v8/V8Binding.cpp:
2674         (WebCore::WebCoreStringResource::WebCoreStringResource):
2675         (WebCore::WebCoreStringResource::~WebCoreStringResource):
2676
2677 2009-07-22  David Hyatt  <hyatt@apple.com>
2678
2679         Reviewed by Beth Dakin.
2680
2681         https://bugs.webkit.org/show_bug.cgi?id=27562
2682         Add the finalized versions of background-clip and background-origin.  Remove background-clip from
2683         the background shorthand and have it be auto-set based off background-origin's value.
2684
2685         Three new tests added in fast/backgrounds/size
2686
2687         * css/CSSComputedStyleDeclaration.cpp:
2688         (WebCore::):
2689         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2690         * css/CSSMutableStyleDeclaration.cpp:
2691         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2692         * css/CSSParser.cpp:
2693         (WebCore::CSSParser::parseValue):
2694         (WebCore::CSSParser::parseFillShorthand):
2695         (WebCore::CSSParser::parseFillProperty):
2696         * css/CSSPropertyLonghand.cpp:
2697         (WebCore::initShorthandMap):
2698         * css/CSSPropertyNames.in:
2699         * css/CSSStyleSelector.cpp:
2700         (WebCore::CSSStyleSelector::applyProperty):
2701         * css/CSSValueKeywords.in:
2702
2703 2009-07-22  Jens Alfke  <snej@chromium.org>
2704
2705         Reviewed by Darin Fisher.
2706
2707         Hook up V8 bindings for DataGrid elements.
2708         https://bugs.webkit.org/show_bug.cgi?id=27383
2709         http://code.google.com/p/chromium/issues/detail?id=16730
2710
2711         Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
2712         to handle exceptions, check appropriate JS prototypes, and
2713         test column-list's item() method as well as array-indexing.
2714
2715         * WebCore.gypi: Added new source files.
2716         * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
2717         * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
2718         * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
2719         (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
2720         * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
2721         (WebCore::V8DataGridDataSource::V8DataGridDataSource):
2722         (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
2723         * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
2724         (WebCore::V8DataGridDataSource::create):
2725         (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
2726         (WebCore::V8DataGridDataSource::jsDataSource):
2727         (WebCore::asV8DataGridDataSource):
2728         * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
2729         * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
2730         * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
2731         * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added.
2732         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
2733         (WebCore::ACCESSOR_GETTER):
2734         (WebCore::ACCESSOR_SETTER):
2735
2736 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
2737
2738         Reviewed by Eric Seidel.
2739
2740         pushDownTextDecorationStyleAroundNode needs clean up
2741         https://bugs.webkit.org/show_bug.cgi?id=27556
2742
2743         Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode
2744         While traversing, it will apply the specified style to all nodes but targetNode.
2745         i.e. the style is applies to all ancestor nodes and their siblings of targetNode.
2746
2747         * editing/ApplyStyleCommand.cpp:
2748         (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments
2749         * editing/ApplyStyleCommand.h: Updated prototype
2750
2751 2009-07-22  Peter Kasting  <pkasting@google.com>
2752
2753         Reviewed by David Kilzer.
2754
2755         https://bugs.webkit.org/show_bug.cgi?id=27323
2756         Handle any type of line endings in WebCore/css/*CSSPropertyNames.in.
2757
2758         * DerivedSources.make:
2759         * css/makeprop.pl:
2760         * css/makevalues.pl:
2761
2762 2009-07-22  Paul Godavari  <paul@chromium.org>
2763
2764         Reviewed by Darin Fisher.
2765
2766         Chromium has a build break after removal of JSRGBColor bindings
2767         https://bugs.webkit.org/show_bug.cgi?id=27548
2768
2769         Fix a build break in Chromium V8 after the JSRGBColor bindings change:
2770         https://bugs.webkit.org/show_bug.cgi?id=27242
2771
2772         * bindings/scripts/CodeGeneratorV8.pm:
2773
2774 2009-07-22  Adam Langley  <agl@google.com>
2775
2776         Reviewed by Darin Fisher.
2777
2778         Chromium Linux: add static functions to FontPlatformData which allow
2779         for setting the global font rendering preferences.
2780
2781         https://bugs.webkit.org/show_bug.cgi?id=27513
2782         http://code.google.com/p/chromium/issues/detail?id=12179
2783
2784         This should not affect any layout tests.
2785
2786         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2787         (WebCore::FontPlatformData::setHinting):
2788         (WebCore::FontPlatformData::setAntiAlias):
2789         (WebCore::FontPlatformData::setSubpixelGlyphs):
2790         (WebCore::FontPlatformData::setupPaint):
2791         * platform/graphics/chromium/FontPlatformDataLinux.h:
2792
2793 2009-07-22  Mikhail Naganov  <mnaganov@chromium.org>
2794
2795         Reviewed by Timothy Hatcher.
2796
2797         Move Inspector panels creation into a function to make possible introducing
2798         custom panels.
2799
2800         * inspector/front-end/inspector.js:
2801         (WebInspector._createPanels):
2802         (WebInspector.loaded):
2803
2804 2009-07-22  Pavel Feldman  <pfeldman@chromium.org>
2805
2806         Reviewed by Timothy Hatcher.
2807
2808         WebInspector: Print console command message upon evaluate
2809         selection request; Handle errors in evaluation request
2810         properly.
2811
2812         https://bugs.webkit.org/show_bug.cgi?id=27535
2813
2814         * inspector/front-end/ScriptsPanel.js:
2815         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2816         * inspector/front-end/SourceFrame.js:
2817         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
2818
2819 2009-07-22  Xan Lopez  <xlopez@igalia.com>
2820
2821         Attempt to fix the GTK+ build.
2822
2823         * GNUmakefile.am:
2824
2825 2009-07-21  Simon Hausmann  <simon.hausmann@nokia.com>
2826
2827         Fix the Qt build.
2828
2829         * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor.
2830
2831 2009-07-21  Daniel Bates  <dbates@intudata.com>
2832
2833         Reviewed by Adam Barth.
2834
2835         https://bugs.webkit.org/show_bug.cgi?id=27494
2836
2837         Fixes an issue that can cause a crash or unexpected behavior when calling
2838         WebCore::ScriptSourceCode::source on a cached script.
2839
2840         * GNUmakefile.am:
2841         * WebCore.gypi:
2842         * WebCore.pro:
2843         * WebCore.vcproj/WebCore.vcproj:
2844         * WebCore.xcodeproj/project.pbxproj:
2845         * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from 
2846         WebCore::ScriptSourceCode.
2847         (WebCore::CachedScriptSourceProvider::source):
2848         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
2849         * bindings/js/ScriptSourceCode.h:
2850         (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and
2851         rewrote to use WebCore::ScriptSourceProvider.
2852         (WebCore::ScriptSourceCode::source):
2853         * bindings/js/ScriptSourceProvider.h: Added.
2854         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
2855         (WebCore::ScriptSourceProvider::~ScriptSourceProvider):
2856         * bindings/js/StringSourceProvider.h: Modified to inherit from 
2857         WebCore::ScriptSourceCode.
2858         (WebCore::StringSourceProvider::StringSourceProvider):
2859
2860 2009-07-21  Sam Weinig  <sam@webkit.org>
2861
2862         Another attempt to fix the Windows build.
2863
2864         * WebCore.vcproj/WebCore.vcproj:
2865
2866 2009-07-21  Sam Weinig  <sam@webkit.org>
2867
2868         Attempt to fix the Windows build.
2869
2870         * DerivedSources.cpp:
2871
2872 2009-07-21  Sam Weinig  <sam@webkit.org>
2873
2874         Attempt to fix the GTK build.
2875
2876         * GNUmakefile.am:
2877
2878 2009-07-21  Sam Weinig  <sam@webkit.org>
2879
2880         Reviewed by Dan Bernstein.
2881
2882         Autogenerate Objective-C binding implementation for RGBColor.
2883
2884         No functionality change.
2885
2886         * WebCore.xcodeproj/project.pbxproj: 
2887         * bindings/objc/DOMRGBColor.mm: Removed.
2888         * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from
2889         WebCore::Color to NSColor*.
2890         * css/RGBColor.idl:
2891
2892 2009-07-21  Sam Weinig  <sam@webkit.org>
2893
2894         Reviewed by Dan Bernstein.
2895
2896         Fix for https://bugs.webkit.org/show_bug.cgi?id=27242
2897         JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor
2898
2899         Move the JSC and Objective-C bindings onto using the RGBColor object instead
2900         of just an unsigned int. The JSC bindings are now completely autogenerated for
2901         this class. (Also removes the last lut from WebCore).
2902
2903         * DerivedSources.make:
2904         * GNUmakefile.am:
2905         * WebCore.pro:
2906         * WebCore.vcproj/WebCore.vcproj:
2907         * WebCore.xcodeproj/project.pbxproj:
2908         * WebCoreSources.bkl:
2909         * bindings/js/JSRGBColor.cpp: Removed.
2910         * bindings/js/JSRGBColor.h: Removed.
2911         * bindings/objc/DOM.mm:
2912         (-[DOMRGBColor _color]):
2913         * bindings/objc/DOMRGBColor.mm:
2914         (-[DOMRGBColor dealloc]):
2915         (-[DOMRGBColor finalize]):
2916         (-[DOMRGBColor red]):
2917         (-[DOMRGBColor green]):
2918         (-[DOMRGBColor blue]):
2919         (-[DOMRGBColor alpha]):
2920         (-[DOMRGBColor color]):
2921         * bindings/scripts/CodeGenerator.pm:
2922         * bindings/scripts/CodeGeneratorJS.pm:
2923         * bindings/scripts/CodeGeneratorObjC.pm:
2924         * css/CSSParser.cpp:
2925         (WebCore::CSSParser::parseColor):
2926         * css/CSSPrimitiveValue.cpp:
2927         (WebCore::CSSPrimitiveValue::getRGBColorValue):
2928         * css/CSSPrimitiveValue.h:
2929         (WebCore::CSSPrimitiveValue::getRGBA32Value):
2930         * css/CSSStyleSelector.cpp:
2931         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2932         * css/RGBColor.cpp:
2933         (WebCore::RGBColor::alpha):
2934         * css/RGBColor.h:
2935         (WebCore::RGBColor::color):
2936         (WebCore::RGBColor::RGBColor):
2937         * css/RGBColor.idl:
2938         * page/DOMWindow.idl:
2939         * svg/SVGColor.cpp:
2940         (WebCore::SVGColor::rgbColor):
2941         * svg/SVGColor.h:
2942
2943 2009-07-21  Jian Li  <jianli@chromium.org>
2944
2945         Reviewed by David Levin.
2946
2947         Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent.
2948         https://bugs.webkit.org/show_bug.cgi?id=27515
2949
2950         * workers/AbstractWorker.cpp:
2951         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
2952
2953 2009-07-21  Eric Seidel  <eric@webkit.org>
2954
2955         Reviewed by Adam Barth.
2956
2957         Move m_context out of generator into a superclass
2958         https://bugs.webkit.org/show_bug.cgi?id=27521
2959
2960         Mostly this is removing code from CodeGeneratorJS
2961         and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h.
2962
2963         DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to
2964         know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason).
2965
2966         I also removed context pointer from SVGZoomEvent since it was never used.
2967
2968         * WebCore.gypi:
2969         * WebCore.pro:
2970         * WebCore.vcproj/WebCore.vcproj:
2971         * WebCore.xcodeproj/project.pbxproj:
2972         * bindings/js/DOMObjectWithSVGContext.h: Added.
2973         (WebCore::DOMObjectWithSVGContext::context):
2974         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
2975         * bindings/js/JSDOMBinding.h:
2976         * bindings/js/JSEventCustom.cpp:
2977         (WebCore::toJS):
2978         * bindings/scripts/CodeGeneratorJS.pm:
2979
2980 2009-07-21  Ryosuke Niwa  <rniwa@webkit.org>
2981
2982         Reviewed by Eric Seidel.
2983
2984         REGRESSION (r46142):  editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build
2985         https://bugs.webkit.org/show_bug.cgi?id=27480
2986
2987         Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value.
2988         We made m_anchorType unsigned so that anchorType() returns the correct value.
2989
2990         * dom/Position.h:
2991         (WebCore::Position::anchorType): statically cast to AnchorType
2992
2993 2009-07-21  Jian Li  <jianli@chromium.org>
2994
2995         Reviewed by David Levin.
2996
2997         [V8] Add V8 bindings for onerror in WorkerContext.
2998         https://bugs.webkit.org/show_bug.cgi?id=27518
2999
3000         * bindings/v8/custom/V8CustomBinding.h:
3001         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3002         (WebCore::ACCESSOR_GETTER):
3003         (WebCore::ACCESSOR_SETTER):
3004
3005 2009-07-21  Jian Li  <jianli@chromium.org>
3006
3007         Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
3008         https://bugs.webkit.org/show_bug.cgi?id=27516
3009
3010         * workers/WorkerContext.h:
3011         (WebCore::WorkerContext::setOnerror):
3012         (WebCore::WorkerContext::onerror):
3013         * workers/WorkerContext.idl:
3014
3015 2009-07-21  Jian Li  <jianli@chromium.org>
3016
3017         Reviewed by David Levin.
3018
3019         Add onerror to WorkerContext.
3020         https://bugs.webkit.org/show_bug.cgi?id=27516
3021
3022         * bindings/js/JSWorkerContextCustom.cpp:
3023         (WebCore::JSWorkerContext::mark):
3024         * workers/WorkerContext.h:
3025         (WebCore::WorkerContext::setOnerror):
3026         (WebCore::WorkerContext::onerror):
3027         * workers/WorkerContext.idl:
3028
3029 2009-07-21  Yong Li  <yong.li@torchmobile.com>
3030
3031         Reviewed by George Staikos.
3032
3033         https://bugs.webkit.org/show_bug.cgi?id=27509
3034         Add font-related files for the WinCE port.
3035
3036         Written by Yong Li <yong.li@torchmobile.com>
3037
3038         * platform/graphics/wince/FontCacheWince.cpp: Added.
3039         * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
3040         * platform/graphics/wince/FontCustomPlatformData.h: Added.
3041         * platform/graphics/wince/FontPlatformData.cpp: Added.
3042         * platform/graphics/wince/FontPlatformData.h: Added.
3043         * platform/graphics/wince/FontWince.cpp: Added.
3044         * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
3045         * platform/graphics/wince/SimpleFontDataWince.cpp: Added.
3046
3047 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
3048
3049         Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
3050
3051         * WebCorePrefix.h:
3052
3053 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
3054
3055         WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
3056
3057         * WebCorePrefix.h:
3058
3059 2009-07-21  Eric Seidel  <eric@webkit.org>
3060
3061         Reviewed by Adam Barth.
3062
3063         All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
3064         https://bugs.webkit.org/show_bug.cgi?id=27478
3065
3066         This is just moving code.
3067         I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
3068
3069         DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
3070         (It's a baseclass because eventually all DOMObjects will have a global pointer, but
3071         I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
3072
3073         DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
3074         which require a backpointer to the Document to function.  I made this a subclass of
3075         DOMConstructorObject to make clear that most constructors can hold no-such assumptions
3076         about having a back-pointer to the Document (since many constructors can be used from Workers).
3077
3078         * bindings/js/JSAudioConstructor.cpp:
3079         (WebCore::JSAudioConstructor::JSAudioConstructor):
3080         * bindings/js/JSAudioConstructor.h:
3081         * bindings/js/JSDOMBinding.h:
3082         (WebCore::DOMObjectWithGlobalPointer::globalObject):
3083         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
3084         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
3085         (WebCore::DOMObjectWithGlobalPointer::mark):
3086         (WebCore::DOMConstructorObject::DOMConstructorObject):
3087         (WebCore::DOMConstructorWithDocument::document):
3088         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
3089         * bindings/js/JSImageConstructor.cpp:
3090         (WebCore::JSImageConstructor::JSImageConstructor):
3091         * bindings/js/JSImageConstructor.h:
3092         * bindings/js/JSMessageChannelConstructor.cpp:
3093         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
3094         * bindings/js/JSMessageChannelConstructor.h:
3095         * bindings/js/JSOptionConstructor.cpp:
3096         (WebCore::JSOptionConstructor::JSOptionConstructor):
3097         * bindings/js/JSOptionConstructor.h:
3098         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
3099         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
3100         * bindings/js/JSWebKitPointConstructor.cpp:
3101         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
3102         * bindings/js/JSWorkerConstructor.cpp:
3103         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
3104         * bindings/js/JSXMLHttpRequestConstructor.cpp:
3105         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
3106         * bindings/js/JSXMLHttpRequestConstructor.h:
3107         * bindings/js/JSXSLTProcessorConstructor.cpp:
3108         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
3109
3110 2009-07-21  James Hawkins  <jhawkins@google.com>
3111
3112         Reviewed by David Hyatt.
3113
3114         https://bugs.webkit.org/show_bug.cgi?id=27453
3115         Initialize isInt when creating a CSSParserValue for a function.
3116
3117         No change in behavior, so no tests.
3118
3119         * css/CSSFunctionValue.cpp:
3120         (WebCore::CSSFunctionValue::parserValue):
3121
3122 2009-07-20  Jens Alfke  <snej@google.com>
3123  
3124          Reviewed by David Levin.
3125  
3126          Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
3127          Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
3128          an arrow key is pressed.
3129          https://bugs.webkit.org/show_bug.cgi?id=27448
3130  
3131          No new tests; affects only control response to user input.
3132  
3133          * dom/SelectElement.cpp:
3134          Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
3135          so it will behave compatibly with Mac HI guidelines on pop-up menus.
3136          It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
3137  
3138 2009-07-21  Paul Godavari  <paul@chromium.org>
3139
3140         Reviewed by Eric Seidel.
3141
3142         [Chromium] popup menus can crash when the selected index is -1
3143         https://bugs.webkit.org/show_bug.cgi?id=27275
3144
3145         Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
3146         is passed an index of less than 0 (which is possible under certain circumstances). This
3147         change prevents such a value from causing a crash by enforcing valid index values passed
3148         by all callers of isSelectableItem. isSelectableItem is now a private method of
3149         PopupListBox, as there are no external callers.
3150
3151         Also cleaned up a small amount of code for style and grammar errors.
3152
3153         No automatic test is provided since we cannot send events to the child window used by
3154         the popup menu.
3155
3156         * platform/chromium/PopupMenuChromium.cpp:
3157         (WebCore::PopupListBox::acceptIndex):
3158         (WebCore::PopupListBox::selectIndex):
3159         (WebCore::PopupListBox::isSelectableItem):
3160         (WebCore::PopupListBox::selectPreviousRow):
3161
3162 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
3163
3164         wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
3165
3166         * platform/network/curl/ResourceHandleManager.h:
3167
3168 2009-07-21  Adam Roben  <aroben@apple.com>
3169
3170         Roll out r46153, r46154, and r46155
3171
3172         These changes were causing build failures and assertion failures on
3173         Windows.
3174
3175         * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
3176         * platform/graphics/cg/ImageBufferCG.cpp:
3177
3178 2009-07-21  Jian Li  <jianli@chromium.org>
3179
3180         Reviewed by Eric Seidel.
3181
3182         Implement ErrorEvent API.
3183         https://bugs.webkit.org/show_bug.cgi?id=27387
3184
3185         * DerivedSources.cpp:
3186         * DerivedSources.make:
3187         * GNUmakefile.am:
3188         * WebCore.gypi:
3189         * WebCore.pro:
3190         * WebCore.vcproj/WebCore.vcproj:
3191         * WebCore.xcodeproj/project.pbxproj:
3192         * WebCoreSources.bkl:
3193         * bindings/js/JSEventCustom.cpp:
3194         (WebCore::toJS):
3195         * dom/ErrorEvent.cpp: Added.
3196         * dom/ErrorEvent.h: Added.
3197         * dom/ErrorEvent.idl: Added.
3198         * dom/Event.cpp:
3199         (WebCore::Event::isErrorEvent):
3200         * dom/Event.h:
3201
3202 2009-07-21  Priit Laes  <plaes@plaes.org>
3203
3204         Reviewed by Gustavo Noronha.
3205
3206         [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
3207         https://bugs.webkit.org/show_bug.cgi?id=24602
3208
3209         Remove workaround required for <=libsoup-2.26.1
3210
3211         * platform/network/soup/ResourceHandleSoup.cpp:
3212         (WebCore::restartedCallback):
3213
3214 2009-07-21  Adam Barth  <abarth@webkit.org>
3215
3216         Reviewed by David Levin.
3217
3218         V8IsolatedWorld keeps a handle to a disposed context
3219         https://bugs.webkit.org/show_bug.cgi?id=27397
3220
3221         Make a copy of the context handle before making it weak.  We don't want
3222         to make the original handle weak because we want it to survive for the
3223         length of the V8IsolatedWorld::evaluate method.
3224
3225         * bindings/v8/V8IsolatedWorld.cpp:
3226         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
3227
3228 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
3229
3230         Reviewed by Timothy Hatcher.
3231
3232         Web Inspector: Add ability to evaluate selection while on break point.
3233
3234         https://bugs.webkit.org/show_bug.cgi?id=27502
3235
3236         * inspector/front-end/SourceFrame.js:
3237         (WebInspector.SourceFrame.prototype._loaded):
3238         (WebInspector.SourceFrame.prototype._documentKeyDown):
3239
3240 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
3241
3242         Reviewed by Timothy Hatcher.
3243
3244         WebInspector: Special case ConsolePanel opening since
3245         it is a 'fast view'.
3246
3247         https://bugs.webkit.org/show_bug.cgi?id=27493
3248
3249         * inspector/InspectorController.cpp:
3250         (WebCore::InspectorController::setWindowVisible):
3251
3252 2009-07-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3253
3254         Reviewed by Eric Seidel.
3255
3256         Fix Qt code to follow the WebKit Coding Style.
3257
3258         * platform/graphics/qt/FontQt.cpp:
3259         (WebCore::qstring):
3260         (WebCore::fixSpacing):
3261         * platform/graphics/qt/FontQt43.cpp:
3262         (WebCore::generateComponents):
3263         (WebCore::Font::offsetForPositionForComplexText):
3264         (WebCore::cursorToX):
3265         * platform/graphics/qt/GradientQt.cpp:
3266         (WebCore::Gradient::platformGradient):
3267         * platform/graphics/qt/GraphicsContextQt.cpp:
3268         (WebCore::toQtFillRule):
3269         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3270         (WebCore::GraphicsContext::~GraphicsContext):
3271         (WebCore::GraphicsContext::getCTM):
3272         (WebCore::GraphicsContext::concatCTM):
3273         (WebCore::GraphicsContext::getWindowsContext):
3274         * platform/graphics/qt/IconQt.cpp:
3275         (WebCore::Icon::paint):
3276         * platform/graphics/qt/ImageDecoderQt.cpp:
3277         (WebCore::ImageDecoderQt::ReadContext::read):
3278         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
3279         (WebCore::ImageDecoderQt::setData):
3280         * platform/graphics/qt/ImageQt.cpp:
3281         (WebCore::Image::drawPattern):
3282         (WebCore::BitmapImage::draw):
3283         * platform/graphics/qt/ImageSourceQt.cpp:
3284         (WebCore::ImageSource::frameDurationAtIndex):
3285         (WebCore::ImageSource::frameHasAlphaAtIndex):
3286         (WebCore::ImageSource::frameIsCompleteAtIndex):
3287         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3288         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3289         (WebCore::MediaPlayerPrivate::create):
3290         (WebCore::MediaPlayerPrivate::bytesLoaded):
3291         (WebCore::MediaPlayerPrivate::updateStates):
3292         * platform/graphics/qt/PathQt.cpp:
3293         (WebCore::Path::addArcTo):
3294         (WebCore::Path::isEmpty):
3295         * platform/graphics/qt/TransformationMatrixQt.cpp:
3296         (WebCore::TransformationMatrix::operator QTransform):
3297         * platform/qt/ClipboardQt.cpp:
3298         (WebCore::ClipboardQt::ClipboardQt):
3299         (WebCore::ClipboardQt::clearData):
3300         (WebCore::ClipboardQt::clearAllData):
3301         (WebCore::ClipboardQt::getData):
3302         (WebCore::ClipboardQt::setData):
3303         (WebCore::ClipboardQt::setDragImage):
3304         (WebCore::getCachedImage):
3305         (WebCore::ClipboardQt::declareAndWriteDragImage):
3306         (WebCore::ClipboardQt::writeURL):
3307         (WebCore::ClipboardQt::writeRange):
3308         (WebCore::ClipboardQt::hasData):
3309         * platform/qt/ClipboardQt.h:
3310         * platform/qt/ContextMenuItemQt.cpp:
3311         (WebCore::ContextMenuItem::action):
3312         (WebCore::ContextMenuItem::title):
3313         * platform/qt/CursorQt.cpp:
3314         (WebCore::westPanningCursor):
3315         (WebCore::notAllowedCursor):
3316         * platform/qt/DragDataQt.cpp:
3317         (WebCore::DragData::containsFiles):
3318         (WebCore::DragData::asFilenames):
3319         (WebCore::DragData::asPlainText):
3320         (WebCore::DragData::asFragment):
3321         * platform/qt/DragImageQt.cpp:
3322         (WebCore::createDragImageIconForCachedImage):
3323         * platform/qt/FileSystemQt.cpp:
3324         (WebCore::getFileSize):
3325         (WebCore::unloadModule):
3326         * platform/qt/Localizations.cpp:
3327         (WebCore::contextMenuItemTagShowSpellingPanel):
3328         * platform/qt/MIMETypeRegistryQt.cpp:
3329         (WebCore::):
3330         * platform/qt/PasteboardQt.cpp:
3331         (WebCore::Pasteboard::Pasteboard):
3332         (WebCore::Pasteboard::writeSelection):
3333         (WebCore::Pasteboard::plainText):
3334         * platform/qt/PlatformKeyboardEventQt.cpp:
3335         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3336         * platform/qt/PlatformMouseEventQt.cpp:
3337         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3338         * platform/qt/PopupMenuQt.cpp:
3339         (WebCore::PopupMenu::populate):
3340         * platform/qt/RenderThemeQt.cpp:
3341         (WebCore::RenderThemeQt::fallbackStyle):
3342         (WebCore::inflateButtonRect):
3343         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
3344         (WebCore::RenderThemeQt::paintButton):
3345         (WebCore::RenderThemeQt::paintMenuList):
3346         (WebCore::RenderThemeQt::applyTheme):
3347         (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
3348         (WebCore::RenderThemeQt::paintMediaBackground):
3349         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
3350         * platform/qt/RenderThemeQt.h:
3351         * platform/qt/ScreenQt.cpp:
3352         (WebCore::screenRect):
3353         (WebCore::usableScreenRect):
3354         * platform/qt/ScrollbarQt.cpp:
3355         (WebCore::Scrollbar::contextMenu):
3356         * platform/qt/ScrollbarThemeQt.cpp:
3357         (WebCore::scPart):
3358         (WebCore::scrollbarPart):
3359         * platform/qt/ScrollbarThemeQt.h:
3360         * platform/qt/SharedBufferQt.cpp:
3361         (WebCore::SharedBuffer::createWithContentsOfFile):
3362         * platform/qt/TemporaryLinkStubs.cpp:
3363         (PluginDatabase::defaultPluginDirectories):
3364         (PluginDatabase::getPluginPathsInDirectories):
3365         (PluginDatabase::isPreferredPluginDirectory):
3366         (WebCore::getSupportedKeySizes):
3367         (WebCore::signedPublicKeyAndChallengeString):
3368         (WebCore::userIdleTime):
3369         (WebCore::prefetchDNS):
3370         * platform/text/qt/StringQt.cpp:
3371         (WebCore::String::String):
3372         * platform/text/qt/TextBoundaries.cpp:
3373         * platform/text/qt/TextBreakIteratorQt.cpp:
3374         (WebCore::TextBreakIterator::following):
3375         (WebCore::TextBreakIterator::preceding):
3376         (WebCore::WordBreakIteratorQt::first):
3377         (WebCore::WordBreakIteratorQt::next):
3378         (WebCore::WordBreakIteratorQt::previous):
3379         (WebCore::CharBreakIteratorQt::first):
3380         (WebCore::CharBreakIteratorQt::next):
3381         (WebCore::CharBreakIteratorQt::previous):
3382         (WebCore::characterBreakIterator):
3383         * plugins/qt/PluginPackageQt.cpp:
3384         (WebCore::PluginPackage::fetchInfo):
3385         * plugins/qt/PluginViewQt.cpp:
3386         (WebCore::PluginView::userAgentStatic):
3387         (WebCore::PluginView::handlePostReadFile):
3388         (WebCore::PluginView::init):
3389
3390 2009-07-21  Maxime Simon  <simon.maxime@gmail.com>
3391
3392         Reviewed by David Levin.
3393
3394         Added a first bunch of Haiku-specific files for WebCore.
3395         https://bugs.webkit.org/show_bug.cgi?id=26988
3396
3397         * platform/haiku/ClipboardHaiku.cpp: Added.
3398         (WebCore::ClipboardHaiku::ClipboardHaiku):
3399         (WebCore::ClipboardHaiku::clearData):
3400         (WebCore::ClipboardHaiku::clearAllData):
3401         (WebCore::ClipboardHaiku::getData):
3402         (WebCore::ClipboardHaiku::setData):
3403         (WebCore::ClipboardHaiku::types):
3404         (WebCore::ClipboardHaiku::files):
3405         (WebCore::ClipboardHaiku::dragLocation):
3406         (WebCore::ClipboardHaiku::dragImage):
3407         (WebCore::ClipboardHaiku::setDragImage):
3408         (WebCore::ClipboardHaiku::dragImageElement):
3409         (WebCore::ClipboardHaiku::setDragImageElement):
3410         (WebCore::ClipboardHaiku::createDragImage):
3411         (WebCore::ClipboardHaiku::declareAndWriteDragImage):
3412         (WebCore::ClipboardHaiku::writeURL):
3413         (WebCore::ClipboardHaiku::writeRange):
3414         (WebCore::ClipboardHaiku::hasData):
3415         * platform/haiku/ClipboardHaiku.h: Added.
3416         (WebCore::ClipboardHaiku::create):
3417         (WebCore::ClipboardHaiku::~ClipboardHaiku):
3418         * platform/haiku/CookieJarHaiku.cpp: Added.
3419         (WebCore::setCookies):
3420         (WebCore::cookies):
3421         (WebCore::cookiesEnabled):
3422         * platform/haiku/CursorHaiku.cpp: Added.
3423         (WebCore::Cursor::Cursor):
3424         (WebCore::Cursor::~Cursor):
3425         (WebCore::Cursor::operator=):
3426         (WebCore::pointerCursor):
3427         (WebCore::moveCursor):
3428         (WebCore::crossCursor):
3429         (WebCore::handCursor):
3430         (WebCore::iBeamCursor):
3431         (WebCore::waitCursor):
3432         (WebCore::helpCursor):
3433         (WebCore::eastResizeCursor):
3434         (WebCore::northResizeCursor):
3435         (WebCore::northEastResizeCursor):
3436         (WebCore::northWestResizeCursor):
3437         (WebCore::southResizeCursor):
3438         (WebCore::southEastResizeCursor):
3439         (WebCore::southWestResizeCursor):
3440         (WebCore::westResizeCursor):
3441         (WebCore::northSouthResizeCursor):
3442         (WebCore::eastWestResizeCursor):
3443         (WebCore::northEastSouthWestResizeCursor):
3444         (WebCore::northWestSouthEastResizeCursor):
3445         (WebCore::columnResizeCursor):
3446         (WebCore::rowResizeCursor):
3447         (WebCore::verticalTextCursor):
3448         (WebCore::cellCursor):
3449         (WebCore::contextMenuCursor):
3450         (WebCore::noDropCursor):
3451         (WebCore::copyCursor):
3452         (WebCore::progressCursor):
3453         (WebCore::aliasCursor):
3454         (WebCore::noneCursor):
3455         (WebCore::notAllowedCursor):
3456         (WebCore::zoomInCursor):
3457         (WebCore::zoomOutCursor):
3458         (WebCore::grabCursor):
3459         (WebCore::grabbingCursor):
3460
3461 2009-07-21  Albert Astals Cid <aacid@kde.org>
3462
3463         Reviewed by Tor Arne Vestbø.
3464
3465         Change #error line not to have a ' (single quote)
3466
3467         * DerivedSources.cpp:
3468
3469 2009-07-21  Roland Steiner  <rolandsteiner@google.com>
3470
3471         Reviewed by David Levin.
3472
3473         Add ENABLE_RUBY to list of build options
3474         https://bugs.webkit.org/show_bug.cgi?id=27324
3475
3476         Added flag ENABLE_RUBY:
3477
3478         * Configurations/FeatureDefines.xcconfig:
3479         * DerivedSources.make:
3480         * GNUmakefile.am:
3481         * WebCore.pro:
3482         * WebCore.vcproj/WebCoreCommon.vsprops:
3483         * WebCore.vcproj/build-generated-files.sh:
3484
3485 2009-07-21  James Hawkins  <jhawkins@google.com>
3486
3487         Reviewed by Eric Seidel.
3488
3489         https://bugs.webkit.org/show_bug.cgi?id=27467
3490         Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
3491         if matrix.invert() fails.  This prevents the use of an uninitialized
3492         value in inverseMatrix.
3493
3494         No new tests added.  Run
3495         LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
3496         under valgrind and notice there are no errors.
3497
3498         * platform/graphics/skia/PlatformContextSkia.cpp:
3499         (PlatformContextSkia::currentPathInLocalCoordinates):
3500
3501 2009-07-21  Stephen White  <senorblanco@chromium.org>
3502
3503         Reviewed by Eric Seidel.
3504
3505         https://bugs.webkit.org/show_bug.cgi?id=27388
3506
3507         Fix dotted and dashed borders on Chromium/skia.  This follows
3508         the logic in the Cg path, so results are much closer to Safari now 
3509         (some tests won't be exactly the same due to font layout differences).
3510
3511         * platform/graphics/skia/GraphicsContextSkia.cpp:
3512         (WebCore::GraphicsContext::drawLine):
3513         * platform/graphics/skia/PlatformContextSkia.cpp:
3514         (PlatformContextSkia::setupPaintForStroking):
3515
3516 2009-07-20  Oliver Hunt  <oliver@apple.com>
3517
3518         Reviewed by Gavin Barraclough.
3519
3520         Make it harder to misuse try* allocation routines
3521         https://bugs.webkit.org/show_bug.cgi?id=27469
3522
3523         Add forwarding header for PossiblyNull type, and add missing null check
3524         to ImageBuffer creation.
3525
3526         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
3527         * platform/graphics/cg/ImageBufferCG.cpp:
3528         (WebCore::ImageBuffer::ImageBuffer):
3529
3530 2009-07-20  Adam Langley  <agl@google.com>
3531
3532         Reviewed by Eric Seidel.
3533
3534         Guard access to installedMediaEngines()[0].
3535
3536         https://bugs.webkit.org/show_bug.cgi?id=27479
3537         http://code.google.com/p/chromium/issues/detail?id=16541
3538
3539         Else where in the file, installedMediaEngines is always checked for
3540         being empty because access. This patch adds a case which missed that
3541         check.
3542
3543         This triggered a crash in Chromium:
3544             http://www.yakeze.com/chat/example-chromium-crash/
3545
3546         * platform/graphics/MediaPlayer.cpp:
3547         (WebCore::MediaPlayer::load):
3548
3549 2009-07-20  Adam Langley  <agl@google.com>
3550
3551         Reviewed by Eric Seidel.
3552
3553         Allow search entries to render with a CSS border if the RenderTheme
3554         doesn't paint them.
3555
3556         https://bugs.webkit.org/show_bug.cgi?id=27466
3557         http://code.google.com/p/chromium/issues/detail?id=16958
3558
3559         <input type="search"> is very much like a text entry except that,
3560         currently, if the RenderTheme doesn't deal with it, nothing is
3561         rendered. With this patch, the default CSS border is rendered if the
3562         RenderTheme requests it.
3563
3564         This will affect many layout tests, but only for Chromium Linux and
3565         those results are not currently in the WebKit tree.
3566
3567         * rendering/RenderTheme.cpp:
3568         (WebCore::RenderTheme::paintBorderOnly):
3569
3570 2009-07-17  Anton Muhin  <antonm@chromium.org>
3571
3572         Reviewed by Adam Barth.
3573
3574         Switch to faster methods to access internal fields.
3575         https://bugs.webkit.org/show_bug.cgi?id=27372
3576
3577         Minor refactoring.
3578
3579         * bindings/scripts/CodeGeneratorV8.pm:
3580         * bindings/v8/V8DOMWrapper.cpp:
3581         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
3582         (WebCore::V8DOMWrapper::setDOMWrapper):
3583         * bindings/v8/V8DOMWrapper.h:
3584         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
3585         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
3586         (WebCore::V8DOMWrapper::convertToNativeObject):
3587         (WebCore::V8DOMWrapper::convertToNativeEvent):
3588         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3589         (WebCore::CALLBACK_FUNC_DECL):
3590         * bindings/v8/custom/V8ClipboardCustom.cpp:
3591         (WebCore::CALLBACK_FUNC_DECL):
3592         * bindings/v8/custom/V8DocumentCustom.cpp:
3593         (WebCore::CALLBACK_FUNC_DECL):
3594         * bindings/v8/custom/V8ElementCustom.cpp:
3595         (WebCore::CALLBACK_FUNC_DECL):
3596         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3597         (WebCore::CALLBACK_FUNC_DECL):
3598         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3599         (WebCore::CALLBACK_FUNC_DECL):
3600         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3601         (WebCore::removeElement):
3602         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
3603         (WebCore::CALLBACK_FUNC_DECL):
3604         * bindings/v8/custom/V8NodeCustom.cpp:
3605         (WebCore::CALLBACK_FUNC_DECL):
3606         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
3607         (WebCore::CALLBACK_FUNC_DECL):
3608
3609 2009-07-20  Adam Langley  <agl@google.com>
3610
3611         Reviewed by Eric Seidel.
3612
3613         Chromium Linux: cache Harfbuzz faces.
3614
3615         https://bugs.webkit.org/show_bug.cgi?id=27473
3616
3617         Previously, we recreated the Harfbuzz face for each script-run. With
3618         this patch, we keep the Harfbuzz face in the FontPlatformData (created
3619         as needed) and so they will persist for the duration of the
3620         FontPlatformData.
3621
3622         Shouldn't affect any layout tests. Results in a significant win on the
3623         intl2 page cycler time.
3624
3625         * platform/graphics/chromium/FontLinux.cpp:
3626         (WebCore::TextRunWalker::~TextRunWalker):
3627         (WebCore::TextRunWalker::setupFontForScriptRun):
3628         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
3629         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
3630         (WebCore::FontPlatformData::FontPlatformData):
3631         (WebCore::FontPlatformData::harfbuzzFace):
3632         * platform/graphics/chromium/FontPlatformDataLinux.h:
3633         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
3634         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
3635         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
3636         * platform/graphics/chromium/HarfbuzzSkia.h: Added.
3637
3638 2009-07-20  Ryosuke Niwa  <rniwa@webkit.org>
3639
3640         Reviewed by Simon Fraser.
3641
3642         REGRESSION (r46142): Need to remove showTreeThisForThis
3643         https://bugs.webkit.org/show_bug.cgi?id=27475
3644
3645         Removes showTreeThisForThis
3646
3647         * editing/IndentOutdentCommand.cpp:
3648         (WebCore::IndentOutdentCommand::appendParagraphIntoNode):
3649
3650 2009-07-19  Ryosuke Niwa  <rniwa@webkit.org>
3651
3652         Reviewed by Eric Seidel.
3653
3654         Refactoring of indentRegion to fix bugs 26816 and 25317
3655         https://bugs.webkit.org/show_bug.cgi?id=26816
3656         https://bugs.webkit.org/show_bug.cgi?id=25317
3657         https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
3658
3659         This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
3660         and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
3661
3662         1. We try to indent as many wrapping nodes as possible.
3663            e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
3664         2. We do not delete any wrapping elements
3665            With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
3666            This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
3667            With appendParagraphIntoNode, we can preserve all wrapping nodes.
3668         3. We only split the tree until the closest block node instead of until the root editable node.
3669            This behavioral change fixes the bug 25317.
3670         4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
3671            e.g. when a list is a child node of a div, and the entire div is intended,
3672                 we enclose the div by a single blockquote.
3673
3674         Note that new behavior is more consistent with that of Internet Explorer and Firefox.
3675         To demonstrate this, the following tests are added.
3676
3677         Tests: editing/execCommand/indent-div-inside-list.html
3678                editing/execCommand/indent-nested-blockquotes.html
3679                editing/execCommand/indent-nested-div.html
3680                editing/execCommand/indent-second-paragraph-in-blockquote.html
3681
3682         * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
3683         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
3684         (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
3685         (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
3686         (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
3687         (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
3688         * editing/IndentOutdentCommand.h: updated prototype
3689
3690 2009-07-20  Dan Bernstein  <mitz@apple.com>
3691
3692         Try to fix release builds after r46136
3693
3694         * dom/Element.cpp:
3695
3696 2009-07-17  Pierre d'Herbemont  <pdherbemont@apple.com>
3697
3698         Reviewed by Eric Seidel.
3699
3700         Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
3701         https://bugs.webkit.org/show_bug.cgi?id=27380
3702
3703         Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
3704
3705         * css/mediaControlsQT.css:
3706
3707 2009-07-20  Peter Kasting  <pkasting@google.com>
3708
3709         Reviewed by Mark Rowe.
3710
3711         https://bugs.webkit.org/show_bug.cgi?id=27468
3712         Back out r46060, which caused problems for some Apple developers.
3713
3714         * WebCore.vcproj/QTMovieWin.vcproj:
3715         * WebCore.vcproj/WebCoreCommon.vsprops:
3716         * WebCore.vcproj/WebCoreGenerated.vcproj:
3717
3718 2009-07-20  Dan Bernstein  <mitz@apple.com>
3719
3720         Reviewed by Anders Carlsson.
3721
3722         When loading a custom view into a frame, the old document is still
3723         around
3724         <rdar://problem/5145841>
3725
3726         Safari fires onload before PDF is loaded into the browser
3727         <rdar://problem/6618869>
3728
3729         Test: fast/loader/non-html-load-event.html
3730
3731         * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
3732         * WebCore.gypi: Ditto.
3733         * WebCore.pro: Ditto.
3734         * WebCore.vcproj/WebCore.vcproj: Ditto.
3735         * WebCore.xcodeproj/project.pbxproj: Ditto.
3736         * WebCoreSources.bkl: Ditto.
3737         * dom/Document.h:
3738         (WebCore::Document::setStyleSelector): Added this protected accessor for
3739             PlaceholderDocument to use.
3740         * dom/Element.cpp:
3741         (WebCore::Element::clientWidth): Check whether the document has a
3742             renderer.
3743         (WebCore::Element::clientHeight): Ditto.
3744         * loader/FrameLoader.cpp:
3745         (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
3746             that do not use an HTML view. Do not nullify the content size in
3747             that case.
3748         (WebCore::FrameLoader::transitionToCommitted): For frames that do not
3749             use an HTML view, call receivedFirstData(), which sets up the
3750             frame with a new PlaceHolderDocument.
3751         * loader/PlaceholderDocument.cpp: Added.
3752         (WebCore::PlaceholderDocument::attach): Sets up the style selector but
3753             does not create a RenderView.
3754         * loader/PlaceholderDocument.h: Added.
3755         (WebCore::PlaceholderDocument::create):
3756         (WebCore::PlaceholderDocument::PlaceholderDocument):
3757
3758 2009-07-20  Chris Marrin  <cmarrin@apple.com>
3759
3760         Reviewed by Simon Fraser.
3761
3762         Handle opacity and opacity animations on transform layers in Leopard
3763         https://bugs.webkit.org/show_bug.cgi?id=27398
3764
3765         This makes two changes, and only for Leopard. 
3766
3767         First, whenever opacity is changed on a layer I propagate the 
3768         change into the content layer and all the children if the layer 
3769         on which opacity is set is a transform layer (preserve3D is true). 
3770         The opacity set is the accumulated opacity from this layer
3771         and all its direct ancestor transform layers. Second, I turn off all 
3772         hardware opacity animation.
3773
3774         * platform/graphics/GraphicsLayer.cpp:
3775         (WebCore::GraphicsLayer::accumulatedOpacity):
3776         (WebCore::GraphicsLayer::distributeOpacity):
3777         * platform/graphics/GraphicsLayer.h:
3778         (WebCore::GraphicsLayer::setOpacityInternal):
3779         * platform/graphics/mac/GraphicsLayerCA.h:
3780         * platform/graphics/mac/GraphicsLayerCA.mm:
3781         (WebCore::GraphicsLayerCA::setPreserves3D):
3782         (WebCore::GraphicsLayerCA::setOpacity):
3783         (WebCore::GraphicsLayerCA::animateFloat):
3784         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3785         (WebCore::GraphicsLayerCA::setOpacityInternal):
3786         (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
3787
3788 2009-07-20  Yong Li  <yong.li@torchmobile.com>
3789
3790         Reviewed by Adam Roben.
3791
3792         https://bugs.webkit.org/show_bug.cgi?id=27349
3793         Add GraphicsContext implementation for the WinCE port.
3794
3795         Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
3796         with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
3797
3798         * platform/graphics/wince/GraphicsContextWince.cpp: Added.
3799
3800 2009-07-20  Dumitru Daniliuc  <dumi@chromium.org>
3801
3802         Reviewed by Dimitri Glazkov.
3803
3804         Adding the Win SQLite VFS implementation for Chromium, and stubs
3805         for the Mac and Linux VFSs.
3806
3807         https://bugs.webkit.org/show_bug.cgi?id=26940
3808
3809         * WebCore.gypi:
3810         * platform/chromium/ChromiumBridge.h:
3811         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
3812         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
3813         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
3814         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
3815
3816 2009-07-20  Xan Lopez  <xlopez@igalia.com>
3817
3818         Reviewed by Gustavo Noronha.
3819
3820         https://bugs.webkit.org/show_bug.cgi?id=27097
3821         [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
3822
3823         Check that an object is a RenderObject before trying to access its
3824         renderer and related node.
3825
3826         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3827         (webkit_accessible_get_role):
3828
3829 2009-07-20  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
3830
3831         Reviewed by Simon Hausmann.
3832
3833         [Qt] font cache reworking
3834         https://bugs.webkit.org/show_bug.cgi?id=27265
3835
3836         Reimplemented Qt's FontCache in a way that follows the shared one.
3837         Now we can release its elements when those became inactive.
3838         FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
3839
3840         No change in behavior, so no tests.
3841
3842         * platform/graphics/qt/FontCacheQt.cpp:
3843         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
3844         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
3845         (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
3846         It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
3847         with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
3848         FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
3849         (WebCore::FontPlatformDataCacheKey::operator==):
3850         (WebCore::FontPlatformDataCacheKey::hash):
3851         (WebCore::FontPlatformDataCacheKey::computeHash):
3852         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
3853         (WebCore::FontPlatformDataCacheKeyHash::hash):
3854         (WebCore::FontPlatformDataCacheKeyHash::equal):
3855         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
3856         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
3857         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
3858         (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
3859         (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
3860         (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
3861         (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
3862         (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
3863         * platform/graphics/qt/FontFallbackListQt.cpp:
3864         (WebCore::FontFallbackList::releaseFontData):
3865         (WebCore::FontFallbackList::fontDataAt):
3866         * platform/graphics/qt/FontPlatformData.h:
3867         (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
3868         (WebCore::FontPlatformData::bold): Ditto.
3869         (WebCore::FontPlatformData::italic): Ditto.
3870         (WebCore::FontPlatformData::smallCaps): Ditto.
3871         (WebCore::FontPlatformData::pixelSize): Ditto.
3872         * platform/graphics/qt/FontPlatformDataQt.cpp:
3873         (WebCore::FontPlatformData::FontPlatformData): Set m_bold.
3874
3875 2009-07-20  Xan Lopez  <xlopez@igalia.com>
3876
3877         Reviewed by Holger Freyther.
3878
3879         https://bugs.webkit.org/show_bug.cgi?id=26716
3880         [Gtk] Each XMLHttpRequest leaks memory.
3881
3882         Free the SoupURI we create to check the URI. Fix suggested by John
3883         Kjellberg.
3884
3885         * platform/network/soup/ResourceHandleSoup.cpp:
3886         (WebCore::):
3887
3888 2009-07-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3889
3890         Reviewed by Holger Freyther.
3891
3892         [Qt] On Symbian link against system sqlite3
3893         https://bugs.webkit.org/show_bug.cgi?id=27368
3894
3895         Add an option to force linking against system sqlite3
3896         by adding system-sqlite to the CONFIG variable.
3897
3898         The Symbian specific part of this patch is contributed by 
3899         Norbert Leser.
3900
3901         * WebCore.pro:
3902
3903 2009-07-20  Xan Lopez  <xlopez@igalia.com>
3904
3905         Reviewed by Gustavo Noronha.
3906
3907         Change the glib version check to check for the first unstable
3908         release with g_mapped_file_unref. Otherwise this would be useless
3909         until 2.22 is released, a few months from now.
3910
3911         * platform/network/soup/ResourceHandleSoup.cpp:
3912         (WebCore::ResourceHandle::startHttp):
3913
3914 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
3915
3916         Reviewed by and done with Tor Arne Vestbø.
3917
3918         Fix fast/css/pseudo-required-optional-*.html in the Qt build
3919         after r46062.
3920
3921         These tests triggered a bug in RenderThemeQt where we did not fall back
3922         to the unstyled painting of text areas and input fields when they have
3923         a styled background.
3924
3925         Our re-implementation of isControlStyled incorrectly only checked the
3926         border for determining whether to style or not. The base-implementation
3927         performs the same check, but also includes the background. Removing
3928         our implementation fixes the appearance.
3929
3930         * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
3931         * platform/qt/RenderThemeQt.h: Ditto.
3932
3933 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
3934
3935         Rubber-stamped by Tor Arne Vestbø.
3936
3937         Add missing (sorted) header files to the HEADERS variable in the qmake
3938         .pro file for improved completion in IDEs.
3939
3940         * WebCore.pro:
3941
3942 2009-07-19  Adam Barth  <abarth@webkit.org>
3943
3944         Reviewed by David Levin.
3945
3946         [V8] Factor V8ConsoleMessage out of V8Proxy
3947         https://bugs.webkit.org/show_bug.cgi?id=27421
3948
3949         No behavior change.
3950
3951         * WebCore.gypi:
3952         * bindings/v8/V8ConsoleMessage.cpp: Added.
3953         (WebCore::V8ConsoleMessage::V8ConsoleMessage):
3954         (WebCore::V8ConsoleMessage::dispatchNow):
3955         (WebCore::V8ConsoleMessage::dispatchLater):
3956         (WebCore::V8ConsoleMessage::processDelayed):
3957         (WebCore::V8ConsoleMessage::handler):
3958         * bindings/v8/V8ConsoleMessage.h: Added.
3959         (WebCore::V8ConsoleMessage::Scope::Scope):
3960         (WebCore::V8ConsoleMessage::Scope::~Scope):
3961         * bindings/v8/V8Proxy.cpp:
3962         (WebCore::logInfo):
3963         (WebCore::reportUnsafeAccessTo):
3964         (WebCore::V8Proxy::runScript):
3965         (WebCore::V8Proxy::callFunction):
3966         (WebCore::V8Proxy::newInstance):
3967         (WebCore::V8Proxy::initContextIfNeeded):
3968         (WebCore::V8Proxy::processConsoleMessages):
3969
3970 2009-07-19  Rob Buis  <rwlbuis@gmail.com>
3971
3972         Reviewed by Adam Barth.
3973
3974         Remove unused member variable.
3975
3976         * svg/SVGPolyElement.h:
3977
3978 2009-07-19  Eric Carlson  <eric.carlson@apple.com>
3979
3980         Reviewed by Dan Bernstein.
3981
3982         HTMLAudioElement: constructor should set "autobuffer" attribute
3983         https://bugs.webkit.org/show_bug.cgi?id=27422
3984
3985         Test: media/audio-constructor-autobuffer.html
3986
3987         * bindings/js/JSAudioConstructor.cpp:
3988         (WebCore::constructAudio):
3989             Set 'autobuffer' attribute.
3990
3991 2009-07-19  Thierry Bastian <thierry.bastian@nokia.com>
3992
3993         Reviewed by Simon Hausmann.
3994
3995         Fix the Qt build with mingw.
3996
3997         * WebCore.pro: Don't use MSVC commandline options to disable warnings
3998         with mingw.
3999
4000 2009-07-19  Adam Barth  <abarth@webkit.org>
4001
4002         Reviewed by David Levin.
4003
4004         [V8] Phase 2: Remove event listener methods from V8Proxy
4005         https://bugs.webkit.org/show_bug.cgi?id=27415
4006
4007         No behavior change.
4008
4009         * bindings/v8/V8ObjectEventListener.cpp:
4010         (WebCore::weakObjectEventListenerCallback):
4011         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
4012         * bindings/v8/V8Proxy.cpp:
4013         (WebCore::V8Proxy::disconnectEventListeners):
4014         * bindings/v8/V8Proxy.h:
4015         (WebCore::V8Proxy::eventListeners):
4016         (WebCore::V8Proxy::objectListeners):
4017         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
4018         (WebCore::getEventListener):
4019         * bindings/v8/custom/V8CustomEventListener.cpp:
4020         (WebCore::V8EventListener::~V8EventListener):
4021         * bindings/v8/custom/V8DOMWindowCustom.cpp:
4022         (WebCore::CALLBACK_FUNC_DECL):
4023         (WebCore::ACCESSOR_SETTER):
4024         * bindings/v8/custom/V8ElementCustom.cpp:
4025         (WebCore::ACCESSOR_SETTER):
4026         * bindings/v8/custom/V8MessagePortCustom.cpp:
4027         (WebCore::ACCESSOR_SETTER):
4028         (WebCore::CALLBACK_FUNC_DECL):
4029         * bindings/v8/custom/V8NodeCustom.cpp:
4030         (WebCore::CALLBACK_FUNC_DECL):
4031         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
4032         (WebCore::CALLBACK_FUNC_DECL):
4033         * bindings/v8/custom/V8WorkerCustom.cpp:
4034         (WebCore::getEventListener):
4035         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
4036         (WebCore::getEventListener):
4037         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
4038         (WebCore::ACCESSOR_SETTER):
4039         (WebCore::CALLBACK_FUNC_DECL):
4040
4041 2009-07-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
4042
4043         Reviewed by Gustavo Noronha.
4044
4045         [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
4046         https://bugs.webkit.org/show_bug.cgi?id=27230
4047
4048         Use g_mapped_file_unref for GLIB version 2.22 onwards.
4049
4050         * platform/network/soup/ResourceHandleSoup.cpp:
4051         (WebCore::ResourceHandle::startHttp):
4052
4053 2009-07-18  Dan Bernstein  <mitz@apple.com>
4054
4055         Reviewed by Anders Carlsson.
4056
4057         Add spread radius support to -webkit-box-shadow
4058         https://bugs.webkit.org/show_bug.cgi?id=27417
4059         rdar://problem/7072267
4060
4061         Test: fast/box-shadow/spread.html
4062
4063         * css/CSSComputedStyleDeclaration.cpp:
4064         (WebCore::valueForShadow): Added a property ID parameter and used it to
4065             include the spread length for box-shadow but not for text-shadow.
4066         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4067             Pass the property ID to valueForShadow().
4068
4069         * css/CSSParser.cpp:
4070         (WebCore::ShadowParseContext::ShadowParseContext): Added property,
4071             spread, and allowSpread members. Added a property ID parameter to
4072             the constructor. Initialize the property and allowSpread members.
4073         (WebCore::ShadowParseContext::allowLength): Added allowSpread.
4074         (WebCore::ShadowParseContext::commitValue): Pass the spread value to
4075             the ShadowValue constructor. Reset allowSpread.
4076         (WebCore::ShadowParseContext::commitLength): Allow spread after blur
4077             for the box-shadow property.
4078         (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
4079         (WebCore::CSSParser::parseShadow): Pass the property ID to
4080             ShadowParseContext().
4081
4082         * css/CSSStyleSelector.cpp:
4083         (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
4084             the shadow value and pass it to the ShadowData constructor.
4085
4086         * css/ShadowValue.cpp:
4087         (WebCore::ShadowValue::ShadowValue): Added spread.
4088         (WebCore::ShadowValue::cssText): Added spread.
4089
4090         * css/ShadowValue.h:
4091         (WebCore::ShadowValue::create): Added spread.
4092
4093         * page/animation/AnimationBase.cpp:
4094         (WebCore::blendFunc): Blend the spread value.
4095         (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
4096             shadow.
4097
4098         * rendering/InlineFlowBox.cpp:
4099         (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
4100             the visual overflow calculations.
4101         (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
4102         (WebCore::InlineFlowBox::paint): Ditto.
4103
4104         * rendering/RenderBlock.cpp:
4105         (WebCore::RenderBlock::overflowHeight): Ditto.
4106         (WebCore::RenderBlock::overflowWidth): Ditto.
4107         (WebCore::RenderBlock::overflowLeft): Ditto.
4108         (WebCore::RenderBlock::overflowTop): Ditto.
4109         (WebCore::RenderBlock::overflowRect): Ditto.
4110         (WebCore::RenderBlock::layoutBlock): Ditto.
4111
4112         * rendering/RenderBoxModelObject.cpp:
4113         (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
4114             casting rect by the shadow spread value. Adjust border radii if
4115             necessary.
4116
4117         * rendering/RenderFlexibleBox.cpp:
4118         (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
4119             visual overflow calculations.
4120         * rendering/RenderLayer.cpp:
4121         (WebCore::RenderLayer::calculateRects): Ditto.
4122
4123         * rendering/RenderObject.cpp:
4124         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
4125         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
4126
4127         * rendering/RenderReplaced.cpp:
4128         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
4129
4130         * rendering/style/RenderStyle.cpp:
4131         (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
4132             have spread.
4133
4134         * rendering/style/ShadowData.cpp:
4135         (WebCore::ShadowData::ShadowData): Added spread.
4136         (WebCore::ShadowData::operator==): Compare spread.
4137         * rendering/style/ShadowData.h:
4138         (WebCore::ShadowData::ShadowData): Added spread.
4139
4140 2009-07-18  Adam Barth  <abarth@webkit.org>
4141
4142         Reviewed by Jan Alonzo.
4143
4144         Minor FrameLoader.cpp cleanup
4145         https://bugs.webkit.org/show_bug.cgi?id=27406
4146
4147         No behavior change.
4148
4149         * loader/FrameLoader.cpp:
4150         (WebCore::FrameLoader::executeIfJavaScriptURL):
4151
4152 2009-07-18  Adam Barth  <abarth@webkit.org>
4153
4154         Reviewed by Darin Fisher.
4155
4156         [V8] Move event listener methods from V8Proxy to V8EventListenerList
4157         https://bugs.webkit.org/show_bug.cgi?id=27408
4158
4159         Move some event listener code out of V8Proxy and into the event
4160         listener list.
4161
4162         I'd like to remove these methods from V8Proxy entirely and just expose
4163         getters for the lists themselves, but I'll do that in a follow up
4164         patch.
4165
4166         * bindings/v8/V8EventListenerList.cpp:
4167         (WebCore::V8EventListenerList::findWrapper):
4168         * bindings/v8/V8EventListenerList.h:
4169         (WebCore::V8EventListenerList::findOrCreateWrapper):
4170         * bindings/v8/V8ObjectEventListener.cpp:
4171         * bindings/v8/V8Proxy.cpp:
4172         (WebCore::V8Proxy::findV8EventListener):
4173         (WebCore::V8Proxy::findOrCreateV8EventListener):
4174         (WebCore::V8Proxy::removeV8EventListener):
4175         (WebCore::V8Proxy::findObjectEventListener):
4176         (WebCore::V8Proxy::findOrCreateObjectEventListener):
4177         (WebCore::V8Proxy::removeObjectEventListener):
4178         * bindings/v8/V8Proxy.h:
4179
4180 2009-07-18  Jeremy Orlow  <jorlow@chromium.org>
4181
4182         Rubber stamped by Adam Barth.
4183
4184         Revert https://bugs.webkit.org/show_bug.cgi?id=27383
4185         https://bugs.webkit.org/show_bug.cgi?id=27407
4186
4187         Revert Jens' patch.  I believe he forgot to include a file.
4188
4189         * WebCore.gypi:
4190         * bindings/scripts/CodeGeneratorV8.pm:
4191         * bindings/v8/DOMObjectsInclude.h:
4192         * bindings/v8/V8DOMWrapper.cpp:
4193         (WebCore::V8DOMWrapper::getTemplate):
4194         * bindings/v8/V8DataGridDataSource.cpp: Removed.
4195         * bindings/v8/V8DataGridDataSource.h: Removed.
4196         * bindings/v8/V8GCController.h:
4197         * bindings/v8/V8Index.h:
4198         * bindings/v8/custom/V8CustomBinding.h:
4199         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
4200         (WebCore::ACCESSOR_GETTER):
4201         (WebCore::ACCESSOR_SETTER):
4202
4203 2009-07-17  Daniel Bates  <dbates@intudata.com>
4204
4205         Reviewed by Adam Barth.
4206         
4207         https://bugs.webkit.org/show_bug.cgi?id=27405
4208
4209         Fixes an issue when decoding HTML entities with an unknown named entity that 
4210         caused null-characters to be inserted into the decoded result.
4211
4212         Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
4213               http/tests/security/xssAuditor/javascript-link-ampersand.html
4214
4215         * page/XSSAuditor.cpp:
4216         (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
4217         non-zero entity values are not inserted during decoding process.