2009-05-20 Jan Michael Alonzo <jmalonzo@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-05-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
2
3         Rubber-stamped by Xan Lopez.
4
5         Remove misplaced extern "C"
6
7         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
8
9 2009-05-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
10
11         Reviewed by Xan Lopez.
12
13         [GTK] Expose password field with role of PASSWORD_TEXT
14         https://bugs.webkit.org/show_bug.cgi?id=25682
15
16         Check if input type is a password field and return
17         ATK_ROLE_PASSWORD_TEXT if it is.
18
19         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
20
21 2009-05-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
22
23         Reviewed by George Staikos.
24
25         BUG 25845: [Qt] Fix QtWebKit pkgconfig dependencies
26         <https://bugs.webkit.org/show_bug.cgi?id=25845>
27
28         * WebCore.pro: Remove QtDBus; remove QtXml if Qt >= 4.4
29
30 2009-05-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
31
32         Reviewed by George Staikos.
33
34         BUG 25843: [Qt] Remove qt-port build flag
35         <https://bugs.webkit.org/show_bug.cgi?id=25843>
36
37         * bridge/testbindings.pro:
38
39 2009-05-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40
41         Reviewed by George Staikos.
42
43         https://bugs.webkit.org/show_bug.cgi?id=25824
44
45         [Qt] Cleanup - move files exclusive to JAVASCRIPT_DEBUGGER
46         and WORKERS under the appropriate build section
47
48         * WebCore.pro:
49
50 2009-05-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
51
52         Unreviewed Qt build fix, after r43892.
53
54         * platform/graphics/qt/ImageQt.cpp: included ImageObservser.h
55
56 2009-05-20  Yongjun Zhang  <yongjun.zhang@nokia.com>
57
58         Reviewed by Simon Hausmann.
59
60         https://bugs.webkit.org/show_bug.cgi?id=25856
61         [Qt] notify an image has been drawn, to help Cache purge alive decoded data.
62
63         * platform/graphics/qt/ImageQt.cpp:
64         (WebCore::Image::drawPattern):
65         (WebCore::BitmapImage::draw):
66
67 2009-05-20  David Levin  <levin@chromium.org>
68
69         Reviewed by NOBODY, layout tests fix.
70
71         https://bugs.webkit.org/show_bug.cgi?id=23727
72         This reverts commit r43888.
73
74         Once that change was checked in many of the fast/flexbox0*.html        
75         tests (and others) started failing.
76
77         * WebCore.pro:
78         * css/CSSParser.cpp:
79         (WebCore::CSSParser::parseValue):
80         * css/CSSPropertyNames.in:
81         * css/CSSStyleSelector.cpp:
82         (WebCore::CSSStyleSelector::applyProperty):
83         * css/CSSValueKeywords.in:
84         * rendering/RenderMarquee.cpp:
85         (WebCore::RenderMarquee::updateMarqueePosition):
86         (WebCore::RenderMarquee::timerFired):
87
88 2009-05-19  Yichao Yin <yichao.yin@torchmobile.com.cn>
89
90         Reviewed by George Staikos.
91
92         Add XHTMLMP support to Webkit
93         Update the configure files for building XHTMLMP-enabled WebKit on different platform
94         https://bugs.webkit.org/show_bug.cgi?id=23452
95
96         * GNUmakefile.am:
97         * WebCore.pro:
98         * WebCore.vcproj/WebCore.vcproj:
99         * WebCoreSources.bkl:
100
101 2009-05-19  Antti Koivisto  <antti@apple.com>
102
103         I can't figure out how to make this not timing dependent, making it manual test instead.
104
105         * manual-tests/preload-scanner-entities.html: Added.
106
107 2009-05-19  Brady Eidson  <beidson@apple.com>
108
109         Reviewed by Antti Koivisto. 
110
111         <rdar://problem/6886382> REGRESSION (Safari 4PB -> ToT): HTTP cache revalidation broken.
112
113         This was caused in http://trac.webkit.org/changeset/41425, which fixed an image caching bug
114         in QuickLooks (rdar://problem/6619630).
115
116         We need to respect the DocumentLoader's request cache policy when deciding the cache policy
117         for subresources, but the check (originally removed in r39304 and added back in in the same
118         place in r41424) needs to be tweaked and relocated a bit.
119
120         * loader/FrameLoader.cpp:
121         (WebCore::FrameLoader::subresourceCachePolicy): Renamed from cachePolicy().  Move checking
122           the DocumentLoader's request to a more appropriate place. Add code to handle the recently 
123           added FIXME regarding POSTs. Add a new FIXME describing a great way to make this code 
124           cleaner in the future.
125         * loader/FrameLoader.h:
126
127         * loader/DocLoader.cpp:
128         (WebCore::DocLoader::cachePolicy): Calls the newly renamed subresourceCachePolicy().
129
130 2009-05-19  Chris Fleizach  <cfleizach@apple.com>
131
132         Reviewed by Beth Dakin.
133
134         Bug 25872: aria-labeledby appends all siblings instead of all children to aria name
135         https://bugs.webkit.org/show_bug.cgi?id=25872
136
137         When setting the aria-labeledby text it should stay within the element identified by the id
138         when searching through the sibling list.
139   
140         This also removes an outdated assert in getDocumentLinks. Its possible for the document to
141         think an element is a link, but accessibility can treat it differently (eg. its ARIA role is different).
142
143         Test: accessibility/aria-labelledby-stay-within.html
144
145         * accessibility/AccessibilityRenderObject.cpp:
146         (WebCore::AccessibilityRenderObject::ariaAccessiblityName):
147         (WebCore::AccessibilityRenderObject::getDocumentLinks):
148
149 2009-05-19  Antti Koivisto  <antti@apple.com>
150
151         Reviewed by Darin Adler).
152         
153         <rdar://problem/6902674> REGRESSION: Query parameters are sometimes incorrect in URL (23135)
154         
155         Push characters back in correct order when entity parsing fails after 3 characters.
156
157         Test: fast/tokenizer/preload-scanner-entities.html
158
159         * html/PreloadScanner.cpp:
160         (WebCore::PreloadScanner::consumeEntity):
161
162 2009-05-19  Paul Godavari  <paul@chromium.org>
163
164         Reviewed by Dimitri Glazkov.
165
166         Fix a crash in Mac Chromium when displaying an HTML select element
167         with no items.
168         https://bugs.webkit.org/show_bug.cgi?id=25874
169
170         * platform/chromium/PopupMenuChromium.cpp:
171         (WebCore::PopupContainer::showExternal):
172
173 2009-05-19  Nate Chapin  <japhet@google.com>
174
175         Reviewed by Darin Fisher.
176
177         Upstream V8 bindings for CanvasRenderingContext2D.
178         https://bugs.webkit.org/show_bug.cgi?id=25858
179
180         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Moved bindings from v8_custom.cpp.
181
182 2009-05-19  Jessie Berlin  <jberlin@apple.com>
183
184         Reviewed by Mark Rowe.
185
186         Windows Build Fix.
187
188         * WebCore.vcproj/WebCore.vcproj: Copy accessibility headers from WebCore.
189
190 2009-05-19  Timothy Hatcher  <timothy@apple.com>
191
192         <rdar://problem/6889218> REGRESSION: Some iChat transcript resources are not
193         loaded because willSendRequest doesn't happen immediately
194
195         Reviewed by Antti Koivisto.
196
197         * WebCore.base.exp: Export Loader::servePendingRequests().
198
199 2009-05-19  David Levin  <levin@chromium.org>
200
201         Reviewed by Dimitri Glazkov.
202
203         Bug 25859: Need to upstream ScriptController.* for v8.
204         https://bugs.webkit.org/show_bug.cgi?id=25859
205
206         Fixing the header file (which I accidentally made identical to the cpp file).
207
208         * bindings/v8/ScriptController.h:
209
210 2009-05-19  Alexey Proskuryakov  <ap@webkit.org>
211
212         Reviewed by Darin Adler and Brady Eidson.
213
214         <rdar://problem/6900582> REGRESSION (r42446?): UA Profiler in http://stevesouders.com/ua/ stalls
215
216         The problem was that Document::removeAllEventListeners() was called for a wrong document
217         when a CachedFrame was destroyed.
218
219         Cannot be tested automatically, because DRT doesn't have a b/f cache.
220
221         * dom/Document.cpp: (WebCore::Document::domWindow): Make sure that this doesn't return an
222         unrelated window even if document's m_frame pointer is stale.
223
224         * history/CachedFrame.cpp: (WebCore::CachedFrame::clear): Added a FIXME about strange behavior.
225
226 2009-05-19  Pavel Feldman  <pfeldman@chromium.org>
227
228         Reviewed by Timothy Hatcher.
229
230         Split InspectorController into InspectorController and InspectorFrontend. Latter encapsulates all frontend interaction and is the only entity allowed to make ScriptFunctionCalls. The further plan is to serialize these script function calls.
231
232         https://bugs.webkit.org/show_bug.cgi?id=25419
233
234         * GNUmakefile.am:
235         * WebCore.pro:
236         * WebCore.vcproj/WebCore.vcproj:
237         * WebCore.xcodeproj/project.pbxproj:
238         * WebCoreSources.bkl:
239         * inspector/ConsoleMessage.cpp:
240         (WebCore::ConsoleMessage::addToConsole):
241         * inspector/ConsoleMessage.h:
242         * inspector/InspectorController.cpp:
243         (WebCore::InspectorController::~InspectorController):
244         (WebCore::InspectorController::inspect):
245         (WebCore::InspectorController::focusNode):
246         (WebCore::InspectorController::setWindowVisible):
247         (WebCore::InspectorController::addConsoleMessage):
248         (WebCore::InspectorController::setAttachedWindow):
249         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
250         (WebCore::InspectorController::scriptObjectReady):
251         (WebCore::InspectorController::showPanel):
252         (WebCore::InspectorController::close):
253         (WebCore::InspectorController::populateScriptObjects):
254         (WebCore::InspectorController::resetScriptObjects):
255         (WebCore::InspectorController::pruneResources):
256         (WebCore::InspectorController::didCommitLoad):
257         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
258         (WebCore::InspectorController::identifierForInitialRequest):
259         (WebCore::InspectorController::willSendRequest):
260         (WebCore::InspectorController::didReceiveResponse):
261         (WebCore::InspectorController::didReceiveContentLength):
262         (WebCore::InspectorController::didFinishLoading):
263         (WebCore::InspectorController::didFailLoading):
264         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
265         (WebCore::InspectorController::scriptImported):
266         (WebCore::InspectorController::didOpenDatabase):
267         (WebCore::InspectorController::didUseDOMStorage):
268         (WebCore::InspectorController::addScriptProfile):
269         (WebCore::InspectorController::toggleRecordButton):
270         (WebCore::InspectorController::enableProfiler):
271         (WebCore::InspectorController::disableProfiler):
272         (WebCore::InspectorController::enableDebugger):
273         (WebCore::InspectorController::disableDebugger):
274         (WebCore::InspectorController::didParseSource):
275         (WebCore::InspectorController::failedToParseSource):
276         (WebCore::InspectorController::didPause):
277         (WebCore::InspectorController::didContinue):
278         * inspector/InspectorController.h:
279         * inspector/InspectorDOMStorageResource.cpp:
280         (WebCore::InspectorDOMStorageResource::bind):
281         * inspector/InspectorDOMStorageResource.h:
282         * inspector/InspectorDatabaseResource.cpp:
283         (WebCore::InspectorDatabaseResource::bind):
284         * inspector/InspectorDatabaseResource.h:
285         * inspector/InspectorFrontend.cpp: Added.
286         (WebCore::callSimpleFunction):
287         (WebCore::InspectorFrontend::InspectorFrontend):
288         (WebCore::InspectorFrontend::~InspectorFrontend):
289         (WebCore::InspectorFrontend::newJSONObject):
290         (WebCore::InspectorFrontend::addMessageToConsole):
291         (WebCore::InspectorFrontend::addResource):
292         (WebCore::InspectorFrontend::updateResource):
293         (WebCore::InspectorFrontend::removeResource):
294         (WebCore::InspectorFrontend::updateFocusedNode):
295         (WebCore::InspectorFrontend::setAttachedWindow):
296         (WebCore::InspectorFrontend::inspectedWindowScriptObjectCleared):
297         (WebCore::InspectorFrontend::showPanel):
298         (WebCore::InspectorFrontend::populateInterface):
299         (WebCore::InspectorFrontend::reset):
300         (WebCore::InspectorFrontend::debuggerWasEnabled):
301         (WebCore::InspectorFrontend::debuggerWasDisabled):
302         (WebCore::InspectorFrontend::profilerWasEnabled):
303         (WebCore::InspectorFrontend::profilerWasDisabled):
304         (WebCore::InspectorFrontend::parsedScriptSource):
305         (WebCore::InspectorFrontend::failedToParseScriptSource):
306         (WebCore::InspectorFrontend::addProfile):
307         (WebCore::InspectorFrontend::setRecordingProfile):
308         (WebCore::InspectorFrontend::pausedScript):
309         (WebCore::InspectorFrontend::resumedScript):
310         (WebCore::InspectorFrontend::addDatabase):
311         (WebCore::InspectorFrontend::addDOMStorage):
312         * inspector/InspectorFrontend.h: Added.
313         * inspector/InspectorResource.cpp:
314         (WebCore::InspectorResource::createScriptObject):
315         (WebCore::InspectorResource::updateScriptObject):
316         (WebCore::InspectorResource::releaseScriptObject):
317         * inspector/InspectorResource.h:
318
319 2009-05-19  Pavel Feldman  <pfeldman@chromium.org>
320
321         Reviewed by Timothy Hatcher.
322
323         Introduce JSONObject that wraps ScriptObject and ScriptState* for further serialization
324
325         https://bugs.webkit.org/show_bug.cgi?id=25419
326
327         * GNUmakefile.am:
328         * WebCore.pro:
329         * WebCore.vcproj/WebCore.vcproj:
330         * WebCore.xcodeproj/project.pbxproj:
331         * WebCoreSources.bkl:
332         * inspector/ConsoleMessage.cpp:
333         (WebCore::ConsoleMessage::addToConsole):
334         * inspector/InspectorDOMStorageResource.cpp:
335         (WebCore::InspectorDOMStorageResource::bind):
336         * inspector/InspectorDatabaseResource.cpp:
337         (WebCore::InspectorDatabaseResource::bind):
338         * inspector/InspectorResource.cpp:
339         (WebCore::populateHeadersObject):
340         (WebCore::InspectorResource::createScriptObject):
341         (WebCore::InspectorResource::updateScriptObject):
342         * inspector/JSONObject.cpp: Added.
343         (WebCore::JSONObject::JSONObject):
344         (WebCore::JSONObject::set):
345         (WebCore::JSONObject::scriptObject):
346         (WebCore::JSONObject::createNew):
347         * inspector/JSONObject.h: Added.
348
349 2009-05-19  Pavel Feldman  <pfeldman@chromium.org>
350
351         Reviewed by Timothy Hatcher.
352
353         Refactor InpectorController so that it does not instantiate resource/console/database/domresource javascript objects. Move instantiation into the javascript.
354
355         https://bugs.webkit.org/show_bug.cgi?id=25419
356
357         * inspector/ConsoleMessage.cpp:
358         (WebCore::ConsoleMessage::addToConsole):
359         * inspector/InspectorController.cpp:
360         (WebCore::InspectorController::didReceiveResponse):
361         (WebCore::InspectorController::didReceiveContentLength):
362         (WebCore::InspectorController::didFinishLoading):
363         (WebCore::InspectorController::didFailLoading):
364         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
365         (WebCore::InspectorController::scriptImported):
366         * inspector/InspectorDOMStorageResource.cpp:
367         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
368         (WebCore::InspectorDOMStorageResource::bind):
369         (WebCore::InspectorDOMStorageResource::unbind):
370         * inspector/InspectorDOMStorageResource.h:
371         * inspector/InspectorDatabaseResource.cpp:
372         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
373         (WebCore::InspectorDatabaseResource::bind):
374         (WebCore::InspectorDatabaseResource::unbind):
375         * inspector/InspectorDatabaseResource.h:
376         * inspector/InspectorResource.cpp:
377         (WebCore::InspectorResource::InspectorResource):
378         (WebCore::populateHeadersObject):
379         (WebCore::InspectorResource::createScriptObject):
380         (WebCore::InspectorResource::updateScriptObject):
381         (WebCore::InspectorResource::releaseScriptObject):
382         * inspector/InspectorResource.h:
383         * inspector/front-end/Console.js:
384         (WebInspector.ConsoleMessage):
385         * inspector/front-end/inspector.js:
386         (WebInspector.addResource):
387         (WebInspector.updateResource):
388         (WebInspector.removeResource):
389         (WebInspector.addDatabase):
390         (WebInspector.addDOMStorage):
391         (WebInspector.reset):
392         (WebInspector.addMessageToConsole):
393
394 2009-05-19  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
395
396         Reviewed by Ariya Hidayat.
397
398         The Qt port has code that disables scrolling optimizations
399         when the root contains native windows, such as windowed plugins.
400
401         This code broke when detaching iframes containing windowed
402         plugins.
403
404         Each ScrollView now knows how many native windows it and its
405         children contain, and when it is detached, that number is
406         substracted from its old parents.
407
408         * platform/ScrollView.cpp:
409         (WebCore::ScrollView::scrollContents):
410         (WebCore::ScrollView::setParent):
411         * platform/ScrollView.h:
412         * platform/qt/ScrollViewQt.cpp:
413         (WebCore::ScrollView::adjustWidgetsPreventingBlittingCount):
414         (WebCore::ScrollView::platformAddChild):
415         (WebCore::ScrollView::platformRemoveChild):
416
417 2009-05-18  David Kilzer  <ddkilzer@apple.com>
418
419         Tiger build fix for r43850
420
421         * platform/mac/ClipboardMac.mm: Added typedef for NSUinteger
422         when building on Tiger.
423
424 2009-05-18  Eric Seidel  <eric@webkit.org>
425
426         Reviewed by Darin Adler.
427
428         ClipboardMac cleanup
429         https://bugs.webkit.org/show_bug.cgi?id=25847
430
431         I'm mostly just moving code, however there are 3 changes I made while moving, detailed below.
432
433         No functional changes, so no tests.
434
435         * platform/mac/ClipboardMac.mm:
436         (WebCore::ClipboardMac::clearData):
437         (WebCore::absoluteURLsFromPasteboardFilenames):
438           Broke out logic for filenames into its own function to make the caller more readable.
439         (WebCore::absoluteURLsFromPasteboard):
440           Broke out logic from getData into absoluteURLsFromPasteboard. This returns an NSArray
441           so that we can use -[NSArray componentsJoinedByString] in the caller (which is
442           cleaner than the manual "\n" addition before).
443           This also access to the full list of file urls for future callers.
444         (WebCore::ClipboardMac::getData):
445           unsigned count = (type == "URL") ? 1 : [fileList count]; is now an
446           explicit check for "URL", before it was a check for != "text/uri-list" which
447           was much more confusing in my opinion.  text/uri-list and URL are the only
448           two types which map to NSURLPboardType in cocoaTypeFromMIMEType().
449         (WebCore::ClipboardMac::types):
450           I removed an extra if (!types) check, right before [types count].  In Obj-C
451           messaging nil will return 0 (size of a pointer), so it's safe to message nil
452           here and expect it to return 0.
453
454 2009-05-18  David Levin  <levin@chromium.org>
455
456         Reviewed by Darin Fisher.
457
458         Bug 25859: Need to upstream ScriptController.* for v8.
459         https://bugs.webkit.org/show_bug.cgi?id=25859
460
461         * bindings/v8/ScriptController.cpp: Added.
462         * bindings/v8/ScriptController.h: Added.
463
464 2009-05-18  Yichao Yin  <yichao.yin@torchmobile.com.cn>
465
466         Reviewed by George Staikos.
467
468         Change ScriptElement to support XHTMLMP in a better way
469         https://bugs.webkit.org/show_bug.cgi?id=23452
470
471         * dom/ScriptElement.h:
472         * html/HTMLScriptElement.h:
473         * svg/SVGScriptElement.h:
474         (WebCore::SVGScriptElement::shouldExecuteAsJavaScript):
475
476 2009-05-18  Kevin Ollivier  <kevino@theolliviers.com>
477
478         wx build fix, finish up changes after the accessibility dir split.
479
480         * webcore-base.bkl:
481
482 2009-05-18  Yichao Yin  <yichao.yin@torchmobile.com.cn>
483
484         Reviewed by George Staikos (and others).
485
486         Add XHTMLMP support to Webkit
487         https://bugs.webkit.org/show_bug.cgi?id=23452
488         XHTMLMP is a strict subset of XHTML 1.1. It extends XHTML Basic and add enhanced
489         functionality. Most of the functionalities have already been implemented by Webkit.
490         
491         The changes include:
492         1) Adding <noscript> support
493         2) Document conformance validation
494         3) User Agent conformance validation
495  
496         refer to the specification: OMA-WAP-XHTMLMP-V1_1-20061020-A.pdf
497
498         Tests: fast/xhtmlmp/check-doctype-declaration.xhtml
499                fast/xhtmlmp/check-rootelement.xhtml
500                fast/xhtmlmp/noscript-in-multiscripts.xhtml
501                fast/xhtmlmp/noscript-nested.xhtml
502                fast/xhtmlmp/noscript.xhtml
503
504         * dom/DOMImplementation.cpp:
505         (WebCore::DOMImplementation::createDocument):
506         * dom/Document.cpp:
507         (WebCore::Document::Document):
508         (WebCore::Document::isXHTMLMPDocument):
509         * dom/Document.h:
510         (WebCore::Document::shouldProcessNoscriptElement):
511         (WebCore::Document::setShouldProcessNoscriptElement):
512         * dom/Node.cpp:
513         (WebCore::Node::createRendererIfNeeded):
514         * dom/Node.h:
515         * dom/XMLTokenizer.h:
516         (WebCore::XMLTokenizer::setIsXHTMLMPDocument):
517         (WebCore::XMLTokenizer::isXHTMLMPDocument):
518         * dom/XMLTokenizerLibxml2.cpp:
519         (WebCore::XMLTokenizer::XMLTokenizer):
520         (WebCore::XMLTokenizer::startElementNs):
521         (WebCore::XMLTokenizer::endElementNs):
522         (WebCore::XMLTokenizer::endDocument):
523         (WebCore::XMLTokenizer::internalSubset):
524         (WebCore::getEntityHandler):
525         (WebCore::externalSubsetHandler):
526         * dom/XMLTokenizerQt.cpp:
527         (WebCore::XMLTokenizer::XMLTokenizer):
528         (WebCore::XMLTokenizer::parse):
529         (WebCore::XMLTokenizer::parseStartElement):
530         (WebCore::XMLTokenizer::parseEndElement):
531         (WebCore::):
532         * dom/make_names.pl:
533         * html/HTMLElement.cpp:
534         (WebCore::HTMLElement::rendererIsNeeded):
535         * html/HTMLNoScriptElement.cpp: Added.
536         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
537         (WebCore::HTMLNoScriptElement::~HTMLNoScriptElement):
538         (WebCore::HTMLNoScriptElement::checkDTD):
539         (WebCore::HTMLNoScriptElement::attach):
540         (WebCore::HTMLNoScriptElement::recalcStyle):
541         (WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
542         (WebCore::HTMLNoScriptElement::styleForRenderer):
543         * html/HTMLNoScriptElement.h: Added.
544         (WebCore::HTMLNoScriptElement::rendererIsNeeded):
545         * html/HTMLParser.cpp:
546         (WebCore::HTMLParser::getNode):
547         (WebCore::HTMLParser::isInline):
548         * html/HTMLTagNames.in:
549         * html/HTMLTokenizer.cpp:
550         (WebCore::HTMLTokenizer::scriptHandler):
551         (WebCore::HTMLTokenizer::notifyFinished):
552         * loader/FrameLoader.cpp:
553         (WebCore::FrameLoader::addExtraFieldsToRequest):
554         * platform/MIMETypeRegistry.cpp:
555         (WebCore::initializeSupportedNonImageMimeTypes):
556
557 2009-05-18  Mark Rowe  <mrowe@apple.com>
558
559         Fix the build.
560
561         * WebCore.xcodeproj/project.pbxproj:
562
563 2009-05-18  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
564
565         Rubber-stamped by Gustavo Noronha.
566
567         Fixed build for the Qt port by adding the WebCore/accessibility
568         directory to the includepath.
569
570         * WebCore.pro:
571
572 2009-05-18  Chris Fleizach  <cfleizach@apple.com>
573
574         Bug 25776: accessibility should have its own folder in WebCore project
575         https://bugs.webkit.org/show_bug.cgi?id=25776
576    
577         Speculative fix for windows build failure.
578
579         * WebCore.vcproj/WebCoreCommon.vsprops:
580
581 2009-05-18  David Kilzer  <ddkilzer@apple.com>
582
583         Bug 20652: WebKit doesn't display favicons with MIME type image/vnd.microsoft.icon
584
585         <https://bugs.webkit.org/show_bug.cgi?id=20652>
586
587         Reviewed by Darin Adler.
588
589         Test: http/tests/misc/favicon-as-image.html
590
591         * inspector/front-end/inspector.js: Added
592         image/vnd.microsoft.icon to WebInspector.MIMETypes.
593         * platform/MIMETypeRegistry.cpp:
594         (WebCore::initializeSupportedImageMIMETypes): Added
595         image/vnd.microsoft.icon to list of supported image and image
596         resource MIME types.
597
598 2009-05-18  Chris Fleizach  <cfleizach@apple.com>
599
600         Reviewed by Sam Weinig.
601
602         Bug 25776: accessibility should have its own folder in WebCore project
603         https://bugs.webkit.org/show_bug.cgi?id=25776
604
605         * GNUmakefile.am:
606         * WebCore.pro:
607         * WebCore.vcproj/WebCore.vcproj:
608         * WebCore.xcodeproj/project.pbxproj:
609         * WebCoreSources.bkl:
610         * accessibility: Added.
611         * accessibility/AXObjectCache.cpp: Copied from WebCore/page/AXObjectCache.cpp.
612         * accessibility/AXObjectCache.h: Copied from WebCore/page/AXObjectCache.h.
613         * accessibility/AccessibilityAriaGrid.cpp: Copied from WebCore/page/AccessibilityAriaGrid.cpp.
614         * accessibility/AccessibilityAriaGrid.h: Copied from WebCore/page/AccessibilityAriaGrid.h.
615         * accessibility/AccessibilityAriaGridCell.cpp: Copied from WebCore/page/AccessibilityAriaGridCell.cpp.
616         * accessibility/AccessibilityAriaGridCell.h: Copied from WebCore/page/AccessibilityAriaGridCell.h.
617         * accessibility/AccessibilityAriaGridRow.cpp: Copied from WebCore/page/AccessibilityAriaGridRow.cpp.
618         * accessibility/AccessibilityAriaGridRow.h: Copied from WebCore/page/AccessibilityAriaGridRow.h.
619         * accessibility/AccessibilityImageMapLink.cpp: Copied from WebCore/page/AccessibilityImageMapLink.cpp.
620         * accessibility/AccessibilityImageMapLink.h: Copied from WebCore/page/AccessibilityImageMapLink.h.
621         * accessibility/AccessibilityList.cpp: Copied from WebCore/page/AccessibilityList.cpp.
622         * accessibility/AccessibilityList.h: Copied from WebCore/page/AccessibilityList.h.
623         * accessibility/AccessibilityListBox.cpp: Copied from WebCore/page/AccessibilityListBox.cpp.
624         * accessibility/AccessibilityListBox.h: Copied from WebCore/page/AccessibilityListBox.h.
625         * accessibility/AccessibilityListBoxOption.cpp: Copied from WebCore/page/AccessibilityListBoxOption.cpp.
626         * accessibility/AccessibilityListBoxOption.h: Copied from WebCore/page/AccessibilityListBoxOption.h.
627         * accessibility/AccessibilityObject.cpp: Copied from WebCore/page/AccessibilityObject.cpp.
628         * accessibility/AccessibilityObject.h: Copied from WebCore/page/AccessibilityObject.h.
629         * accessibility/AccessibilityRenderObject.cpp: Copied from WebCore/page/AccessibilityRenderObject.cpp.
630         * accessibility/AccessibilityRenderObject.h: Copied from WebCore/page/AccessibilityRenderObject.h.
631         * accessibility/AccessibilityTable.cpp: Copied from WebCore/page/AccessibilityTable.cpp.
632         * accessibility/AccessibilityTable.h: Copied from WebCore/page/AccessibilityTable.h.
633         * accessibility/AccessibilityTableCell.cpp: Copied from WebCore/page/AccessibilityTableCell.cpp.
634         * accessibility/AccessibilityTableCell.h: Copied from WebCore/page/AccessibilityTableCell.h.
635         * accessibility/AccessibilityTableColumn.cpp: Copied from WebCore/page/AccessibilityTableColumn.cpp.
636         * accessibility/AccessibilityTableColumn.h: Copied from WebCore/page/AccessibilityTableColumn.h.
637         * accessibility/AccessibilityTableHeaderContainer.cpp: Copied from WebCore/page/AccessibilityTableHeaderContainer.cpp.
638         * accessibility/AccessibilityTableHeaderContainer.h: Copied from WebCore/page/AccessibilityTableHeaderContainer.h.
639         * accessibility/AccessibilityTableRow.cpp: Copied from WebCore/page/AccessibilityTableRow.cpp.
640         * accessibility/AccessibilityTableRow.h: Copied from WebCore/page/AccessibilityTableRow.h.
641         * accessibility/chromium: Added.
642         * accessibility/chromium/AXObjectCacheChromium.cpp: Copied from WebCore/page/chromium/AXObjectCacheChromium.cpp.
643         * accessibility/chromium/AccessibilityObjectChromium.cpp: Copied from WebCore/page/chromium/AccessibilityObjectChromium.cpp.
644         * accessibility/chromium/AccessibilityObjectWrapper.h: Copied from WebCore/page/chromium/AccessibilityObjectWrapper.h.
645         * accessibility/gtk: Added.
646         * accessibility/gtk/AXObjectCacheAtk.cpp: Copied from WebCore/page/gtk/AXObjectCacheAtk.cpp.
647         * accessibility/gtk/AccessibilityObjectAtk.cpp: Copied from WebCore/page/gtk/AccessibilityObjectAtk.cpp.
648         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Copied from WebCore/page/gtk/AccessibilityObjectWrapperAtk.cpp.
649         * accessibility/gtk/AccessibilityObjectWrapperAtk.h: Copied from WebCore/page/gtk/AccessibilityObjectWrapperAtk.h.
650         * accessibility/mac: Added.
651         * accessibility/mac/AXObjectCacheMac.mm: Copied from WebCore/page/mac/AXObjectCacheMac.mm.
652         * accessibility/mac/AccessibilityObjectMac.mm: Copied from WebCore/page/mac/AccessibilityObjectMac.mm.
653         * accessibility/mac/AccessibilityObjectWrapper.h: Copied from WebCore/page/mac/AccessibilityObjectWrapper.h.
654         * accessibility/mac/AccessibilityObjectWrapper.mm: Copied from WebCore/page/mac/AccessibilityObjectWrapper.mm.
655         * accessibility/qt: Added.
656         * accessibility/qt/AccessibilityObjectQt.cpp: Copied from WebCore/page/qt/AccessibilityObjectQt.cpp.
657         * accessibility/win: Added.
658         * accessibility/win/AXObjectCacheWin.cpp: Copied from WebCore/page/win/AXObjectCacheWin.cpp.
659         * accessibility/win/AccessibilityObjectWin.cpp: Copied from WebCore/page/win/AccessibilityObjectWin.cpp.
660         * accessibility/win/AccessibilityObjectWrapperWin.h: Copied from WebCore/page/win/AccessibilityObjectWrapperWin.h.
661         * accessibility/wx: Added.
662         * accessibility/wx/AccessibilityObjectWx.cpp: Copied from WebCore/page/wx/AccessibilityObjectWx.cpp.
663         * page/AXObjectCache.cpp: Removed.
664         * page/AXObjectCache.h: Removed.
665         * page/AccessibilityAriaGrid.cpp: Removed.
666         * page/AccessibilityAriaGrid.h: Removed.
667         * page/AccessibilityAriaGridCell.cpp: Removed.
668         * page/AccessibilityAriaGridCell.h: Removed.
669         * page/AccessibilityAriaGridRow.cpp: Removed.
670         * page/AccessibilityAriaGridRow.h: Removed.
671         * page/AccessibilityImageMapLink.cpp: Removed.
672         * page/AccessibilityImageMapLink.h: Removed.
673         * page/AccessibilityList.cpp: Removed.
674         * page/AccessibilityList.h: Removed.
675         * page/AccessibilityListBox.cpp: Removed.
676         * page/AccessibilityListBox.h: Removed.
677         * page/AccessibilityListBoxOption.cpp: Removed.
678         * page/AccessibilityListBoxOption.h: Removed.
679         * page/AccessibilityObject.cpp: Removed.
680         * page/AccessibilityObject.h: Removed.
681         * page/AccessibilityRenderObject.cpp: Removed.
682         * page/AccessibilityRenderObject.h: Removed.
683         * page/AccessibilityTable.cpp: Removed.
684         * page/AccessibilityTable.h: Removed.
685         * page/AccessibilityTableCell.cpp: Removed.
686         * page/AccessibilityTableCell.h: Removed.
687         * page/AccessibilityTableColumn.cpp: Removed.
688         * page/AccessibilityTableColumn.h: Removed.
689         * page/AccessibilityTableHeaderContainer.cpp: Removed.
690         * page/AccessibilityTableHeaderContainer.h: Removed.
691         * page/AccessibilityTableRow.cpp: Removed.
692         * page/AccessibilityTableRow.h: Removed.
693         * page/chromium/AXObjectCacheChromium.cpp: Removed.
694         * page/chromium/AccessibilityObjectChromium.cpp: Removed.
695         * page/chromium/AccessibilityObjectWrapper.h: Removed.
696         * page/gtk/AXObjectCacheAtk.cpp: Removed.
697         * page/gtk/AccessibilityObjectAtk.cpp: Removed.
698         * page/gtk/AccessibilityObjectWrapperAtk.cpp: Removed.
699         * page/gtk/AccessibilityObjectWrapperAtk.h: Removed.
700         * page/mac/AXObjectCacheMac.mm: Removed.
701         * page/mac/AccessibilityObjectMac.mm: Removed.
702         * page/mac/AccessibilityObjectWrapper.h: Removed.
703         * page/mac/AccessibilityObjectWrapper.mm: Removed.
704         * page/qt/AccessibilityObjectQt.cpp: Removed.
705         * page/win/AXObjectCacheWin.cpp: Removed.
706         * page/win/AccessibilityObjectWin.cpp: Removed.
707         * page/win/AccessibilityObjectWrapperWin.h: Removed.
708         * page/wx/AccessibilityObjectWx.cpp: Removed.
709
710 2009-05-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
711
712         Reviewed by Jan Alonzo.
713
714         https://bugs.webkit.org/show_bug.cgi?id=25854
715         [GTK] Should tell servers we only support identity as content encoding
716
717         Let servers know we only support identity as content
718         encoding. We will implement this in libsoup.
719
720         * platform/network/soup/ResourceHandleSoup.cpp:
721         (WebCore::ResourceHandle::startHttp):
722
723 2009-05-18  Alexey Proskuryakov  <ap@webkit.org>
724
725         Reviewed by Darin Adler.
726
727         <rdar://problem/6881160> REGRESSION (r41425): Unable to create battle.net account due to
728         CAPTCHA failure.
729
730         The problem was that after loading and displaying a CAPTCHA image, it was loaded from
731         the server again due to preloading. So, the server expected the last loaded (invisible)
732         CAPTCHA text to be typed and posted back.
733
734         I don't know how to make tests for preloading.
735
736         * loader/DocLoader.cpp: (WebCore::DocLoader::checkForPendingPreloads): There is never a reason
737         to preload after loading for real - and if cache policy is CachePolicyReload, that actually
738         results in another load from network layer.
739
740         * loader/FrameLoader.cpp: (WebCore::FrameLoader::cachePolicy): It's not good for cachePolicy()
741         to lie, but I don't know how to re-do r41425 properly. Added a FIXME.
742
743 2009-05-18  Ariya Hidayat  <ariya.hidayat@nokia.com>
744
745         Reviewed by Simon Hausmann.
746
747         Done together with Balazs Kelemen  <kelemen.balazs@stud.u-szeged.hu>.
748
749         https://bugs.webkit.org/show_bug.cgi?id=24551
750
751         [Qt] Reuse FontPlatformData for the same FontDescription.
752         This effectively prevents growing heap usage for loading every web page.
753
754         * platform/graphics/qt/FontCacheQt.cpp:
755         (WebCore::qHash): Necessary for FontPlatformDataCache.
756         (WebCore::FontCache::getCachedFontPlatformData): Reuse the instance if
757         it exists, otherwise create a new one and insert it in the cache.
758
759 2009-05-18  Balazs Kelemen  <kelemen.balazs@stud.u-szeged.hu>
760
761         Reviewed by Ariya Hidayat.
762
763         https://bugs.webkit.org/show_bug.cgi?id=24551
764
765         [Qt] Fix the leak in FontFallbackList::fontDataAt() function.
766         When creating a new instance of SimpleFontData, put it in the font list
767         so that it can deleted later on.
768
769         * platform/graphics/qt/FontFallbackListQt.cpp:
770         (WebCore::FontFallbackList::invalidate):
771         (WebCore::FontFallbackList::releaseFontData):
772         (WebCore::FontFallbackList::fontDataAt):
773
774 2009-05-15  Jan Michael Alonzo  <jmalonzo@webkit.org>
775
776          Reviewed by Xan Lopez.
777
778          [Gtk] Various autotools build refactoring and fixes
779          https://bugs.webkit.org/show_bug.cgi?id=25286
780
781          Style fixes
782
783          * GNUmakefile.am:
784
785 2009-05-17  George Staikos  <george.staikos@torchmobile.com>
786
787         Not reviewed - build fix.
788
789         Fix typo: constr -> const.
790
791         * wml/WMLInputElement.h:
792         (WebCore::WMLInputElement::setPlaceholder):
793
794 2009-05-17  Darin Adler  <darin@apple.com>
795
796         Fix done by Simon Fraser (reviewed by me).
797
798         <rdar://problem/6893775> Page with screen-only stylesheet with overflow and height
799         transitions has bad layout and overlapping garbled text when printing
800
801         * manual-tests/print-with-height-transition-in-screen-stylesheet.html: Added.
802
803         * page/animation/AnimationController.cpp:
804         (WebCore::AnimationController::updateAnimations): Don't run transitions when printing.
805
806 2009-05-17  Darin Adler  <darin@apple.com>
807
808         Reviewed by Simon Fraser.
809
810         <rdar://problem/6870241> REGRESSION: Programmatically selected popup menu item not shown
811
812         * html/HTMLSelectElement.cpp:
813         (WebCore::HTMLSelectElement::setSelectedIndex): Added a call to updateFromElement and
814         also a type check on the selected index to avoid a bad cast to HTMLOptionElement.
815
816         * manual-tests/select-option-in-onload.html: Added.
817
818 2009-05-17  Simon Fraser  <simon.fraser@apple.com>
819
820         Reviewed by Anders Carlsson
821
822         Rename local variables for readability.
823         
824         * rendering/RenderBoxModelObject.cpp:
825         (WebCore::RenderBoxModelObject::paintBorder):
826
827 2009-05-17  Darin Adler  <darin@apple.com>
828
829         Reviewed by Mark Rowe.
830
831         Bug 25840: fix some warnings seen on the GTK bot
832         https://bugs.webkit.org/show_bug.cgi?id=25840
833
834         * platform/ScrollView.cpp:
835         (WebCore::ScrollView::platformScrollbarModes): Initialize results here.
836         This is really just to quiet warnings. I think this code is unreachable.
837         Someone could put ASSERT_NOT_REACHED() in here too at some point.
838
839         * plugins/PluginStream.cpp:
840         (WebCore::PluginStream::startStream): Use proper printf format for int
841         here, %d, not %lu. This could cause a real problem when compiled 64-bit,
842         so it's good to fix.
843
844         * rendering/RenderTextControl.cpp:
845         (WebCore::getNextSoftBreak): Initialize breakOffset to 0 here. This is
846         really just to quiet the warning, but still seems like a good idea.
847
848 2009-05-17  Chris Fleizach  <cfleizach@apple.com>
849
850         Reviewed by Darin Adler.
851
852         Bug 25769: Fix accessibility warnings on GTK
853         https://bugs.webkit.org/show_bug.cgi?id=25769
854
855         * page/AccessibilityTable.cpp:
856         (WebCore::AccessibilityTable::columnCount): Get rid of excess const.
857         (WebCore::AccessibilityTable::rowCount): Ditto.
858         * page/AccessibilityTable.h: Ditto.
859
860 2009-05-17  Kai Brüning  <kai@granus.net>
861
862         Reviewed by Darin Adler.
863
864         bug 25822: DOM normalize does not remove empty text node between element nodes
865         https://bugs.webkit.org/show_bug.cgi?id=25822
866
867         Test: fast/dom/Node/normalize.html
868
869         * dom/Node.cpp:
870         (WebCore::Node::normalize): Changed to remove any empty text nodes.
871
872 2009-05-16  Dave Moore  <davemoore@google.com>
873
874         Reviewed by Darin Adler.
875
876         Allow Strings to be created with one malloc node with no copying
877         https://bugs.webkit.org/show_bug.cgi?id=25779
878
879         Add new methods to String and StringImpl, refactoring existing
880         methods in StringImpl to use new createUninitialized() method.
881
882         * platform/text/PlatformString.h:
883         (WebCore::String::createUninitialized):
884         * platform/text/StringImpl.cpp:
885         (WebCore::StringImpl::createUninitialized):
886         (WebCore::StringImpl::create):
887         * platform/text/StringImpl.h:
888
889 2009-05-16  Mark Rowe  <mrowe@apple.com>
890
891         Reviewed by Darin Adler.
892
893         <rdar://problem/6827041> WebCore should stop throwing away the CGImageSourceRef to
894         dramatically improve animated GIF decoding performance
895
896         Recent versions of ImageIO discard previously decoded image frames if the client
897         application no longer holds references to them, so there's no need to throw away
898         the decoder unless we're explicitly asked to destroy all of the frames.
899
900         This drops peak CPU usage when displaying <http://www.aintitcool.com/files/HoD2.gif>
901         from over 90% to below 3%.
902
903         * platform/graphics/cg/ImageSourceCG.cpp:
904         (WebCore::ImageSource::clear):
905
906 2009-05-16  Dan Bernstein  <mitz@apple.com>
907
908         Reviewed by Alexey Proskuryakov.
909
910         - fix <rdar://problem/6873305> Two distinct characters are not displayed
911           correctly with 2 of the font selections from the stickies widget
912
913         Test: platform/mac/editing/pasteboard/text-precomposed.html
914
915         Ensure that "text/plain" data retrieved from the clipboard is always
916         precomposed. This makes Clipboard::getData() and
917         Pasteboard::documentFragment() consistent with Pasteboard::plainText()
918         and -[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:].
919
920         * platform/mac/ClipboardMac.mm:
921         (WebCore::ClipboardMac::getData):
922         * platform/mac/PasteboardMac.mm:
923         (WebCore::Pasteboard::documentFragment):
924
925 2009-05-16  Mark Rowe  <mrowe@apple.com>
926
927         Build fix.
928
929         * css/CSSComputedStyleDeclaration.cpp:
930         (WebCore::valueForFamily): Declare valueForFamily as static.
931
932 2009-05-15  Darin Adler  <darin@apple.com>
933
934         Reviewed by Dan Bernstein.
935
936         <rdar://problem/6883872> REGRESSION (r43243): computed style for font-family is returning
937         only the generic font, if any generic font is in the family list
938
939         Test: fast/css/getComputedStyle/computed-style-font-family.html
940
941         * css/CSSComputedStyleDeclaration.cpp:
942         Sorted computedProperties alphabetically. Added CSSPropertyClip and CSSPropertyWordBreak.
943         (WebCore::identifierForFamily): Added. Maps internal font family names to identifiers.
944         (WebCore::valueForFamily): Added. Creates either an identifier or a string as appropriate.
945         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implemented the font-family
946         property as specified in the CSS standard. Fixed clip to return "auto" when there is no
947         clip set instead of nothing at all. Gave inheritableProperties and numInheritableProperties
948         internal linkage since there was no reason for them to have external linkage.
949
950 2009-05-15  Adam Barth  <abarth@webkit.org>
951
952         Reviewed by Oliver Hunt.
953
954         https://bugs.webkit.org/show_bug.cgi?id=25741
955
956         Append instead of throwing when insertItemBefore gets an out-of-bound
957         index.
958
959         Test: svg/dom/svglist-insertItemBefore-appends.html
960
961         * svg/SVGList.h:
962         (WebCore::SVGList::insertItemBefore):
963
964 2009-05-15  Simon Fraser  <simon.fraser@apple.com>
965
966         Reviewed by Darin Adler
967         
968         https://bugs.webkit.org/show_bug.cgi?id=25829
969         
970         Fix -webkit-background-clip:text when the renderer had a non (0,0) x, y offset.
971
972         Test: fast/backgrounds/background-clip-text.html
973
974         * rendering/RenderBoxModelObject.cpp:
975         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
976
977 2009-05-15  Dan Bernstein  <mitz@apple.com>
978
979         Reviewed by Sam Weinig.
980
981         - fix <rdar://problem/6888244> REGRESSION: Using the Up or Down keyboard
982           arrows, I can't navigate caret between To Do items in a Note message
983
984         Test: editing/selection/move-by-line-004.html
985
986         * editing/visible_units.cpp:
987         (WebCore::enclosingNodeWithNonInlineRenderer): Added this helper
988         function.
989         (WebCore::previousLinePosition): When advancing to the next candidate
990         node, stop when leaving the closest ancestor of the original node that
991         is not an inline. The code, incorrectly, was trying to exit the closest
992         ancestor of that type which was editable, and therefore missing other
993         blocks in the same editable root.
994         (WebCore::nextLinePosition): Ditto.
995
996 2009-05-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
997
998         Reviewed by Jan Alonzo.
999
1000         Converting filename to uri by concatenating strings is broken
1001         on Windows. So, don't do it for that platform.
1002
1003         * platform/network/soup/ResourceHandleSoup.cpp:
1004         (WebCore::ResourceHandle::startGio):
1005
1006 2009-05-15  Nate Chapin  <japhet@google.com>
1007
1008         Reviewed by Dimitri Glazkov.
1009
1010         Upstream V8 bindings for HTMLOptionsCollection and HTMLSelectElementCollection.
1011         https://bugs.webkit.org/show_bug.cgi?id=25739
1012
1013         * bindings/v8/V8Collection.cpp: Added.
1014         (WebCore::toOptionsCollectionSetter): Moved from v8_custom.cpp.
1015         * bindings/v8/V8Collection.h: Added prototype for toOptionsCollectionSetter().
1016         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1017         (WebCore::INDEXED_PROPERTY_SETTER): Moved from v8_custom.cpp.
1018         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Added.
1019         (WebCore::NAMED_PROPERTY_GETTER):  Moved from v8_custom.cpp.
1020         (WebCore::INDEXED_PROPERTY_SETTER):  Moved from v8_custom.cpp.
1021
1022 2009-05-15  David Kilzer  <ddkilzer@apple.com>
1023
1024         <rdar://problem/6649936> Add *.exp export files to WebCore Xcode project
1025
1026         Reviewed by Darin Adler and Timothy Hatcher.
1027
1028         * WebCore.xcodeproj/project.pbxproj: Added Exports group, moved
1029         WebCore.base.exp into the group, and added 10 other *.exp files
1030         in WebCore.
1031
1032 2009-05-15  Dimitri Glazkov  <dglazkov@chromium.org>
1033
1034         Unreviewed, build fix.
1035
1036         https://bugs.webkit.org/show_bug.cgi?id=25826
1037         Change type to only have custom getter in JCS.
1038
1039         * html/HTMLInputElement.idl: Changed CustomGetter attribute to JSCCustomGetter.
1040
1041 2009-05-15  Antti Koivisto  <antti@apple.com>
1042
1043         Reviewed by Dave Kilzer.
1044
1045         Add a settings entry to en/disable web font support
1046         https://bugs.webkit.org/show_bug.cgi?id=25239
1047
1048         * css/CSSFontSelector.cpp:
1049         (WebCore::CSSFontSelector::addFontFaceRule):
1050
1051 2009-05-15  Sam Weinig  <sam@webkit.org>
1052
1053         Reviewed by Steve Falkenburg.
1054
1055         Remove dead youtube site specific hack that was commented out.
1056
1057         * bindings/js/JSNavigatorCustom.cpp:
1058         * page/Navigator.idl:
1059
1060 2009-05-15  Sam Weinig  <sam@webkit.org>
1061
1062         Reviewed by Beth Dakin.
1063
1064         Fix for https://bugs.webkit.org/show_bug.cgi?id=25826
1065         <rdar://problem/6884742> 
1066         REGRESSION: In Gmail's Edit Link dialog, I can't type in the Link To: field (due to <input type=url> support)
1067
1068         Added a site specific quirk for mail.google.com which returns "text" when getting the type of an <input type=url>
1069
1070         * bindings/js/JSHTMLInputElementCustom.cpp:
1071         (WebCore::needsGmailQuirk):
1072         (WebCore::JSHTMLInputElement::type):
1073         * html/HTMLInputElement.idl:
1074
1075 2009-05-14  Dimitri Glazkov  <dglazkov@chromium.org>
1076
1077         Reviewed by Eric Seidel.
1078
1079         https://bugs.webkit.org/show_bug.cgi?id=25810
1080         Upstream V8 DOM Wrapper map declarations.
1081
1082         No behavior change, so no tests.
1083
1084         * bindings/v8/V8DOMMap.h:
1085         (WebCore::WeakReferenceMap::WeakReferenceMap): Added.
1086         (WebCore::WeakReferenceMap::~WeakReferenceMap): Added.
1087         (WebCore::WeakReferenceMap::get): Added.
1088         (WebCore::WeakReferenceMap::set): Added.
1089         (WebCore::WeakReferenceMap::forget): Added.
1090         (WebCore::WeakReferenceMap::contains): Added.
1091         (WebCore::WeakReferenceMap::impl): Added.
1092         (WebCore::DOMWrapperMap::DOMWrapperMap): Added.
1093
1094 2009-05-15  Simon Fraser  <simon.fraser@apple.com>
1095
1096         Reviewed by Dave Hyatt
1097         
1098         https://bugs.webkit.org/show_bug.cgi?id=25773
1099         
1100         Rename GraphicsLayer::graphicsContextsFlipped() to 
1101         GraphicsLayer::compositingCoordinatesOrientation() in order to clarify the usage.
1102
1103         Clean up code around the GraphicsLayer "contents" layer that makes use of this
1104         flag, by removing the setHasContentsLayer() method, and just using setContentsLayer(),
1105         which can then always do the flipping if necessary.
1106
1107         Only affects ACCELERATED_COMPOSITING builds.
1108         
1109         * platform/graphics/GraphicsLayer.h:
1110         (WebCore::GraphicsLayer::):
1111         * platform/graphics/mac/GraphicsLayerCA.h:
1112         (WebCore::GraphicsLayerCA::contentsLayer):
1113         * platform/graphics/mac/GraphicsLayerCA.mm:
1114         (WebCore::GraphicsLayer::compositingCoordinatesOrientation):
1115         (WebCore::GraphicsLayerCA::setBackgroundColor):
1116         (WebCore::GraphicsLayerCA::clearBackgroundColor):
1117         (WebCore::GraphicsLayerCA::setContentsToImage):
1118         (WebCore::GraphicsLayerCA::clearContents):
1119         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
1120         (WebCore::GraphicsLayerCA::setContentsLayer):
1121         * rendering/RenderLayerCompositor.cpp:
1122         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1123
1124 2009-05-15  Chris Marrin  <cmarrin@apple.com>
1125
1126         Reviewed by Simon Fraser.
1127
1128         https://bugs.webkit.org/show_bug.cgi?id=25765
1129
1130         Avoid calling setNeedsStyleRecalc() when we are
1131         putting an animated page in the cache. This avoids
1132         the assert and subsequent problems with a dirty 
1133         page going into the cache.
1134
1135         * page/animation/KeyframeAnimation.cpp:
1136         (WebCore::KeyframeAnimation::endAnimation):
1137
1138 2009-05-15  Francisco Tolmasky  <francisco@280north.com>
1139
1140         BUG 25467: JavaScript debugger should use function.displayName as the function's name in the call stack
1141         <https://bugs.webkit.org/show_bug.cgi?id=25467>
1142         
1143         Reviewed by Adam Roben.
1144
1145         * inspector/JavaScriptCallFrame.cpp:
1146         (WebCore::JavaScriptCallFrame::functionName): Use calculatedFunctionName which takes into account displayName
1147         * inspector/front-end/CallStackSidebarPane.js: Remove "|| anonymous function" since it is handled internally just like in profiles
1148         (WebInspector.CallStackSidebarPane.prototype.update):
1149
1150 2009-05-15  Alexey Proskuryakov  <ap@webkit.org>
1151
1152         Windows build fix (and a matching Mac change, to avoid unnecessarily diverging the implementations).
1153
1154         * platform/network/cf/ResourceHandleCFNet.cpp:
1155         (WebCore::ResourceHandle::start):
1156         * platform/network/mac/ResourceHandleMac.mm:
1157         (WebCore::ResourceHandle::start):
1158         Check strings with isEmpty(), not relying on any implicit conversions.
1159
1160 2009-05-15  Alexey Proskuryakov  <ap@webkit.org>
1161
1162         Reviewed by Darin Adler, Brady Eidson and Eric Carlson.
1163
1164         <rdar://problem/6875643> REGRESSION: Unable to download file with FTP URL that includes
1165         username and password (Lightwave 9.6 for Mac from Newtek site)
1166
1167         CFNetwork only invokes didReceiveAuthenticationChallenge for HTTP requests. Credentials
1168         for other protocols (including FTP) should be included as part of the URL.
1169
1170         * platform/network/cf/ResourceHandleCFNet.cpp:
1171         (WebCore::ResourceHandle::start):
1172         (WebCore::WebCoreSynchronousLoader::load):
1173         * platform/network/mac/ResourceHandleMac.mm:
1174         (WebCore::ResourceHandle::start):
1175         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
1176         Put credentials in URL for non-HTTP requests.
1177
1178         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest):
1179         Bail out quickly if the URL is non-HTTP. Cross-origin requests require specific HTTP
1180         headers to be received, so they cannot work with other protocols.
1181
1182 2009-05-15  Ariya Hidayat  <ariya.hidayat@nokia.com>
1183
1184         Reviewed by Holger Freyther.
1185
1186         [Qt] In the image decoder, remove the raw image data represented as QImage
1187         once the image is converted to QPixmap and inserted in the pixmap cache.
1188         This effectively reduces the heap usage when running on graphics system
1189         other than raster (i.e the case where QImage != QPixmap).
1190
1191         * platform/graphics/qt/ImageDecoderQt.cpp:
1192         (WebCore::ImageDecoderQt::imageAtIndex): Nullified the image on purpose.
1193         * platform/graphics/qt/ImageDecoderQt.h: Made m_imageList mutable.
1194
1195 2009-05-15  Ariya Hidayat  <ariya.hidayat@nokia.com>
1196
1197         Reviewed by Holger Freyther.
1198
1199         [Qt] Refactor alpha channel detection the image decoder.
1200         Sets the boolean flag as soon as the image is being read.
1201
1202         * platform/graphics/qt/ImageDecoderQt.cpp:
1203         (WebCore::ImageDecoderQt::ImageDecoderQt): Initialized m_hasAlphaChannel.
1204         (WebCore::ImageDecoderQt::setData): Set the flag when appropriate.
1205         (WebCore::ImageDecoderQt::supportsAlpha): Simplified.
1206         (WebCore::ImageDecoderQt::reset): Resetted the flag.
1207         * platform/graphics/qt/ImageDecoderQt.h: Added m_hasAlphaChannel.
1208
1209 2009-05-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1210
1211         Reviewed by Darin Adler.
1212
1213         Finish support for disabling the JavaScript Debugger and Profiler 
1214         at compile time in WebCore
1215         https://bugs.webkit.org/show_bug.cgi?id=24917
1216
1217         * bindings/js/JSInspectorControllerCustom.cpp: ENABLE_JAVASCRIPT_DEBUGGER guard
1218         * bindings/js/JSJavaScriptCallFrameCustom.cpp: Ditto.
1219         * inspector/JavaScriptCallFrame.cpp: Ditto.
1220         * inspector/JavaScriptCallFrame.h: Ditto.
1221         * inspector/JavaScriptCallFrame.idl: Ditto.
1222         * inspector/JavaScriptDebugListener.h: Ditto.
1223         * inspector/JavaScriptDebugServer.cpp: Ditto.
1224         * inspector/JavaScriptDebugServer.h: Ditto.
1225         * inspector/JavaScriptProfile.cpp: Ditto.
1226         * inspector/JavaScriptProfile.h: Ditto.
1227         * inspector/JavaScriptProfileNode.cpp: Ditto.
1228         * inspector/JavaScriptProfileNode.h: Ditto.
1229         * page/Console.cpp: Use guard ENABLE(JAVASCRIPT_DEBUGGER) instead of USE(JSC)
1230         * page/Console.h: Ditto.
1231         * page/Console.idl: Use guard ENABLE(JAVASCRIPT_DEBUGGER) instead of !defined(V8_BINDING)
1232
1233 2009-05-15  Jungshik Shin  <jshin@chromium.org>
1234
1235         Reviewed by Dimitri Glazkov
1236
1237         http://bugs.webkit.org/show_bug.cgi?id=25464
1238
1239         Improve the font fallback for characters belonging to 'common' scripts
1240         in ChromiumWin port. Make characters like Danda, Double Danda (punctuation
1241         marks in North Indian scripts) and currency signs (e.g. Thai Baht)
1242         rendered correctly in Chromium on Win. 
1243
1244         Tests: fast/text/international/danda-space.html
1245                fast/text/international/thai-baht-space.html
1246
1247         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
1248         (WebCore::FontMap::getScriptBasedOnUnicodeBlock):
1249         (WebCore::FontMap::getScript):
1250         (WebCore::getFallbackFamily):
1251
1252 2009-05-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1253
1254         Reviewed by Holger Freyther.
1255
1256         https://bugs.webkit.org/show_bug.cgi?id=25731
1257         [Qt] Cleanup - move files exclusive to XPATH and XSLT under the
1258         appropriate build section
1259
1260         * WebCore.pro:
1261
1262 2009-05-14  Evan Martin  <evan@chromium.org>
1263
1264         Reviewed by Eric Seidel and Darin Fisher.
1265
1266         Fix a font-related leak in Chromium's Skia backend found by Valgrind.
1267         https://bugs.webkit.org/show_bug.cgi?id=25760
1268
1269         * platform/graphics/chromium/FontCacheLinux.cpp:
1270         (WebCore::FontCache::getFontDataForCharacters):
1271         Use caches instead of "new" on every call.
1272
1273 2009-05-14  Rahul Kuchhal  <kuchhal@chromium.org>
1274
1275         Reviewed by Eric Seidel.
1276
1277         Initialize m_spreadMethod in the second constructor too. Not sure if
1278         a test case can be written, so no test case.
1279         https://bugs.webkit.org/show_bug.cgi?id=25814
1280
1281         No test possible: spreadMethod() is only used by SVG, doesn't seem possible to hit
1282         this case, since several other SVG tests already should be calling
1283         spreadMethod().
1284
1285         * platform/graphics/Gradient.cpp:
1286         (WebCore::Gradient::Gradient):
1287
1288 2009-05-14  Simon Fraser  <simon.fraser@apple.com>
1289
1290         No review.
1291
1292         Fix Windows build after renaming MediaControlElements to MediaControlElementType.
1293
1294         * rendering/RenderMediaControls.cpp:
1295         (WebCore::RenderMediaControls::paintMediaControlsPart):
1296         * rendering/RenderMediaControls.h:
1297
1298 2009-05-14  Simon Fraser  <simon.fraser@apple.com>
1299
1300         Reviewed by Darin Adler
1301         
1302         <rdar://problem/6739671> Movie controller’s play button does not change into a pause
1303         button
1304
1305         Fix a controls repaint issue when the playing state of a video changes by
1306         educating the MediaControlInputElements about the state they are currently
1307         displaying, and making them repaint when that state changes. This applies
1308         to the play/pause and mute/unmute buttons, which both have two states.
1309         
1310         * rendering/MediaControlElements.cpp:
1311         (WebCore::MediaControlInputElement::MediaControlInputElement):
1312         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
1313         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
1314         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
1315         Pass in and initialize the MediaControlElementType.
1316         
1317         (WebCore::MediaControlInputElement::update):
1318         Update the display type too
1319         
1320         (WebCore::MediaControlInputElement::setDisplayType):
1321         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
1322         (WebCore::MediaControlMuteButtonElement::updateDisplayType):
1323         Choose muted vs. unmuted display.
1324         
1325         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
1326         (WebCore::MediaControlPlayButtonElement::updateDisplayType):
1327         Choose play vs. paused display.
1328
1329         * rendering/MediaControlElements.h:
1330         Renamed the MediaControlElements enum to MediaControlElementType.
1331         (WebCore::MediaControlInputElement::updateDisplayType):
1332         Add a MediaControlElementType member variable with a setter to allow
1333         the element to know what type it is displaying.
1334
1335 2009-05-14  Dean Jackson  <dino@apple.com>
1336
1337         Reviewed by Simon Fraser.
1338
1339         https://bugs.webkit.org/show_bug.cgi?id=25197
1340
1341         Add support for aspect-ratio and orientation
1342         media queries.
1343
1344         Tests: fast/media/mq-aspect-ratio.html
1345                fast/media/mq-orientation.html
1346
1347         * css/MediaFeatureNames.h:
1348         * css/MediaQueryEvaluator.cpp:
1349         (WebCore::orientationMediaFeatureEval):
1350         (WebCore::aspect_ratioMediaFeatureEval):
1351         (WebCore::min_aspect_ratioMediaFeatureEval):
1352         (WebCore::max_aspect_ratioMediaFeatureEval):
1353         * css/MediaQueryExp.h:
1354         (WebCore::MediaQueryExp::isViewportDependent):
1355
1356 2009-05-14  Kevin McCullough  <kmccullough@apple.com>
1357
1358         - Resubmitting previous patch, correctly this time.
1359
1360         * editing/CompositeEditCommand.cpp:
1361         (WebCore::CompositeEditCommand::splitTreeToNode):
1362         * editing/IndentOutdentCommand.cpp:
1363         (WebCore::IndentOutdentCommand::outdentParagraph):
1364
1365 2009-05-14  Kevin McCullough  <kmccullough@apple.com>
1366
1367         - Rolling out to fix a bug and the build
1368
1369         * editing/CompositeEditCommand.cpp:
1370         (WebCore::CompositeEditCommand::splitTreeToNode):
1371         * editing/IndentOutdentCommand.cpp:
1372         (WebCore::IndentOutdentCommand::outdentParagraph):
1373
1374 2009-05-14  Kevin McCullough  <kmccullough@apple.com>
1375
1376         Reviewed by Dan Bernstein.
1377
1378         <rdar://problem/6510362> In some situations message content is messed up
1379         when indentation is decreased
1380
1381         * editing/CompositeEditCommand.cpp:
1382         (WebCore::CompositeEditCommand::splitTreeToNode): Calling recursively
1383         here served to do nothing because this function will return if the
1384         second argument is the parent of the first.  Not only does this now work
1385         as intended, but is necessary for the rest of this fix.
1386         * editing/IndentOutdentCommand.cpp:
1387         (WebCore::IndentOutdentCommand::outdentParagraph): To determine if we 
1388         are the last node in a <blockquote>, and can therefore remove the
1389         <blockquote> we need the endOfEnclosingBlock to extend to the end of
1390         the <blockquote> not just the next block, which could be a <div>, for
1391         example. 
1392         - Also If a <blockquote> is removed, but it's the child of another
1393         <blockquote> then its children are now children of the top <blockquote>.
1394         In this case we want to split the parent <blockquote> because the next
1395         paragraph assumes that it is the first node in its <blockquote> and if
1396         that is not true, various bugs arise.
1397
1398 2009-05-14  Brady Eidson  <beidson@apple.com>
1399
1400         Build fix.
1401
1402         * platform/network/cf/ResourceHandleCFNet.cpp:
1403         (WebCore::setDefaultMIMEType):
1404
1405 2009-05-14  Brady Eidson  <beidson@apple.com>
1406
1407         Reviewed by Adam Roben.
1408
1409         Fix http/tests/xmlhttprequest/cache-override.html on Windows
1410
1411         * platform/network/cf/ResourceHandleCFNet.cpp:
1412         (WebCore::setDefaultMIMEType): Modify the previous response so it maintains all of its data.
1413         (WebCore::didReceiveResponse): Call setDefaultMIMEType() when needed.
1414         (WebCore::WebCoreSynchronousLoader::load): Ditto.
1415
1416 2009-05-14  Paul Godavari  <paul@chromium.org>
1417
1418         Reviewed by Dimitri Glazkov.
1419
1420         Bug: Mac Chromium popup menus are not positioned correctly
1421         on scrolled pages:
1422         https://bugs.webkit.org/show_bug.cgi?id=25772
1423
1424         Fix Mac Chromium popup menu placement by taking into
1425         account any scrolling in the current window. This mirrors
1426         the positioning done in PopupContainer::show(), which is
1427         used on Chromium Windows and linux.
1428
1429         Also fixed indenting for this method.
1430
1431         * platform/chromium/PopupMenuChromium.cpp:
1432         (WebCore::PopupContainer::showExternal):
1433
1434 2009-05-14  Drew Wilson  <atwilson@google.com>
1435
1436         Reviewed by Dimitri Glazkov.
1437
1438         https://bugs.webkit.org/show_bug.cgi?id=25774
1439         Upstream V8MessagePortCustom.cpp from the chromium repository.
1440
1441         * bindings/v8/custom/V8MessagePortCustom.cpp: Added.
1442         (WebCore::ACCESSOR_GETTER):
1443         (WebCore::ACCESSOR_SETTER):
1444         (WebCore::CALLBACK_FUNC_DECL):
1445
1446 2009-05-14  Simon Fraser  <simon.fraser@apple.com>
1447
1448         Reviewed by Darin Adler
1449
1450         https://bugs.webkit.org/show_bug.cgi?id=25777
1451         
1452         StyleGeneratedImage::imageSize() needs to take zooming into account for
1453         fixed-size images (i.e. canvas) so that canvas-as-image-background
1454         renders correctly with zooming.
1455
1456         Test: fast/canvas/canvas-bg-zoom.html
1457
1458         * rendering/style/StyleGeneratedImage.cpp:
1459         (WebCore::StyleGeneratedImage::imageSize):
1460
1461 2009-05-14  Alexey Proskuryakov  <ap@webkit.org>
1462
1463         Reviewed by Darin Adler.
1464
1465         Patch originally by Darin Adler.
1466
1467         https://bugs.webkit.org/show_bug.cgi?id=25796
1468         <rdar://problem/6886654> Shouldn't set referer and origin in Loader::Host::servePendingRequests().
1469
1470         Test: http/tests/security/credentials-in-referer.html
1471
1472         * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): This will be done in
1473         SubresourceLoader::create() anyway.
1474
1475 2009-05-14  Chris Fleizach  <cfleizach@apple.com>
1476
1477         Reviewed by Darin Adler.
1478
1479         Bug 25797: Pages with image maps are not properly read with Voiceover
1480         https://bugs.webkit.org/show_bug.cgi?id=25797
1481
1482         * page/AccessibilityImageMapLink.h:
1483         (WebCore::AccessibilityImageMapLink::isEnabled):
1484
1485 2009-05-14  Brady Eidson  <beidson@apple.com>
1486
1487         Reviewed by Darin Adler.
1488
1489         <rdar://problem/6887762> and https://bugs.webkit.org/show_bug.cgi?id=25790 
1490
1491         Nuke the bogus ASSERT and add a legitimate ASSERT with a little help from a new accessor.
1492
1493         * platform/network/ResourceHandle.cpp:
1494         (WebCore::ResourceHandle::shouldContentSniff):
1495         * platform/network/ResourceHandle.h:
1496
1497         * platform/network/cf/ResourceHandleCFNet.cpp:
1498         (WebCore::createCFURLResponseWithDefaultMIMEType):
1499         (WebCore::didReceiveResponse):
1500
1501 2009-05-14  Eric Carlson  <eric.carlson@apple.com>
1502
1503         Reviewed by Darin Adler.
1504
1505         https://bugs.webkit.org/show_bug.cgi?id=25791
1506         Bug 25791: HTMLMediaElement: implement 'startTime' attribute
1507         
1508         Support the recently added HTMLMediaElement 'startTime' attribute. This is a read-only 
1509         value that only the media engine can know, so we just need to add the attribute 
1510         to HTMLMediaElement and add methods to MediaPlayer and MediaPlayerPrivateInterface so 
1511         the engine can make it available.
1512
1513         Test: media/media-startTime.html
1514
1515         * html/HTMLMediaElement.cpp:
1516         (WebCore::HTMLMediaElement::startTime): New.
1517         * html/HTMLMediaElement.h:
1518         * html/HTMLMediaElement.idl:
1519
1520         * platform/graphics/MediaPlayer.cpp:
1521         (WebCore::MediaPlayer::startTime): New.
1522         * platform/graphics/MediaPlayer.h:
1523
1524         * platform/graphics/MediaPlayerPrivate.h:
1525         (WebCore::MediaPlayerPrivateInterface::startTime): New.
1526
1527 2009-05-14  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
1528
1529         Reviewed by Ariya Hidayat.
1530
1531         Only create a QWidget wrapper for the plugin in the case it is not
1532         in the Qt window mapper, and thus receiving events from the Qt
1533         event system. Native Qt based plugins running in process, will
1534         already be in the window mapper, and thus creating a wrapper,
1535         stops them from getting events from Qt, as they are redirected
1536         to the wrapper.
1537
1538         * plugins/qt/PluginContainerQt.cpp:
1539         (PluginContainerQt::on_clientIsEmbedded):
1540
1541 2009-05-14  Alexey Proskuryakov  <ap@webkit.org>
1542
1543         Reviewed by Darin Adler.
1544
1545         https://bugs.webkit.org/show_bug.cgi?id=25784
1546         Leaks seen on HTTP tests
1547
1548         We should change ResourceHandleMac.mm to use smart pointers some day, but this is a minimal fix.
1549
1550         * platform/network/mac/ResourceHandleMac.mm:
1551         (WebCore::ResourceHandle::loadResourceSynchronously): Release mutable request copy made for
1552         disabling content sniffing, matching the normal code path.
1553         (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Release m_user
1554         and m_pass before overwriting.
1555         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto.
1556
1557 2009-05-14  Yury Semikhatsky <yurys@chromium.org>
1558
1559         Reviewed by Dimitri Glazkov.
1560
1561         https://bugs.webkit.org/show_bug.cgi?id=25418
1562         Remove new lines from event handler wrapper to make line numbers
1563         in the wrapped script conside with the lines in the original script.
1564
1565         * bindings/v8/V8LazyEventListener.cpp:
1566         (WebCore::V8LazyEventListener::getListenerFunction):
1567         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
1568
1569 2009-05-14  Dimitri Glazkov  <dglazkov@chromium.org>
1570
1571         Reviewed by Alexey Proskuryakov.
1572
1573         Remove a JSC-specific include that is already added by including
1574         ScriptController.
1575
1576         No change in behavior, so no tests.
1577
1578         * dom/Document.cpp: Removed JSDOMBinding include.
1579
1580 2009-05-14  Alexey Proskuryakov  <ap@webkit.org>
1581
1582         Reviewed by Brady Eidson.
1583
1584         <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
1585
1586         Hopefully, a final stroke. When updating ResourceRequest from a platform request, a wrong
1587         CFString function was used, so a user-friendly name was stored in encoding fallback array.
1588
1589         * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdateResourceRequest):
1590         * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdateResourceRequest):
1591
1592 2009-05-14  Ben Murdoch  <benm@google.com>
1593
1594         Reviewed by Darin Adler.
1595
1596         Add more ENABLE_DATABASE guards.
1597         https://bugs.webkit.org/show_bug.cgi?id=25616
1598
1599         See also https://bugs.webkit.org/show_bug.cgi?id=24776 (original set of guards)
1600
1601         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1602         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
1603         * bindings/v8/custom/V8CustomSQLStatementCallback.h:
1604         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1605         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h:
1606         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
1607         * bindings/v8/custom/V8CustomSQLTransactionCallback.h:
1608         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
1609         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h:
1610         * bindings/v8/custom/V8DatabaseCustom.cpp:
1611         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1612         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1613         * storage/Database.cpp:
1614         * storage/DatabaseDetails.h:
1615         * storage/OriginUsageRecord.cpp:
1616         * storage/OriginUsageRecord.h:
1617         * storage/SQLError.h:
1618         * storage/SQLError.idl:
1619         * storage/SQLResultSet.cpp:
1620         * storage/SQLResultSet.h:
1621         * storage/SQLResultSet.idl:
1622         * storage/SQLResultSetRowList.cpp:
1623         * storage/SQLResultSetRowList.h:
1624         * storage/SQLResultSetRowList.idl:
1625         * storage/SQLStatementCallback.h:
1626         * storage/SQLStatementErrorCallback.h:
1627         * storage/SQLTransactionCallback.h:
1628         * storage/SQLTransactionErrorCallback.h:
1629
1630 2009-05-11  Holger Hans Peter Freyther  <zecke@selfish.org>
1631
1632         Reviewed by Darin Adler.
1633
1634         https://bugs.webkit.org/show_bug.cgi?id=25787
1635
1636         Gtk was the last platform to not unregister plugins when
1637         the plugin is stopped. Catch up with r43550.
1638
1639         * plugins/gtk/PluginViewGtk.cpp:
1640         (WebCore::PluginView::stop):
1641
1642 2009-05-14  Adam Roben  <aroben@apple.com>
1643
1644         Make WebCore.vcproj's pre-build event work again
1645
1646         * WebCore.vcproj/WebCore.vcproj: Removed empty override of the
1647         pre-build event that was accidentally left in when the pre-build event
1648         was moved to WebCoreCommon.vsprops.
1649
1650 2009-05-14  Darin Adler  <darin@apple.com>
1651
1652         * manual-tests/right-click-crash.html: Added.
1653
1654 2009-05-14  Mark Rowe  <mrowe@apple.com>
1655
1656         Rubber-stamped by Darin Adler.
1657
1658         <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
1659
1660         The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
1661         Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
1662         if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
1663
1664         * Configurations/Base.xcconfig:
1665
1666 2009-05-13  Anders Carlsson  <andersca@apple.com>
1667
1668         Fix build.
1669
1670         * WebCore.NPAPI.exp:
1671
1672 2009-05-13  Eric Seidel  <eric@webkit.org>
1673
1674         Reviewed by Oliver Hunt.
1675
1676         Fix invalid memory write seen in HTMLCanvasElement by Valgrind
1677         https://bugs.webkit.org/show_bug.cgi?id=25759
1678
1679         I can't think of any way to catch this with a layout test, so no test.
1680
1681         * css/CSSCanvasValue.cpp:
1682         (WebCore::CSSCanvasValue::canvasDestroyed):
1683         * css/CSSCanvasValue.h:
1684         * html/HTMLCanvasElement.cpp:
1685         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
1686         * html/HTMLCanvasElement.h:
1687
1688 2009-05-13  Dan Bernstein  <mitz@apple.com>
1689
1690         Reviewed by Anders Carlsson.
1691
1692         - fix <rdar://problem/5483015> Replies in Mail are drawn first without
1693           the user style sheet and then redrawn with the style sheet
1694
1695         Test: platform/mac/fast/loader/user-stylesheet-fast-path.html
1696
1697         * page/mac/FrameMac.mm:
1698         (WebCore::Frame::setUserStyleSheetLocation): For data URLs with
1699         base64-encoded UTF-8 data, just decode the style sheet here an apply
1700         it synchronously instead of invoking an asynchronous loader.
1701
1702 2009-05-13  Chris Fleizach  <cfleizach@apple.com>
1703
1704         Bug 25755: Implement ARIA grid role
1705         https://bugs.webkit.org/show_bug.cgi?id=25755
1706
1707         Fix build bustage from last checkin.
1708
1709         * page/AccessibilityAriaGrid.cpp:
1710         (WebCore::AccessibilityAriaGrid::addChild):
1711
1712 2009-05-13  Chris Fleizach  <cfleizach@apple.com>
1713
1714         Reviewed by Beth Dakin.
1715
1716         Bug 25755: Implement ARIA grid role
1717         https://bugs.webkit.org/show_bug.cgi?id=25755
1718
1719         Test: accessibility/aria-tables.html
1720
1721         * GNUmakefile.am:
1722         * WebCore.pro:
1723         * WebCore.vcproj/WebCore.vcproj:
1724         * WebCore.xcodeproj/project.pbxproj:
1725         * WebCoreSources.bkl:
1726         * page/AXObjectCache.cpp:
1727         (WebCore::AXObjectCache::nodeIsAriaType):
1728         (WebCore::AXObjectCache::getOrCreate):
1729         * page/AXObjectCache.h:
1730         * page/AccessibilityAriaGrid.cpp: Added.
1731         (WebCore::AccessibilityAriaGrid::AccessibilityAriaGrid):
1732         (WebCore::AccessibilityAriaGrid::~AccessibilityAriaGrid):
1733         (WebCore::AccessibilityAriaGrid::create):
1734         (WebCore::AccessibilityAriaGrid::addChild):
1735         (WebCore::AccessibilityAriaGrid::addChildren):
1736         (WebCore::AccessibilityAriaGrid::cellForColumnAndRow):
1737         * page/AccessibilityAriaGrid.h: Added.
1738         (WebCore::AccessibilityAriaGrid::isAriaTable):
1739         * page/AccessibilityAriaGridCell.cpp: Added.
1740         (WebCore::AccessibilityAriaGridCell::AccessibilityAriaGridCell):
1741         (WebCore::AccessibilityAriaGridCell::~AccessibilityAriaGridCell):
1742         (WebCore::AccessibilityAriaGridCell::create):
1743         (WebCore::AccessibilityAriaGridCell::parentTable):
1744         (WebCore::AccessibilityAriaGridCell::rowIndexRange):
1745         (WebCore::AccessibilityAriaGridCell::columnIndexRange):
1746         * page/AccessibilityAriaGridCell.h: Added.
1747         * page/AccessibilityAriaGridRow.cpp: Added.
1748         (WebCore::AccessibilityAriaGridRow::AccessibilityAriaGridRow):
1749         (WebCore::AccessibilityAriaGridRow::~AccessibilityAriaGridRow):
1750         (WebCore::AccessibilityAriaGridRow::create):
1751         (WebCore::AccessibilityAriaGridRow::parentTable):
1752         (WebCore::AccessibilityAriaGridRow::headerObject):
1753         * page/AccessibilityAriaGridRow.h: Added.
1754         * page/AccessibilityList.cpp:
1755         (WebCore::AccessibilityList::accessibilityIsIgnored):
1756         * page/AccessibilityList.h:
1757         * page/AccessibilityObject.h:
1758         (WebCore::):
1759         * page/AccessibilityRenderObject.cpp:
1760         (WebCore::RoleEntry::):
1761         * page/AccessibilityTable.cpp:
1762         (WebCore::AccessibilityTable::AccessibilityTable):
1763         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
1764         * page/AccessibilityTable.h:
1765         (WebCore::AccessibilityTable::isAriaTable):
1766         * page/AccessibilityTableCell.cpp:
1767         (WebCore::AccessibilityTableCell::parentTable):
1768         (WebCore::AccessibilityTableCell::isTableCell):
1769         (WebCore::AccessibilityTableCell::titleUIElement):
1770         * page/AccessibilityTableCell.h:
1771         * page/AccessibilityTableColumn.cpp:
1772         (WebCore::AccessibilityTableColumn::setParentTable):
1773         (WebCore::AccessibilityTableColumn::headerObject):
1774         * page/AccessibilityTableRow.cpp:
1775         (WebCore::AccessibilityTableRow::isTableRow):
1776         (WebCore::AccessibilityTableRow::parentTable):
1777         * page/AccessibilityTableRow.h:
1778         * page/mac/AccessibilityObjectWrapper.mm:
1779         (RoleEntry::):
1780
1781 2009-05-13  David Levin  <levin@chromium.org>
1782
1783         Reviewed by Dimitri Glazkov.
1784
1785         Bug 25763: Need to move v8 custom binding to the custom directory.
1786         https://bugs.webkit.org/show_bug.cgi?id=25763
1787
1788         No test due to no change in behavior.
1789
1790         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Renamed from WebCore/bindings/v8/V8CanvasPixelArrayCustom.cpp.
1791
1792 2009-05-13  Nate Chapin  <japhet@google.com>
1793
1794         Reviewed by Dimitri Glazkov.
1795
1796         Fix LayoutTests/fast/dom/Element/attr-param-typechecking.html crashing with V8.
1797         https://bugs.webkit.org/show_bug.cgi?id=25758
1798
1799         * bindings/v8/custom/V8ElementCustom.cpp:
1800         (WebCore::CALLBACK_FUNC_DECL): return the result of throwError() if it is called.
1801
1802 2009-05-13  Jeremy Moskovich  <jeremy@chromium.org>
1803
1804         Reviewed by Dave Hyatt.
1805
1806         Fix a number of bugs relating to RTL and text-overflow:ellipsis.
1807         Also refactor the relevant code to make it a little clearer.
1808
1809         This CL fixes 3 fundamental issues:
1810         - Corrects behavior if the truncated InlineTextBox's directionality is
1811           different from the overall flow direction - bug 25135.
1812         - Make decoration drawing in InlineFlowbox RTL-aware - bug 24206.
1813         - Full truncation on InlineBoxes in RTL flow - bug 24186
1814         - Add tests for the above + reorder/cleanup tests for easier
1815           interpretation of outcome.
1816
1817         The code for placing ellipsis has been refactored to use
1818         left/right notation rather than a single variable whose meaning
1819         could differ based on flow directionality.
1820
1821         To support differing inline directionality vs flow directionality,
1822         different variables are now used in InlineTextBox::placeEllipsisBox to
1823         track the two.
1824
1825         The drawing mode for underlines in standards mode now correctly handles
1826         RTL truncation and relevant test where added.
1827
1828         https://bugs.webkit.org/show_bug.cgi?id=24186
1829         https://bugs.webkit.org/show_bug.cgi?id=25135
1830         https://bugs.webkit.org/show_bug.cgi?id=24206
1831
1832         Tests: fast/css/text-overflow-ellipsis-bidi.html
1833                fast/css/text-overflow-ellipsis-strict.html
1834
1835         * rendering/InlineBox.cpp:
1836         (WebCore::InlineBox::placeEllipsisBox):
1837         * rendering/InlineBox.h:
1838         * rendering/InlineFlowBox.cpp:
1839         (WebCore::InlineFlowBox::paintTextDecorations):
1840         (WebCore::InlineFlowBox::placeEllipsisBox):
1841         * rendering/InlineFlowBox.h:
1842         * rendering/InlineTextBox.cpp:
1843         (WebCore::InlineTextBox::placeEllipsisBox):
1844         (WebCore::InlineTextBox::paint):
1845         * rendering/InlineTextBox.h:
1846         * rendering/RenderFlexibleBox.cpp:
1847         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1848         * rendering/RootInlineBox.cpp:
1849         (WebCore::RootInlineBox::placeEllipsis):
1850         (WebCore::RootInlineBox::placeEllipsisBox):
1851         * rendering/RootInlineBox.h:
1852         * rendering/bidi.cpp:
1853         (WebCore::RenderBlock::checkLinesForTextOverflow):
1854
1855 2009-05-13  Dmitry Titov  <dimich@chromium.org>
1856
1857         Rubber-stamped by Mark Rowe.
1858
1859         https://bugs.webkit.org/show_bug.cgi?id=25746
1860         Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4.
1861
1862         * dom/XMLTokenizerLibxml2.cpp:
1863         (WebCore::matchFunc):
1864         (WebCore::openFunc):
1865         (WebCore::createStringParser):
1866         (WebCore::createMemoryParser):
1867         * loader/icon/IconDatabase.cpp:
1868         (WebCore::IconDatabase::open):
1869         * platform/sql/SQLiteDatabase.cpp:
1870         (WebCore::SQLiteDatabase::SQLiteDatabase):
1871         (WebCore::SQLiteDatabase::close):
1872         * storage/DatabaseThread.cpp:
1873         (WebCore::DatabaseThread::DatabaseThread):
1874         (WebCore::DatabaseThread::start):
1875         (WebCore::DatabaseThread::databaseThread):
1876         * storage/LocalStorageThread.cpp:
1877         (WebCore::LocalStorageThread::LocalStorageThread):
1878         (WebCore::LocalStorageThread::start):
1879         (WebCore::LocalStorageThread::localStorageThread):
1880         (WebCore::LocalStorageThread::scheduleImport):
1881         (WebCore::LocalStorageThread::scheduleSync):
1882         (WebCore::LocalStorageThread::terminate):
1883         * workers/WorkerThread.cpp:
1884         (WebCore::WorkerThread::WorkerThread):
1885         (WebCore::WorkerThread::start):
1886
1887 2009-05-13  David Hyatt  <hyatt@apple.com>
1888
1889         Reviewed by Beth Dakin.
1890
1891         Fix for <rdar://problem/6872894> REGRESSION (r41896-42143): First letter cut off in styled select menus
1892         
1893         Make sure to do rounded clipping for overflow and controls relative to the border box and not to the overflow/control clip rect
1894         (which is typically clipped to the padding or content box).  Doing so was causing rounded clips to be incorrectly applied to padding and
1895         content.
1896     
1897         Added fast/overflow/border-radius-clipping.html
1898
1899         * rendering/RenderBox.cpp:
1900         (WebCore::RenderBox::pushContentsClip):
1901
1902 2009-05-13  Darin Adler  <darin@apple.com>
1903
1904         Revert the parser arena change. It was a slowdown, not a speedup.
1905         Better luck next time (I'll break it up into pieces).
1906
1907 2009-05-13  David Hyatt  <hyatt@apple.com>
1908
1909         Reviewed by Beth Dakin and Darin Adler.
1910
1911         Fix for <rdar://problem/6869687> REGRESSION (r41203): Facebook friend suggestions disappear on update.
1912         
1913         Make sure that renderers are marked for layout if a style change causes them to switch from having a self-painting layer
1914         to a non-self-painting layer (and vice versa).
1915         
1916         Move misplaced layer repainting code that was in RenderBox up into RenderBoxModelObject so that inlines with layers
1917         repaint properly on opacity changes, etc.
1918
1919         Added fast/repaint/opacity-change-on-overflow-float.html.
1920
1921         * rendering/RenderBox.cpp:
1922         (WebCore::RenderBox::styleWillChange):
1923         * rendering/RenderBoxModelObject.cpp:
1924         (WebCore::RenderBoxModelObject::styleWillChange):
1925         (WebCore::RenderBoxModelObject::styleDidChange):
1926         * rendering/RenderBoxModelObject.h:
1927
1928 2009-05-13  Dimitri Glazkov  <dglazkov@chromium.org>
1929
1930         Not reviewed, build fix.
1931
1932         Move an include, needed by Debugger under the corresponding guard.
1933
1934         * inspector/InspectorController.cpp: Moved parser/SourceCode under JAVASCRIPT_DEBUGGER
1935             guard.
1936
1937 2009-05-13  David Levin  <levin@chromium.org>
1938
1939         Reviewed by Darin Adler.
1940
1941         Bug 25394: REGRESSION: crash in DocumentLoader::addResponse due to bad |this| pointer
1942         https://bugs.webkit.org/show_bug.cgi?id=25394
1943
1944         Test: http/tests/xmlhttprequest/frame-unload-abort-crash.html
1945
1946         * loader/SubresourceLoader.cpp:
1947         (WebCore::SubresourceLoader::create):
1948         Add another check to subresource loader to avoid doing any loads in frames
1949         when the loaders are being stopped.
1950
1951 2009-05-13  Stephan Haller  <nomad@froevel.de>
1952
1953         Reviewed by Gustavo Noronha.
1954
1955         Wrong handling of file upload if no file selected
1956         https://bugs.webkit.org/show_bug.cgi?id=25649
1957
1958         Fixed returned path if path is empty
1959
1960         * WebCore/platform/gtk/FileSystemGtk.cpp:
1961
1962 2009-05-13  Dan Bernstein  <mitz@apple.com>
1963
1964         Reviewed by Dave Hyatt.
1965
1966         - fix <rdar://problem/6805567> REGRESSION (r42348): Notes flicker white
1967           when loading
1968
1969         Tests: fast/frames/content-opacity-1.html
1970                fast/frames/content-opacity-2.html
1971
1972         * page/FrameView.cpp:
1973         (WebCore::FrameView::reset): Reset m_contentIsOpaque to false.
1974         (WebCore::FrameView::useSlowRepaints): Use slow repaints if the content
1975         is not known to be opaque.
1976         (WebCore::FrameView::setContentIsOpaque): Added. Sets m_contentIsOpaque
1977         and enables or disables fast repaints accordingly.
1978         * page/FrameView.h:
1979         * rendering/RenderBoxModelObject.cpp:
1980         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Removed the
1981         document()->haveStylesheetsLoaded() condition in determining whether the
1982         root is opaque. This is what was causing the bug, as iframes were
1983         considered to be opaque, and thus painted an opaque white background,
1984         whenever they were pending a style sheet load.
1985         Changed to call FrameView::setContentIsOpaqe() instead of
1986         setUseSlowRepaints(), which allows the frame to go back to fast repaints
1987         if the content becomes opaque.
1988         Corrected the check for background color opacity: any alpha value other
1989         than 255--not just zero--is not opaque.
1990
1991 2009-05-13  Ariya Hidayat  <ariya.hidayat@nokia.com>
1992
1993         Reviewed by Sam Weinig.
1994
1995         [Qt] Fix "lighther" composition mode.
1996         QPainter::CompositionMode_Plus is the right match.
1997
1998         * platform/graphics/qt/GraphicsContextQt.cpp:
1999         (WebCore::toQtCompositionMode):
2000
2001 2009-05-13  Darin Adler  <darin@apple.com>
2002
2003         Reviewed by Cameron Zwarich.
2004
2005         Bug 25674: syntax tree nodes should use arena allocation
2006         https://bugs.webkit.org/show_bug.cgi?id=25674
2007
2008         * bindings/js/JSDOMBinding.h: Removed include of JSFunction.h.
2009         We don't want the entire DOM binding to depend on that file.
2010
2011         * bindings/js/JSAudioConstructor.cpp: Added include of Error.h.
2012         Before we inherited this automatically because JDDOMBinding.h
2013         included JSFunction.h, but that was excessive.
2014         * bindings/js/JSDOMWindowCustom.cpp: Ditto.
2015         * bindings/js/JSHTMLInputElementCustom.cpp: Ditto.
2016         * bindings/js/JSImageConstructor.cpp: Ditto.
2017         * bindings/js/JSLazyEventListener.cpp: Ditto, but for JSFunction.h.
2018         * bindings/js/JSMessageChannelConstructor.cpp: Ditto.
2019         * bindings/js/JSOptionConstructor.cpp: Ditto.
2020         * bindings/js/JSWorkerConstructor.cpp: Ditto.
2021         * bindings/js/JSXMLHttpRequestConstructor.cpp: Ditto.
2022         * bridge/jni/jni_jsobject.mm: Ditto, but for SourceCode.h.
2023         * inspector/InspectorController.cpp: Ditto.
2024
2025         * inspector/JavaScriptDebugServer.cpp:
2026         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
2027         Moved mose of this function into the base class in JavaScriptCore,
2028         so the details of compilation don't have to be exposed.
2029
2030 2009-05-13  Douglas R. Davidson  <ddavidso@apple.com>
2031
2032         Reviewed by Darin Adler.
2033
2034         <rdar://problem/6879145>
2035         Generate a contextual menu item allowing autocorrections to
2036         easily be changed back.  Refrain from re-correcting items
2037         that have already been autocorrected once.
2038
2039         * dom/DocumentMarker.h:
2040         * editing/Editor.cpp:
2041         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
2042         (WebCore::Editor::changeBackToReplacedString):
2043         * editing/Editor.h:
2044         * page/ContextMenuController.cpp:
2045         (WebCore::ContextMenuController::contextMenuItemSelected):
2046         * page/mac/WebCoreViewFactory.h:
2047         * platform/ContextMenu.cpp:
2048         (WebCore::ContextMenu::populate):
2049         (WebCore::ContextMenu::checkOrEnableIfNeeded):
2050         * platform/ContextMenuItem.h:
2051         * platform/LocalizedStrings.h:
2052         * platform/mac/LocalizedStringsMac.mm:
2053         (WebCore::contextMenuItemTagChangeBack):
2054         * rendering/HitTestResult.cpp:
2055         (WebCore::HitTestResult::replacedString):
2056         * rendering/HitTestResult.h:
2057         * rendering/InlineTextBox.cpp:
2058         (WebCore::InlineTextBox::computeRectForReplacementMarker):
2059         (WebCore::InlineTextBox::paintDocumentMarkers):
2060         * rendering/InlineTextBox.h:
2061
2062 2009-05-13  Holger Hans Peter Freyther  <zecke@selfish.org>
2063
2064         Rubber Stamped by Oliver Hunt.
2065
2066         [GTK] Fix Gtk+/X11 build on OSX
2067
2068         Including the CoreFoundation header here and X11 headers
2069         later will result in different definitions of Boolean. The
2070         CoreFoundation include does not seem to be necessary here
2071         and my mac build was successfull without it. I will remove
2072         it for now. If the build bots disagree this will be replaced
2073         by a #if PLATFORM(CF).
2074
2075         * platform/FileSystem.h:
2076
2077 2009-05-13  Holger Hans Peter Freyther  <zecke@selfish.org>
2078
2079         Rubber Stamped by Gustavo Noronha.
2080
2081         [GTK] Move the #ifdef around for a buildfix for Gtk+ on OSX
2082
2083         When building Gtk+ on OSX we ended up declaring
2084         setNPWindowIfNeeded twice. Fix that by moving
2085         the #if PLATFORM(GTK) up and using elif instead of
2086         else.
2087
2088         * plugins/PluginView.h:
2089
2090 2009-05-13  Holger Hans Peter Freyther  <zecke@selfish.org>
2091
2092         Reviewed by Xan Lopez.
2093
2094         https://bugs.webkit.org/show_bug.cgi?id=25685
2095         [GTK] Middle click paste form the pasteboard
2096
2097         The kit wants to paste from at least two different
2098         clipboards. By introducing getCurrentTarget to the
2099         PasteboardHelper interface we can make this decision
2100         in the kit.
2101         Use the new method in PasteboardGtk to get the right
2102         GdkClipboard for the paste operation.
2103
2104         * platform/gtk/PasteboardGtk.cpp:
2105         (WebCore::Pasteboard::documentFragment):
2106         (WebCore::Pasteboard::plainText):
2107         * platform/gtk/PasteboardHelper.h:
2108
2109 2009-05-13  Eric Carlson  <eric.carlson@apple.com>
2110
2111         Reviewed by Darin Adler.
2112
2113         <rdar://problem/6438177> QTMoviePreferredTransformAttribute only supported on SnowLeopard
2114         <rdar://problem/6872468> QTMovieOpenForPlaybackAttribute only supported on SnowLeopard
2115
2116         QTMoviePreferredTransformAttribute and QTMovieOpenForPlaybackAttribute are not supported
2117         on Tiger or Leopard.
2118
2119         * html/HTMLMediaElement.cpp:
2120         (WebCore::HTMLMediaElement::setNetworkState): Remove invalid ASSERT.
2121
2122         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2123         (WebCore::MediaPlayerPrivate::createQTMovie): Only request QTMoviePreferredTransformAttribute
2124         when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD.
2125         (WebCore::MediaPlayerPrivate::cacheMovieScale): Only ask for QTMovieOpenForPlaybackAttribute 
2126         when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD,
2127
2128 2009-05-12  Roland Steiner <rolandsteiner@google.com>
2129
2130         Reviewed by Eric Seidel.
2131
2132         Bug 25738: Skia: CSS border style not cleared for SVG object
2133         https://bugs.webkit.org/show_bug.cgi?id=25738
2134
2135         If no dashing is set, this change reverts to solid stroke
2136         (previously the code bailed and left the old setting, whatever it was)
2137
2138         Test case listed in above bug entry.
2139         (Additional complications due to each platform rendering dotted lines differently -
2140         c.f. https://bugs.webkit.org/show_bug.cgi?id=25737)
2141
2142         * platform/graphics/skia/GraphicsContextSkia.cpp:
2143         (WebCore::GraphicsContext::setLineDash):
2144
2145 2009-05-11  Erik Arvidsson  <arv@chromium.org>
2146
2147         Reviewed by Eric Seidel.
2148
2149         Bug 21903: Adds DOM bindings for the placeholder property of the
2150         HTMLInputElement.
2151         https://bugs.webkit.org/show_bug.cgi?id=21903
2152
2153         Test: fast/forms/placeholder-dom-property.html
2154
2155         * dom/InputElement.cpp:
2156         (WebCore::InputElement::updatePlaceholderVisibility):
2157         * dom/InputElement.h:
2158         * html/HTMLInputElement.cpp:
2159         (WebCore::HTMLInputElement::placeholder):
2160         (WebCore::HTMLInputElement::setPlaceholder):
2161         * html/HTMLInputElement.h:
2162         * html/HTMLInputElement.idl:
2163         * rendering/RenderTextControlSingleLine.cpp:
2164         (WebCore::RenderTextControlSingleLine::updateFromElement):
2165         * wml/WMLInputElement.h:
2166         (WebCore::WMLInputElement::placeholder):
2167         (WebCore::WMLInputElement::setPlaceholder):
2168
2169 2009-05-12  Adam Barth  <abarth@webkit.org>
2170
2171         Reviewed by Dimitri Glazkov.
2172
2173         https://bugs.webkit.org/show_bug.cgi?id=25706
2174
2175         Change V8 bindings to match JSC bindings with respect to using
2176         the lexical or dynamic global object.
2177
2178         Tests: http/tests/security/aboutBlank/security-context-grandchildren-lexical.html
2179                http/tests/security/aboutBlank/security-context-grandchildren-write-lexical.html
2180                http/tests/security/aboutBlank/security-context-grandchildren-writeln-lexical.html
2181
2182         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2183         (WebCore::CALLBACK_FUNC_DECL):
2184
2185 2009-03-19  Oliver Hunt  <oliver@apple.com>
2186
2187         Reviewed by Darin Adler.
2188
2189         <rdar://problem/6702386> Incorrect bound check in SVGList::insertItemBefore
2190
2191         SVGList::insertItemBefore would not perform a bounds check on the
2192         index it was provided, potentially leading to a buffer overflow. 
2193
2194         Test: svg/dom/svglist-exception-on-out-bounds-error.html
2195
2196         * svg/SVGList.h:
2197         (WebCore::SVGList::insertItemBefore):
2198
2199 2009-05-12  Paul Godavari  <paul@chromium.org>
2200
2201         Reviewed by Dimitri Glazkov.
2202
2203         Bug 25708: Cannot choose menu items in popups with many entries in Chromium
2204         https://bugs.webkit.org/show_bug.cgi?id=25708
2205
2206         This change sets the window size for popups on Mac to include all items
2207         in the menu. This is required for hit testing on Mac, where we use native
2208         controls to manage the popups and don't want to artificially limit the
2209         valid hit testing region to a limited scroll window.
2210
2211         * platform/chromium/PopupMenuChromium.cpp:
2212         (WebCore::PopupListBox::layout):
2213
2214 2009-05-12  Stephen White  <senorblanco@chromium.org>
2215
2216         Reviewed by Dimitri Glazkov.
2217
2218         Fixes to build with latest skia:  SkTypeface::Create() is now
2219         SkTypeface::CreateFromName(); computeBounds() has been reworked
2220         as getBounds().  The changes are placed behind an #ifdef for now,
2221         so that we can roll back the skia version in Chromium if necessary
2222         without having to roll back this change.
2223
2224         https://bugs.webkit.org/show_bug.cgi?id=25705
2225
2226         * platform/graphics/chromium/FontCacheLinux.cpp:
2227         (WebCore::FontCache::createFontPlatformData):
2228         * platform/graphics/skia/PathSkia.cpp:
2229         (WebCore::Path::boundingRect):
2230         (WebCore::boundingBoxForCurrentStroke):
2231         * platform/graphics/skia/SkiaUtils.cpp:
2232         (WebCore::SkPathContainsPoint):
2233
2234 2009-05-12  Nate Chapin  <japhet@google.com>
2235
2236         Reviewed by Dimitri Glazkov.
2237
2238         https://bugs.webkit.org/show_bug.cgi?id=25732
2239         Update V8ElementCustom.cpp to match the current API of V8Proxy.
2240
2241         (WebCore::ACCESSOR_SETTER): Change retrieveActiveFrame() to retrieveFrameForEnteredContext().
2242
2243 2009-05-12  Alexey Proskuryakov  <ap@webkit.org>
2244
2245         Reviewed by Darin Adler.
2246
2247         https://bugs.webkit.org/show_bug.cgi?id=25694
2248         HTMLParser::createHead() ASSERT: Creating an element, calling  document.open() and writing
2249         to the document NULL ptr
2250
2251         Test: fast/parser/implicit-head-in-fragment-crash.html
2252
2253         * html/HTMLParser.cpp: (WebCore::HTMLParser::bodyCreateErrorCheck): Do not try to implicitly
2254         create <head> when parsing a fragment.
2255
2256 2009-05-12  Soren Gjesse  <sgjesse@chromium.org>
2257
2258         Reviewed by Dimitri Glazkov.
2259
2260         https://bugs.webkit.org/show_bug.cgi?id=25687
2261         Missing check for valid function in V8 bindings for toString function for event listeners.
2262
2263         * bindings/v8/V8LazyEventListener.cpp:
2264         (WebCore::V8LazyEventListener::getWrappedListenerFunction): Added empty handle checks.
2265
2266 2009-05-11  Yael Aharon  <yael.aharon@nokia.com>
2267
2268         Reviewed by Holger Freyther.
2269
2270         Change Qt port to match the mac and windows ports, and unregister plugins when plugins are stopped.
2271         Not doing that can cause assersion failure.
2272         https://bugs.webkit.org/show_bug.cgi?id=25702
2273
2274         * plugins/qt/PluginViewQt.cpp:
2275         (WebCore::PluginView::stop):
2276
2277 2009-05-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2278
2279         Reviewed by Holger Freyther.
2280
2281         Bug 25714: [Qt] Decouple HTML5 Database support from the
2282         SQLite/generic database support in the Qt port
2283
2284         <https://bugs.webkit.org/show_bug.cgi?id=25714>
2285
2286         * WebCore.pro:
2287
2288 2009-05-11  Chris Fleizach  <cfleizach@apple.com>
2289
2290         Reviewed by Beth Dakin.
2291
2292         Bug 25713: AX: Control Elements not identified in HTML content
2293         https://bugs.webkit.org/show_bug.cgi?id=25713
2294
2295         Test: accessibility/onclick-handlers.html
2296
2297         * page/AccessibilityRenderObject.cpp:
2298         (WebCore::AccessibilityRenderObject::mouseButtonListener):
2299
2300 2009-05-11  Darin Adler  <darin@apple.com>
2301
2302         Reviewed by Dan Bernstein.
2303
2304         <rdar://problem/6276843> REGRESSION: TextIterator generates
2305         an extra newline for ranges that start outside of body
2306
2307         * editing/TextIterator.cpp:
2308         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
2309         Check startPos for null, not just currPos.
2310
2311 2009-05-11  Chris Fleizach  <cfleizach@apple.com>
2312
2313         Reviewed by Darin Adler.
2314
2315         Bug 25700: Regression:WebKit:cmd-left and cmd-right use to go to the beginning and end of a line in Mail
2316         https://bugs.webkit.org/show_bug.cgi?id=25700
2317
2318         Keyboard selection movement handlers need to also watch for the Cmd key when Accessibility is enabled.
2319         Note: This code is only used when accessibility is enabled.
2320
2321         * page/EventHandler.cpp:
2322         (WebCore::EventHandler::handleKeyboardSelectionMovement):
2323
2324 2009-05-11  David Kilzer  <ddkilzer@apple.com>
2325
2326         Bug 25087: Test for ENABLE_FOO macros consistently in IDL files
2327
2328         <https://bugs.webkit.org/show_bug.cgi?id=25087>
2329
2330         Reviewed by Timothy Hatcher.
2331
2332         Change tests for ENABLE macros to check for both existence and
2333         value:
2334
2335         - Negative:  #if !defined(ENABLE_FOO) || !ENABLE_FOO
2336         - Positive:  #if defined(ENABLE_FOO) && ENABLE_FOO
2337
2338         * css/CSSCharsetRule.idl:
2339         * css/CSSPrimitiveValue.idl:
2340         * css/RGBColor.idl:
2341         * dom/Attr.idl:
2342         * dom/DOMCoreException.idl:
2343         * dom/DOMImplementation.idl:
2344         * dom/Document.idl:
2345         * dom/Element.idl:
2346         * dom/Event.idl:
2347         * dom/EventException.idl:
2348         * dom/KeyboardEvent.idl:
2349         * dom/MessagePort.idl:
2350         * dom/MouseEvent.idl:
2351         * dom/Node.idl:
2352         * dom/ProcessingInstruction.idl:
2353         * dom/Range.idl:
2354         * dom/RangeException.idl:
2355         * dom/WheelEvent.idl:
2356         * html/CanvasPixelArray.idl:
2357         * html/HTMLAnchorElement.idl:
2358         * html/HTMLAppletElement.idl:
2359         * html/HTMLAreaElement.idl:
2360         * html/HTMLBaseFontElement.idl:
2361         * html/HTMLCanvasElement.idl:
2362         * html/HTMLDocument.idl:
2363         * html/HTMLElement.idl:
2364         * html/HTMLEmbedElement.idl:
2365         * html/HTMLFrameElement.idl:
2366         * html/HTMLIFrameElement.idl:
2367         * html/HTMLImageElement.idl:
2368         * html/HTMLInputElement.idl:
2369         * html/HTMLLinkElement.idl:
2370         * html/HTMLObjectElement.idl:
2371         * html/HTMLOptionElement.idl:
2372         * html/HTMLOptionsCollection.idl:
2373         * html/HTMLSelectElement.idl:
2374         * html/HTMLStyleElement.idl:
2375         * html/ImageData.idl:
2376         * inspector/InspectorController.idl:
2377         * loader/appcache/DOMApplicationCache.idl:
2378         * page/Console.idl:
2379         * page/Coordinates.idl:
2380         * page/DOMSelection.idl:
2381         * page/DOMWindow.idl:
2382         * page/Geoposition.idl:
2383         * page/History.idl:
2384         * page/Location.idl:
2385         * page/Navigator.idl:
2386         * svg/SVGElementInstance.idl:
2387         * svg/SVGException.idl:
2388         * workers/WorkerContext.idl:
2389         * xml/XMLHttpRequestException.idl:
2390         * xml/XPathException.idl:
2391
2392 2009-05-11  Norbert Leser  <norbert.leser@nokia.com>
2393
2394         Reviewed by Darin Adler.
2395
2396         Bug 24538: class/struct mixup in forward declarations
2397         https://bugs.webkit.org/show_bug.cgi?id=24538
2398
2399         * inspector/InspectorResource.h:
2400         * loader/CachedFont.h:
2401         * loader/appcache/ApplicationCache.h:
2402         * rendering/RenderBlock.h:
2403         * rendering/RootInlineBox.h:
2404         * rendering/SVGInlineTextBox.h:
2405         * svg/SVGGlyphElement.h:
2406         * svg/SVGHKernElement.h:
2407
2408 2009-05-11  Norbert Leser  <norbert.leser@nokia.com>
2409
2410         Reviewed by Darin Adler.
2411
2412         Bug 24539: Unresolved CSSMutableStyleDeclaration
2413         https://bugs.webkit.org/show_bug.cgi?id=24539
2414
2415         The Symbian tools can't compile and link this without this include.
2416         It's not clear why this is different from other toolsets or why it affects
2417         only this header file, but adding the include for now.
2418
2419         * editing/RemoveCSSPropertyCommand.h: Added include of CSSMutableStyleDeclaration.h.
2420
2421 2009-05-11  Alice Liu  <alice.liu@apple.com>
2422
2423         Reviewed by Dan Bernstein.
2424
2425         https://bugs.webkit.org/show_bug.cgi?id=25701
2426         REGRESSION(r38788 & r42020): styled searchfields look wrong on Windows, affects Facebook
2427
2428         Test: fast/forms/search-styled.html
2429
2430         * css/themeWin.css:
2431         Remove the overriding of -webkit-appearance for searchfields. This will cause background
2432         images to not be honored when styling searchfields
2433
2434         * rendering/RenderThemeWin.cpp:
2435         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
2436         * rendering/RenderThemeWin.h:
2437         Re-instate final adjustments to searchfield styling that were removed in r42020
2438
2439 2009-05-11  Brady Eidson  <beidson@apple.com>
2440
2441         Fix Windows build
2442
2443         * platform/network/cf/ResourceHandleCFNet.cpp:
2444         (WebCore::createCFURLResponseWithDefaultMIMEType):
2445
2446 2009-05-11  Nate Chapin  <japhet@google.com>
2447
2448         Reviewed by Dimitri Glazkov.
2449
2450         https://bugs.webkit.org/show_bug.cgi?id=25626
2451         Update V8ElementCustom.cpp to match the current API of Node.
2452
2453         * bindings/v8/custom/V8ElementCustom.cpp:
2454         (WebCore::ACCESSOR_SETTER): Changed a couple of method names to match current names.
2455         (WebCore::ACCESSOR_GETTER): Changed a method name to match current name.
2456
2457 2009-05-11  Brady Eidson  <beidson@apple.com>
2458
2459         Fix Windows build
2460
2461         * platform/network/cf/ResourceHandleCFNet.cpp:
2462         (WebCore::createCFURLResponseWithDefaultMIMEType):
2463         (WebCore::WebCoreSynchronousLoader::load):
2464
2465 2009-05-11  Brady Eidson  <beidson@apple.com>
2466
2467         Fix Windows build
2468
2469         * platform/network/cf/ResourceHandleCFNet.cpp:
2470         (WebCore::createCFURLResponseWithDefaultMIMEType):
2471
2472 2009-05-11  Nate Chapin  <japhet@google.com>
2473
2474         Reviewed by Dimitri Glazkov.
2475
2476         V8CustomBinding.cpp is missing a header file
2477
2478         https://bugs.webkit.org/show_bug.cgi?id=25644
2479
2480         * bindings/v8/custom/V8CustomBinding.cpp: Added #include "V8Proxy.h".
2481
2482 2009-05-11  Aaron Boodman  <aa@chromium.org>
2483
2484         Reviewed by Darin Fisher.
2485
2486         https://bugs.webkit.org/show_bug.cgi?id=25634
2487         Change V8Proxy::retrieveActiveFrame() call sites to V8Proxy::retrieveFrameForEnteredContext().
2488
2489         Also, change instances of ScriptController::retrieveActiveFrame() to
2490         V8::retrieveFrameForEnteredContext() for consistency.
2491
2492
2493         See http://codereview.chromium.org/113085 for the corresponding Chromium change.
2494
2495         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2496         (WebCore::V8Custom::WindowSetLocation):
2497         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2498         (WebCore::CALLBACK_FUNC_DECL):
2499         * bindings/v8/custom/V8LocationCustom.cpp:
2500         (WebCore::navigateIfAllowed):
2501         (WebCore::ACCESSOR_SETTER):
2502         (WebCore::CALLBACK_FUNC_DECL):
2503
2504 2009-05-11  Brady Eidson  <beidson@apple.com>
2505
2506         Reviewed by Darin Adler.
2507
2508         <rdar://problem/5972751> Local image files (BMP, ico) can be misidentified as HTML.
2509
2510         First part of the fix - Disable content sniffing for file resources which never should've been happening anyways.
2511         Second part of the fix - If the networking layer doesn't give us back a MIME type default to "application/octet-stream".
2512
2513         * platform/MIMETypeRegistry.cpp:
2514         (WebCore::defaultMIMEType): "application/octet-stream"
2515         * platform/MIMETypeRegistry.h:
2516
2517         * platform/network/ResourceHandle.cpp:
2518         (WebCore::ResourceHandle::create): If content sniffing is true, double check with "shouldContentSniffRequest()" which
2519           might override it to false.
2520         (WebCore::ResourceHandle::shouldContentSniffURL): Return false for file:// urls, true for everything else.
2521         * platform/network/ResourceHandle.h:
2522
2523         * platform/network/cf/ResourceHandleCFNet.cpp:
2524         (WebCore::createCFURLResponseWithDefaultMIMEType): Create a copy of the CFURLRequest with the default MIME type instead
2525           of null.
2526         (WebCore::didReceiveResponse): If the MIME type for the response is null, create a copy with the default MIME type.
2527         (WebCore::WebCoreSynchronousLoader::load): Use shouldContentSniffRequest() to make synchronous loads have the same 
2528           sniffing policy as asynchronous loads.  Also, correct a null MIME type by creating a copy with the default type.
2529
2530         * platform/network/mac/ResourceHandleMac.mm:
2531         (WebCore::ResourceHandle::loadResourceSynchronously): Use shouldContentSniffRequest() to make synchronous loads have the
2532           same sniffing policy as asynchronous loads.
2533         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Set up the [NSURLResponse MIMEType] swizzling if
2534           it hasn't been set up yet.
2535         (_web_NSURLResponse_MIMEType): Either return the actual MIME type of the response, or the default MIME type if it's nil.
2536
2537         * xml/XMLHttpRequest.cpp:
2538         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Remove the workaround added in r29370 as it will now be covered by
2539           the new mechanism.
2540
2541 2009-05-11  David Kilzer  <ddkilzer@apple.com>
2542
2543         Fix typo "APPLICATION_CAHE_DYNAMIC_ENTRIES" to "APPLICATION_CACHE_DYNAMIC_ENTRIES"
2544
2545         This was added in r39816 to disable dynamic entries.  They are
2546         still disabled after fixing the typo since this feature define
2547         is never set anywhere.
2548
2549         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2550         * loader/appcache/DOMApplicationCache.idl:
2551
2552 2009-05-11  Dmitry Titov  <dimich@chromium.org>
2553
2554         Reviewed by Alexey Proskuryakov and Adam Roben.
2555
2556         https://bugs.webkit.org/show_bug.cgi?id=25348
2557         Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
2558
2559         Most of the change is in WTF.
2560         Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
2561         method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
2562         is now a class rather then an integer.
2563         Also, there is no need to initialize threadID in constructors to 0 now.
2564
2565         * dom/XMLTokenizerLibxml2.cpp:
2566         (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
2567         since now ThreadIdentifier needs construction and we avoid having global initializers.
2568         (WebCore::matchFunc): use the new accessor function.
2569         (WebCore::openFunc): ditto.
2570         (WebCore::createStringParser): ditto.
2571         (WebCore::createMemoryParser): ditto.
2572         * loader/icon/IconDatabase.cpp:
2573         (WebCore::IconDatabase::open):
2574         * platform/sql/SQLiteDatabase.cpp:
2575         (WebCore::SQLiteDatabase::SQLiteDatabase):
2576         (WebCore::SQLiteDatabase::close):
2577         * storage/DatabaseThread.cpp:
2578         (WebCore::DatabaseThread::start):
2579         (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
2580         * storage/LocalStorageThread.cpp:
2581         (WebCore::LocalStorageThread::start):
2582         (WebCore::LocalStorageThread::scheduleImport):
2583         (WebCore::LocalStorageThread::scheduleSync):
2584         (WebCore::LocalStorageThread::terminate):
2585         * workers/WorkerThread.cpp:
2586         (WebCore::WorkerThread::start):
2587         (WebCore::WorkerThread::WorkerThread):
2588         (WebCore::WorkerThread::start):
2589
2590 2009-05-11  Brady Eidson  <beidson@apple.com>
2591
2592         Reviewed by Darin Adler.
2593
2594         Remove unused header that declared one function which was never defined anywhere.
2595
2596         * WebCore.vcproj/WebCore.vcproj:
2597         * platform/network/cf/ResourceResponseCFNet.cpp: Change to include ResourceResponse.h (which really means
2598           platform/network/cf/ResourceResponse.h)
2599         * platform/network/cf/ResourceResponseCFNet.h: Removed.
2600
2601 2009-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
2602
2603         Reviewed by Timothy Hatcher.
2604
2605         https://bugs.webkit.org/show_bug.cgi?id=25213
2606         Fix assert during Inspector destruction.
2607
2608         * inspector/InspectorController.cpp:
2609         (WebCore::InspectorController::inspectedPageDestroyed): Moved closing
2610             inspector above removing InspectorController object to fix JS errors,
2611             added clearing inspector page ptr.
2612
2613 2009-05-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2614
2615         Reviewed by Holger Freyther.
2616
2617         [Qt] Make sure that public APIs are properly exported on all Qt platforms
2618         https://bugs.webkit.org/show_bug.cgi?id=25601
2619
2620         * WebCore.pro: Define QT_MAKEDLL for all non-static builds, not just for win
2621
2622 2009-05-11  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
2623
2624         Reviewed by Holger Freyther.
2625
2626         https://bugs.webkit.org/show_bug.cgi?id=24284
2627
2628         * WebCore.pro: duplicated values removed from INCLUDEPATH
2629
2630 2009-05-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2631
2632         Reviewed by Eric Seidel.
2633
2634         Build fix Symbian; clean Up WebKit/Qt if ENABLE_NETSCAPE_PLUGIN_API=0
2635         https://bugs.webkit.org/show_bug.cgi?id=24688
2636
2637         * WebCore.pro: Use platform independent plugin stubs if ENABLE_NETSCAPE_PLUGIN_API=0
2638         * platform/qt/TemporaryLinkStubs.cpp: Remove stub functions for plugins
2639
2640 2009-05-10  Dan Bernstein  <mitz@apple.com>
2641
2642         Reviewed by Darin Adler.
2643
2644         - fix a crash when deactivating a document that had adopted a <form>
2645           element
2646
2647         Test: fast/dom/HTMLFormElement/document-deactivation-callback-crash.html
2648
2649         * html/HTMLFormElement.cpp:
2650         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Corrected the
2651         logic here: <form> elements should be registered for document activation
2652         callbacks if and only if autocomplete is off.
2653
2654 2009-05-10  Alexey Proskuryakov  <ap@webkit.org>
2655
2656         Reviewed by Dan Bernstein.
2657
2658         <rdar://problem/6867598> REGRESSION (r42483): Have to enter credentials twice when trying
2659         to view protected MobileMe video
2660
2661         Add a temporary workaround.
2662
2663         * platform/network/ResourceHandleInternal.h:
2664         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2665         Added an m_useSiteSpecificQuirks boolean (Mac-only). A Frame pointer is only available when
2666         starting a request, so we need to store this data for later use.
2667
2668         * platform/network/mac/ResourceHandleMac.mm:
2669         (WebCore::ResourceHandle::start): Initialize m_useSiteSpecificQuirks.
2670         (WebCore::ResourceHandle::receivedCredential): Use per-session credentials with gallery.me.com.
2671
2672 2009-05-10  Alexey Proskuryakov  <ap@webkit.org>
2673
2674         Reviewed by Dan Bernstein.
2675
2676         <rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page
2677
2678         * platform/network/cf/AuthenticationCF.cpp:
2679         * platform/network/cf/AuthenticationCF.h:
2680         (WebCore::WebCoreCredentialStorage::set):
2681         (WebCore::WebCoreCredentialStorage::get):
2682         * platform/network/cf/ResourceHandleCFNet.cpp:
2683         Move WebCore credential storage to AuthenticationCF, so that WebKit could use it (macthing
2684         an earlier Mac change).
2685
2686 2009-05-10  Alexey Proskuryakov  <ap@webkit.org>
2687
2688         Reviewed by Dan Bernstein.
2689
2690         Match newer XMLHttpRequest draft and make withCredential setter raise an exception when
2691         called at a wrong time.
2692
2693         No test, because we are waiting for a newer version of system frameworks to test the attribute.
2694
2695         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::setWithCredentials):
2696         * xml/XMLHttpRequest.h:
2697         * xml/XMLHttpRequest.idl:
2698         Raise INVALID_STATE_ERR if the state is not OPENED, or if the send() flag is true.
2699
2700 2009-05-10  Dan Bernstein  <mitz@apple.com>
2701
2702         Reviewed by Dave Kilzer.
2703
2704         - fix https://bugs.webkit.org/show_bug.cgi?id=25602
2705           REGRESSION: fast/overflow/overflow-focus-ring.html seems double-drawn
2706           on ToT
2707
2708         Test: fast/layers/self-painting-outline.html
2709
2710         * rendering/RenderLayer.cpp:
2711         (WebCore::RenderLayer::paintLayer): Paint the layer's own outline only
2712         if it is a self-painting layer.
2713
2714 2009-05-09  Dan Bernstein  <mitz@apple.com>
2715
2716         Reviewed by Geoffrey Garen and Mark Rowe.
2717
2718         - fix https://bugs.webkit.org/show_bug.cgi?id=25666
2719           Assertion failure in Node::setDocument()
2720           (willMoveToNewOwnerDocumentWasCalled) when adopting a <form> element
2721
2722         Test: fast/dom/HTMLFormElement/adopt-assertion.html
2723
2724         * html/HTMLFormElement.cpp:
2725         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Overrides of
2726         this method are required to call the base class implementation. Do it.
2727         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
2728
2729 2009-03-29  Kevin Ollivier  <kevino@theolliviers.com>
2730
2731         Reviewed by Maciej Stachowiak.
2732
2733         WebCore::DocumentLoader::mainReceivedError now asserts if error.isNull(), so
2734         make sure CURL does not create empty ResourceError() objects.
2735         
2736         https://bugs.webkit.org/show_bug.cgi?id=24927
2737
2738         * platform/network/curl/ResourceHandleManager.cpp:
2739         (WebCore::ResourceHandleManager::downloadTimerCallback):
2740
2741 2009-05-09  Gustavo Noronha Silva  <gns@gnome.org>
2742
2743         Build fix, adding missing files to make dist.
2744
2745         * GNUmakefile.am:
2746
2747 2009-05-08  Simon Fraser  <simon.fraser@apple.com>
2748
2749         Reviewed by Dan Bernstein
2750         
2751         https://bugs.webkit.org/show_bug.cgi?id=25656
2752         
2753         Reduce the inline capacity of CSSParserValueList's m_values
2754         vector to reduce the size of CSSParserValueList from 544 to 160 bytes in 64-bit.
2755
2756         * css/CSSParserValues.h:
2757
2758 2009-05-08  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2759
2760         Not reviewed. Used sort-Xcode-project-file to sort the XCode project file - it hasn't been done for a while.
2761
2762         * WebCore.xcodeproj/project.pbxproj:
2763
2764 2009-05-08  Dan Bernstein  <mitz@apple.com>
2765
2766         Reviewed by Darin Adler.
2767
2768         - fix <rdar://problem/6864786> REGRESSION: Crash below
2769           ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in
2770           Bugzilla
2771
2772         Test: editing/style/apply-through-end-of-document.html
2773
2774         * editing/ApplyStyleCommand.cpp:
2775         (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null
2776         check for the case of a range extending through the end of the document,
2777         in which pastEndNode is 0.
2778
2779 2009-05-08  Douglas R. Davidson  <ddavidso@apple.com>
2780
2781         Reviewed by Beth Dakin.
2782
2783         <rdar://problem/6857446> REGRESSION (Safari 3-4): Contraction base 
2784         marked as misspelled even though contraction is a word
2785         Make sure spelling underline does not persist on words like 
2786         <doesn't>.  
2787
2788         * editing/TypingCommand.cpp:
2789         (WebCore::TypingCommand::typingAddedToOpenCommand):
2790
2791 2009-05-08  Kevin Watters  <kevinwatters@gmail.com>
2792
2793         Reviewed by Kevin Ollivier.
2794
2795         Make sure the path's refdata isn't deleted before we're done with the object.
2796         
2797         https://bugs.webkit.org/show_bug.cgi?id=25652
2798
2799         * platform/graphics/wx/PathWx.cpp:
2800         (WebCore::Path::~Path):
2801         (WebCore::Path::Path):
2802         (WebCore::Path::translate):
2803
2804 2009-05-08  Kevin Watters  <kevinwatters@gmail.com>
2805
2806         Reviewed by Darin Adler.
2807
2808         Fix for memory leak on Mac.
2809         
2810         https://bugs.webkit.org/show_bug.cgi?id=25650
2811
2812         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
2813         (wxFontProperties::wxFontProperties):
2814
2815 2009-05-08  Beth Dakin  <bdakin@apple.com>
2816
2817         Reviewed by Dan Bernstein.
2818
2819         <rdar://problem/6857446> REGRESSION (r37591): Cannot print or 
2820         preview from maps.yandex.ru
2821
2822         We need to fall into the stretchesToViewHeight() quirk when we are 
2823         printing and we are the root and the root has percentage height OR 
2824         when we are the body and the root has percentage height. Otherwise 
2825         we have a height of 0 and can run into painting troubles.
2826
2827         * rendering/RenderBox.cpp:
2828         (WebCore::RenderBox::calcHeight):
2829
2830 2009-05-08  Douglas Davidson  <ddavidso@apple.com>
2831
2832         Reviewed by Darin Adler.
2833
2834         Fixes for <rdar://problem/6852771>.
2835         Prevent text checking replacement immediately after an apostrophe
2836         and automatic link addition except immediately after typing.
2837
2838         * editing/Editor.cpp:
2839         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
2840
2841 2009-05-08  Eric Carlson  <eric.carlson@apple.com>
2842
2843         Reviewed by Darin Adler.
2844         
2845         https://bugs.webkit.org/show_bug.cgi?id=25627
2846         Bug 25627: HTMLMediaElement: some errors should fire on <source> elements
2847
2848         Update for HTML5 spec change to fire 'error' events on <source> element
2849         when there is a failure while processing/loading a <source>.
2850
2851         Test: media/video-source-error.html
2852
2853         * html/HTMLMediaElement.cpp:
2854         (WebCore::HTMLMediaElement::enqueueEvent): Remove white-space.
2855         (WebCore::HTMLMediaElement::loadInternal): Call cancelPendingEventsAndCallbacks instead
2856         of just calling m_pendingEvents.clear() as we now also need to cancel pending errors on
2857         all <source> element. 
2858         (WebCore::HTMLMediaElement::selectMediaResource): Call isSafeToLoadURL() here instead of in
2859         loadResource() as we need to report errors differently depending on the type of failure. Use
2860         KURL instead of String.
2861         (WebCore::HTMLMediaElement::loadNextSourceChild): nextSourceChild -> selectNextSourceChild.
2862         Fail silently when there are no more <source> canditates because that is what spec mandates.
2863         Keep url as KURL instead of converting to String.
2864         (WebCore::HTMLMediaElement::loadResource): ASSERT that the URL is safe to load as we now 
2865         assume the safety check now done before this function. Takes KURL instead of String.
2866         (WebCore::HTMLMediaElement::isSafeToLoadURL): New, checks to see if a url is safe to load, logs
2867         failure if not.
2868         (WebCore::HTMLMediaElement::noneSupported): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
2869         (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): New, clear all events pending on
2870         the media and all source elements.
2871         (WebCore::HTMLMediaElement::setNetworkState): Fire an error on the source element when the 
2872         the failure happened while processing one. Only call nonSupported() when the failure happened
2873         while processing media element 'src' attribute.
2874         (WebCore::HTMLMediaElement::havePotentialSourceChild): nextSourceChild -> selectNextSourceChild.
2875         Deal with selectNextSourceChild returning a KURL instead of a String.
2876         (WebCore::HTMLMediaElement::selectNextSourceChild): Renamed from nextSourceChild, add optional
2877         param to control whether or not errors are fired on a source element when it will not be used.
2878         Check safety of url here instead of waiting until loadResource(). Return a KURL instead of a
2879         String.
2880         (WebCore::HTMLMediaElement::initialURL): nextSourceChild -> selectNextSourceChild. Keep url as
2881         a KURL instead of a String.
2882         * html/HTMLMediaElement.h:
2883         (WebCore::HTMLMediaElement::):
2884
2885         * html/HTMLSourceElement.cpp:
2886         (WebCore::HTMLSourceElement::HTMLSourceElement): Initialize timer related variables.
2887         (WebCore::HTMLSourceElement::scheduleErrorEvent): New, start one-shot timer to fire an error
2888         event ASAP.
2889         (WebCore::HTMLSourceElement::cancelPendingErrorEvent): New, cancel pending error event.
2890         (WebCore::HTMLSourceElement::errorEventTimerFired): New, fire error event if it has not been
2891         cancelled.
2892         * html/HTMLSourceElement.h:
2893
2894         * html/MediaError.h: 
2895         (WebCore::MediaError::): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
2896         * html/MediaError.idl: Ditto
2897
2898 2009-05-08  Dan Bernstein  <mitz@apple.com>
2899
2900         Reviewed by Maciej Stachowiak.
2901
2902         - fix <rdar://problem/6859955> Undoing typed text after selecting all
2903           leaves non-text areas highlighted
2904
2905         Test: fast/repaint/selection-clear.html
2906
2907         When RenderView::clearSelection() is called from
2908         SelectionController::nodeWillBeRemoved(), selected renderers may already
2909         be marked for layout, which means that they can no longer compute
2910         their selection repaint info. Instead, an empty IntRect (or GapRects) is
2911         returned, leading to incomplete repaint.
2912
2913         The fix is not to rely on individual renderers when clearing the
2914         selection, but instead, cache the bounding rectangle of the selected
2915         blocks' GapRects when setting the selection, and invalidate that
2916         entire rectangle when clearing it.
2917
2918         * rendering/RenderView.cpp:
2919         (WebCore::RenderView::setSelection): Added a parameter saying whether
2920         the repainting of selected blocks should include both
2921         previously-selected areas and newly-selected areas or only
2922         newly-selected areas. The default is both. Also compute
2923         m_cachedSelectionBounds to be the bounding rectangle of the
2924         new selection's BlockSelectionInfos' GapRects.
2925         (WebCore::RenderView::clearSelection): Repaint m_cachedSelectionBounds,
2926         and tell setSelection() that it should not paint areas that were in
2927         the old selection's BlockSelectionInfos' GapRects.
2928         * rendering/RenderView.h:
2929         (WebCore::RenderView::):
2930
2931 2009-05-08  Alexey Proskuryakov  <ap@webkit.org>
2932
2933         Reviewed by Maciej Stachowiak.
2934
2935         <rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials
2936
2937         * WebCore.base.exp:
2938         * platform/network/mac/AuthenticationMac.h:
2939         (WebCore::WebCoreCredentialStorage::set):
2940         (WebCore::WebCoreCredentialStorage::get):
2941         * platform/network/mac/AuthenticationMac.mm:
2942         * platform/network/mac/ResourceHandleMac.mm:
2943         Moved WebCoreCredentialStorage to AuthenticationMac, so that it could be used from WebKit.
2944
2945 2009-05-08  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
2946
2947         Reviewed by Simon Hausmann.
2948
2949         Fix the Qt build, add missing JSC_HOST_CALL macros to the runtime
2950         call methods.
2951
2952         * bridge/qt/qt_runtime.h:
2953
2954 2009-05-08  Jan Michael Alonzo  <jmalonzo@webkit.org>
2955
2956         Reviewed by Mark Rowe.
2957
2958         Add missing strings to localizedStrings.js
2959         https://bugs.webkit.org/show_bug.cgi?id=25635
2960
2961         Add the strings "Delete", "Key", "Refresh" and "Value".
2962
2963         * English.lproj/localizedStrings.js:
2964
2965 2009-05-08  Robert Hogan  <robert@roberthogan.net>
2966
2967         Reviewed, tweaked and landed by Alexey Proskuryakov.
2968
2969         https://bugs.webkit.org/show_bug.cgi?id=24992
2970         [Qt] crash at http://browserspy.dk/browser.php
2971
2972         This cannot be easily tested in DRT, because it relies on interaction with QApplication,
2973         but the added assertions guard against re-introducing this issue.
2974
2975         * loader/FrameLoader.cpp: (WebCore::FrameLoader::didOpenURL): Don't make client calls
2976         while the frame is being constructed, because the intermediate state without a document
2977         is something we don't want to expose.
2978
2979         * page/Frame.cpp:
2980         (WebCore::Frame::setJSStatusBarText): Assert that the frame has a document, which is an
2981         approximation of it being in a consistent state for client calls.
2982         (WebCore::Frame::setJSDefaultStatusBarText): Ditto.
2983
2984 2009-05-07  Mark Rowe  <mrowe@apple.com>
2985
2986         Rubber-stamped by Oliver Hunt.
2987
2988         Fix <https://bugs.webkit.org/show_bug.cgi?id=25640>.
2989         Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed
2990         
2991         Roll out r43366 as it removed symbols that Safari 4 Beta uses.
2992
2993         * dom/XMLTokenizerLibxml2.cpp:
2994         (WebCore::matchFunc):
2995         (WebCore::openFunc):
2996         (WebCore::createStringParser):
2997         (WebCore::createMemoryParser):
2998         * loader/icon/IconDatabase.cpp:
2999         (WebCore::IconDatabase::open):
3000         * platform/sql/SQLiteDatabase.cpp:
3001         (WebCore::SQLiteDatabase::SQLiteDatabase):
3002         (WebCore::SQLiteDatabase::close):
3003         * storage/DatabaseThread.cpp:
3004         (WebCore::DatabaseThread::DatabaseThread):
3005         (WebCore::DatabaseThread::start):
3006         (WebCore::DatabaseThread::databaseThread):
3007         * storage/LocalStorageThread.cpp:
3008         (WebCore::LocalStorageThread::LocalStorageThread):
3009         (WebCore::LocalStorageThread::start):
3010         (WebCore::LocalStorageThread::localStorageThread):
3011         (WebCore::LocalStorageThread::scheduleImport):
3012         (WebCore::LocalStorageThread::scheduleSync):
3013         (WebCore::LocalStorageThread::terminate):
3014         * workers/WorkerThread.cpp:
3015         (WebCore::WorkerThread::WorkerThread):
3016         (WebCore::WorkerThread::start):
3017
3018 2009-05-08  Xan Lopez  <xlopez@igalia.com>
3019
3020         Reviewed by Gustavo Noronha.
3021
3022         Unify scrolling code via adjustments and keys. Use the WebCore
3023         defined constants, since that's what people are most used to at
3024         this point.
3025
3026         * platform/gtk/ScrollViewGtk.cpp:
3027         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
3028         (WebCore::ScrollView::platformHandleVerticalAdjustment):
3029
3030 2009-05-07  David Levin  <levin@chromium.org>
3031
3032         Reviewed by NOBODY.
3033         Suggested by Oliver Hunt.
3034
3035         Rolling back http://trac.webkit.org/changeset/43385
3036         because we have to use mac artwork for the underline on OSX.
3037
3038         * platform/graphics/cg/GraphicsContextCG.cpp:
3039         * platform/graphics/mac/GraphicsContextMac.mm:
3040         (WebCore::createPatternColor):
3041         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3042         * platform/graphics/win/GraphicsContextCGWin.cpp:
3043         (WebCore::setCGStrokeColor):
3044         (WebCore::spellingPatternColor):
3045         (WebCore::grammarPatternColor):
3046         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3047
3048 2009-05-07  John Grabowski  <jrg@chromium.org>
3049
3050         Reviewed by Simon Fraser.
3051   
3052         https://bugs.webkit.org/show_bug.cgi?id=25573
3053         Unify use of CG-common routine for drawLineForMisspellingOrBadGrammar.
3054         Cleanup for WebKit, but required for Chromium happiness.
3055
3056         * platform/graphics/cg/GraphicsContextCG.cpp:
3057         (WebCore::spellingPatternColor):
3058         (WebCore::grammarPatternColor):
3059         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3060         * platform/graphics/mac/GraphicsContextMac.mm:
3061         * platform/graphics/win/GraphicsContextCGWin.cpp:
3062
3063 2009-05-07  Darin Adler  <darin@apple.com>
3064
3065         Reviewed by Simon Fraser.
3066
3067         Bug 25575: Registered mutation event listener crashes HTMLMediaElement
3068         https://bugs.webkit.org/show_bug.cgi?id=25575
3069
3070         Test: fast/media/video-controls-with-mutation-event-handler.html
3071
3072         * rendering/MediaControlElements.cpp:
3073         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Don't call setAttribute.
3074         * rendering/RenderMedia.cpp:
3075         (WebCore::RenderMedia::createTimeline): Call setAttribute here.
3076
3077 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
3078
3079         Rubber Stamped by Dave Hyatt
3080         
3081         Shuffle the data members to minimize padding.
3082
3083         * rendering/RenderTableSection.cpp:
3084         (WebCore::RenderTableSection::RenderTableSection):
3085         * rendering/RenderTableSection.h:
3086
3087 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
3088
3089         Rubber Stamped by Dave Hyatt
3090         
3091         Shuffle the data members to make Events 8 bytes smaller in 64-bit.
3092
3093         * dom/Event.cpp:
3094         (WebCore::Event::Event):
3095         * dom/Event.h:
3096
3097 2009-05-07  Eric Seidel  <eric@webkit.org>
3098
3099         Reviewed by Beth Dakin.
3100
3101         Fix regression caused by r41469, add test case to prevent it from 
3102         happening again.
3103         https://bugs.webkit.org/show_bug.cgi?id=25252
3104   
3105         hasLayer() was true during removeOnlyThisLayer()/
3106         updateLayerPositions()
3107         which caused updateLayerPosition()'s walk up the render tree to 
3108         include offsets from the layer we were about to remove.
3109   
3110         I'm not 100% convinced that this wasn't a bug in 
3111         updateLayerPosition() or in RenderBoxModelObject::styleDidChange, 
3112         because the layer in question is not the containing block for the 
3113         block which gets laid out wrong. But this restores the previous 
3114         behavior and adds a test.  So the next time someone is in here re-
3115         factoring, they will at least know if they break something.
3116   
3117         Test: fast/layers/remove-only-this-layer-update.html
3118
3119         * rendering/RenderBoxModelObject.cpp:
3120         (WebCore::RenderBoxModelObject::destroyLayer):
3121         * rendering/RenderLayer.cpp:
3122         (WebCore::RenderLayer::removeOnlyThisLayer):
3123         * rendering/RenderObject.cpp:
3124         (WebCore::RenderObject::destroy):
3125         * rendering/RenderWidget.cpp:
3126         (WebCore::RenderWidget::destroy):
3127
3128 2009-05-07  Dmitry Titov  <dimich@chromium.org>
3129
3130         Attempt to fix GTK build.
3131
3132         * platform/graphics/GlyphPageTreeNode.h: add #include <string.h> to ensure memcpy and memset are defined.
3133
3134 2009-05-07  Oliver Hunt  <oliver@apple.com>
3135
3136         Reviewed by Gavin Barraclough.
3137
3138         Improve native call performance
3139
3140         Add calling convention declarations where necessary, and update bindings
3141         script to generate them as well.
3142
3143         * bindings/js/JSHTMLCollectionCustom.cpp:
3144         (WebCore::callHTMLCollection):
3145         * bindings/js/JSNodeListCustom.cpp:
3146         (WebCore::callNodeList):
3147         * bindings/js/JSPluginElementFunctions.cpp:
3148         (WebCore::callPlugin):
3149         * bindings/js/JSQuarantinedObjectWrapper.h:
3150         * bindings/scripts/CodeGeneratorJS.pm:
3151         * bridge/runtime_method.cpp:
3152         (JSC::callRuntimeMethod):
3153         * bridge/runtime_object.cpp:
3154         (JSC::callRuntimeObject):
3155
3156 2009-05-07  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3157
3158         Reviewed by Dave Hyatt.
3159
3160         Fixes: https://bugs.webkit.org/show_bug.cgi?id=25617
3161
3162         Fix memory/performance regression because of too much form control related abstraction just for WMLs sake.
3163
3164         Remove FormControlElement and FormControlElementWithState base classes, as the overhead is too high for the
3165         gain. HTML has no benefit of that kind of abstraction, so we're going to move the functionality to Element directly.
3166
3167         The functions now living in FormControlElement(WithState) lived in Node/Element/HTMLFormControlElement before.
3168         This patches moves all of them in a central place in Element.h, as virtual functions with an inline default implementation.
3169         To avoid confusion like isEnabled() living on Node, before the creation of the FormControlElement abstraction layer, all
3170         methods are renamed to clarify where they belong to. All renames are listed here:
3171
3172         From FormControlElement:
3173         - isEnabled() -> isEnabledFormControl()
3174         - isReadOnly() -> isReadOnlyFormControl()
3175         - isTextControl() -> isTextFormControl()
3176         - valueMatchesRenderer() -> formControlValueMatchesRenderer()
3177         - setValueMatchesRenderer() -> setFormControlValueMatchesRenderer()
3178         - name() -> formControlName()
3179         - type() -> formControlType()
3180
3181         From FormControlElementWithState:
3182         - saveState() -> saveFormControlState()
3183         - restoreState() -> restoreFormControlState()
3184
3185         A lot of Element -> FormControlElement(WithState) casting is gone again, so it's not only a memory, but also a performance progression.
3186
3187         No testcases affected, no new tests needed.
3188
3189         * GNUmakefile.am:
3190         * WebCore.pro:
3191         * WebCore.vcproj/WebCore.vcproj:
3192         * WebCore.xcodeproj/project.pbxproj:
3193         * WebCoreSources.bkl:
3194         * css/CSSStyleSelector.cpp:
3195         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3196         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3197         * dom/Document.cpp:
3198         (WebCore::Document::formElementsState):
3199         * dom/Document.h:
3200         (WebCore::Document::registerFormElementWithState):
3201         (WebCore::Document::unregisterFormElementWithState):
3202         * dom/Element.h:
3203         (WebCore::Element::isFormControlElement):
3204         (WebCore::Element::isEnabledFormControl):
3205         (WebCore::Element::isReadOnlyFormControl):
3206         (WebCore::Element::isTextFormControl):
3207         (WebCore::Element::formControlValueMatchesRenderer):
3208         (WebCore::Element::setFormControlValueMatchesRenderer):
3209         (WebCore::Element::formControlName):
3210         (WebCore::Element::formControlType):
3211         (WebCore::Element::saveFormControlState):
3212         (WebCore::Element::restoreFormControlState):
3213         * dom/FormControlElement.cpp: Removed.
3214         * dom/FormControlElement.h: Removed.
3215         * dom/FormControlElementWithState.cpp: Removed.
3216         * dom/FormControlElementWithState.h: Removed.
3217         * dom/InputElement.cpp:
3218         (WebCore::InputElement::setValueFromRenderer):
3219         * html/HTMLButtonElement.cpp:
3220         (WebCore::HTMLButtonElement::formControlType):
3221         * html/HTMLButtonElement.h:
3222         * html/HTMLFieldSetElement.cpp:
3223         (WebCore::HTMLFieldSetElement::formControlType):
3224         * html/HTMLFieldSetElement.h:
3225         * html/HTMLFormControlElement.cpp:
3226         (WebCore::HTMLFormControlElement::attach):
3227         (WebCore::HTMLFormControlElement::formControlName):
3228         (WebCore::HTMLFormControlElement::willValidate):
3229         (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
3230         (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
3231         (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument):
3232         (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument):
3233         (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
3234         * html/HTMLFormControlElement.h:
3235         (WebCore::HTMLFormControlElement::isTextFormControl):
3236         (WebCore::HTMLFormControlElement::isEnabledFormControl):
3237         (WebCore::HTMLFormControlElement::formControlValueMatchesRenderer):
3238         (WebCore::HTMLFormControlElement::setFormControlValueMatchesRenderer):
3239         (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
3240         (WebCore::HTMLFormControlElement::type):
3241         (WebCore::HTMLFormControlElement::name):
3242         * html/HTMLInputElement.cpp:
3243         (WebCore::HTMLInputElement::formControlName):
3244         (WebCore::HTMLInputElement::formControlType):
3245         (WebCore::HTMLInputElement::saveFormControlState):
3246         (WebCore::HTMLInputElement::restoreFormControlState):
3247         (WebCore::HTMLInputElement::parseMappedAttribute):
3248         (WebCore::HTMLInputElement::detach):
3249         (WebCore::HTMLInputElement::setValue):
3250         (WebCore::HTMLInputElement::setFileListFromRenderer):
3251         * html/HTMLInputElement.h:
3252         (WebCore::HTMLInputElement::readOnly):
3253         (WebCore::HTMLInputElement::isTextFormControl):
3254         * html/HTMLKeygenElement.cpp:
3255         (WebCore::HTMLKeygenElement::formControlType):
3256         * html/HTMLKeygenElement.h:
3257         * html/HTMLLegendElement.cpp:
3258         (WebCore::HTMLLegendElement::formControlType):
3259         * html/HTMLLegendElement.h:
3260         * html/HTMLOptGroupElement.cpp:
3261         (WebCore::HTMLOptGroupElement::formControlType):
3262         * html/HTMLOptGroupElement.h:
3263         * html/HTMLOptionElement.cpp:
3264         (WebCore::HTMLOptionElement::formControlType):
3265         * html/HTMLOptionElement.h:
3266         * html/HTMLSelectElement.cpp:
3267         (WebCore::HTMLSelectElement::formControlType):
3268         (WebCore::HTMLSelectElement::saveFormControlState):
3269         (WebCore::HTMLSelectElement::restoreFormControlState):
3270         * html/HTMLSelectElement.h:
3271         * html/HTMLTextAreaElement.cpp:
3272         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
3273         (WebCore::HTMLTextAreaElement::formControlType):
3274         (WebCore::HTMLTextAreaElement::saveFormControlState):
3275         (WebCore::HTMLTextAreaElement::restoreFormControlState):
3276         (WebCore::HTMLTextAreaElement::updateValue):
3277         (WebCore::HTMLTextAreaElement::setValue):
3278         * html/HTMLTextAreaElement.h:
3279         (WebCore::HTMLTextAreaElement::readOnly):
3280         (WebCore::HTMLTextAreaElement::isTextFormControl):
3281         * page/AccessibilityRenderObject.cpp:
3282         (WebCore::AccessibilityRenderObject::isEnabled):
3283         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
3284         * page/DragController.cpp:
3285         (WebCore::DragController::concludeEditDrag):
3286         * rendering/RenderMenuList.cpp:
3287         (WebCore::RenderMenuList::itemIsEnabled):
3288         * rendering/RenderTextControl.cpp:
3289         (WebCore::updateUserModifyProperty):
3290         (WebCore::RenderTextControl::setInnerTextValue):
3291         * rendering/RenderTextControl.h:
3292         * rendering/RenderTextControlMultiLine.cpp:
3293         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
3294         * rendering/RenderTextControlSingleLine.cpp:
3295         (WebCore::RenderTextControlSingleLine::updateFromElement):
3296         * rendering/RenderTheme.cpp:
3297         (WebCore::RenderTheme::isEnabled):
3298         (WebCore::RenderTheme::isReadOnlyControl):
3299         * rendering/RenderThemeChromiumMac.mm:
3300         (WebCore::RenderThemeChromiumMac::adjustMenuListStyle):
3301         * rendering/RenderThemeMac.mm:
3302         (WebCore::RenderThemeMac::adjustMenuListStyle):
3303         * rendering/RenderThemeSafari.cpp:
3304         (WebCore::RenderThemeSafari::adjustMenuListStyle):
3305         * wml/WMLFormControlElement.cpp:
3306         * wml/WMLFormControlElement.h:
3307         (WebCore::WMLFormControlElement::isReadOnlyFormControl):
3308         (WebCore::WMLFormControlElement::isTextFormControl):
3309         (WebCore::WMLFormControlElement::formControlValueMatchesRenderer):
3310         (WebCore::WMLFormControlElement::setFormControlValueMatchesRenderer):
3311         * wml/WMLInputElement.cpp:
3312         (WebCore::WMLInputElement::WMLInputElement):
3313         (WebCore::WMLInputElement::isKeyboardFocusable):
3314         (WebCore::WMLInputElement::isMouseFocusable):
3315         (WebCore::WMLInputElement::dispatchBlurEvent):
3316         (WebCore::WMLInputElement::formControlType):
3317         (WebCore::WMLInputElement::formControlName):
3318         (WebCore::WMLInputElement::setValue):
3319         (WebCore::WMLInputElement::saveFormControlState):
3320         (WebCore::WMLInputElement::restoreFormControlState):
3321         (WebCore::WMLInputElement::parseMappedAttribute):
3322         (WebCore::WMLInputElement::detach):
3323         (WebCore::WMLInputElement::appendFormData):
3324         (WebCore::WMLInputElement::init):
3325         * wml/WMLInputElement.h:
3326         (WebCore::WMLInputElement::isTextFormControl):
3327         * wml/WMLOptGroupElement.cpp:
3328         (WebCore::WMLOptGroupElement::formControlType):
3329         * wml/WMLOptGroupElement.h:
3330         * wml/WMLOptionElement.cpp:
3331         (WebCore::WMLOptionElement::formControlType):
3332         * wml/WMLOptionElement.h:
3333
3334 2009-05-07  Dmitry Titov  <dimich@chromium.org>
3335
3336         Reviewed by Alexey Proskuryakov and Adam Roben.
3337
3338         https://bugs.webkit.org/show_bug.cgi?id=25348
3339         Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
3340
3341         Most of the change is in WTF.
3342         Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
3343         method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
3344         is now a class rather then an integer.
3345         Also, there is no need to initialize threadID in constructors to 0 now.
3346
3347         * dom/XMLTokenizerLibxml2.cpp:
3348         (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
3349         since now ThreadIdentifier needs construction and we avoid having global initializers.
3350         (WebCore::matchFunc): use the new accessor function.
3351         (WebCore::openFunc): ditto.
3352         (WebCore::createStringParser): ditto.
3353         (WebCore::createMemoryParser): ditto.
3354         * loader/icon/IconDatabase.cpp:
3355         (WebCore::IconDatabase::open):
3356         * platform/sql/SQLiteDatabase.cpp:
3357         (WebCore::SQLiteDatabase::SQLiteDatabase):
3358         (WebCore::SQLiteDatabase::close):
3359         * storage/DatabaseThread.cpp:
3360         (WebCore::DatabaseThread::start):
3361         (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
3362         * storage/LocalStorageThread.cpp:
3363         (WebCore::LocalStorageThread::start):
3364         (WebCore::LocalStorageThread::scheduleImport):
3365         (WebCore::LocalStorageThread::scheduleSync):
3366         (WebCore::LocalStorageThread::terminate):
3367         * workers/WorkerThread.cpp:
3368         (WebCore::WorkerThread::start):
3369         (WebCore::WorkerThread::WorkerThread):
3370         (WebCore::WorkerThread::start):
3371
3372 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
3373
3374         Rubber Stamped by Dave Hyatt
3375         
3376         Shuffle the data members to minimize padding.
3377
3378         * dom/ClassNames.h:
3379
3380 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
3381
3382         Reviewed by Darin Adler
3383
3384         <rdar://problem/6864062> Shrink GlyphPage from 4112 to 2576 bytes in 64-bit
3385         https://bugs.webkit.org/show_bug.cgi?id=25605
3386
3387         Shrink GlyphPage by splitting the array of GlyphData, which has lots
3388         of padding, into separate Glyph and SimpleFontData* arrays.
3389
3390         * platform/graphics/Font.h:
3391         glyphDataForCharacter has to return a GlyphData by value now.
3392         
3393         * platform/graphics/FontFastPath.cpp:
3394         (WebCore::Font::glyphDataForCharacter):
3395         Return GlyphData by value.
3396         
3397         * platform/graphics/GlyphPageTreeNode.cpp:
3398         (WebCore::GlyphPageTreeNode::initializePage):
3399         Better encapsulation of GlyphPage, using the new methods.
3400
3401         * platform/graphics/Font.h:
3402         * platform/graphics/FontFastPath.cpp:
3403         (WebCore::Font::glyphDataForCharacter):
3404         * platform/graphics/GlyphPageTreeNode.cpp:
3405         (WebCore::GlyphPageTreeNode::initializePage):
3406         * platform/graphics/GlyphPageTreeNode.h:
3407         (WebCore::GlyphData::GlyphData):
3408         (WebCore::GlyphPage::indexForCharacter):
3409         (WebCore::GlyphPage::glyphDataForCharacter):
3410         (WebCore::GlyphPage::glyphDataForIndex):
3411         (WebCore::GlyphPage::glyphAt):
3412         (WebCore::GlyphPage::fontDataForCharacter):
3413         (WebCore::GlyphPage::setGlyphDataForCharacter):
3414         (WebCore::GlyphPage::setGlyphDataForIndex):
3415         (WebCore::GlyphPage::copyFrom):
3416         (WebCore::GlyphPage::clear):
3417
3418 2009-05-07  Dimitri Glazkov  <dglazkov@chromium.org>
3419
3420         Reviewed by Darin Fisher.
3421
3422         https://bugs.webkit.org/show_bug.cgi?id=25625
3423         Implement Image/Option constructors in V8 bindings.
3424
3425         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3426         (WebCore::NAMED_PROPERTY_GETTER): Removed old JS-based code.
3427         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Added.
3428         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Added.
3429
3430 2009-05-07  Brady Eidson  <beidson@apple.com>
3431
3432         I hate myself for doing this, but need to fix that ChangeLog entry.
3433
3434         * ChangeLog:
3435
3436 2009-05-07  Brady Eidson  <beidson@apple.com>
3437
3438         Rubberstamped by Darin Adler
3439
3440         * html/HTMLParser.cpp: Use the correct style of BUILDING_ON_* for WebCore.
3441         * html/HTMLParser.h: Ditto
3442
3443 2009-05-07  David Hyatt  <hyatt@apple.com>
3444
3445         Restore intrinsic margins to all form controls on Mac and Windows.  Some of this regressed in 43007
3446         when textareas were given explicit margins.  Some of it had already regressed earlier whenever intrinsic
3447         margins were turned off in themeWin.css.
3448
3449         Reviewed by Beth Dakin.
3450
3451         * css/html4.css:
3452         * css/themeWin.css:
3453
3454 2009-05-07  Brady Eidson  <beidson@apple.com>
3455
3456         Reviewed by Darin Adler and Alexey Proskuryakov.
3457
3458         <rdar://problem/6863795> Exception occurs in Mail when attempting to create signatures due to <head> element creation
3459
3460         * dom/Document.cpp:
3461         (WebCore::Document::implicitClose): Check shouldCreateImplicitHead() before creating it.
3462
3463         * html/HTMLParser.cpp:
3464         (WebCore::HTMLParser::handleError): Check shouldCreateImplicitHead() before creating it.
3465         (WebCore::HTMLParser::bodyCreateErrorCheck): Ditto.
3466         (WebCore::shouldCreateImplicitHead): For Tiger/Leopard when running under Mail, the implicit <head> shouldn't be created.
3467         * html/HTMLParser.h:
3468         (WebCore::shouldCreateImplicitHead): Inline implementation for non-Tiger/Leopard platforms
3469
3470 2009-05-07  Antony Sargent  <asargent@chromium.org>
3471
3472         Reviewed by Darin Fisher.
3473
3474         Fix a memory leak in V8EventListenerList::remove.
3475
3476         https://bugs.webkit.org/show_bug.cgi?id=25618
3477
3478         No new functionality so no new tests. 
3479
3480         * bindings/v8/V8EventListenerList.cpp:
3481         (WebCore::V8EventListenerList::remove):
3482
3483 2009-05-07  Darin Fisher  <darin@chromium.org>
3484
3485         Fix Chromium build bustage.
3486
3487         * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Add missing
3488         HTMLCollection.h include.
3489
3490 2009-05-07  Chris Fleizach  <cfleizach@apple.com>
3491
3492         Reviewed by Beth Dakin.
3493
3494         Bug 25598: AX: if a radio button has a label and a title, the label is not exposed
3495         https://bugs.webkit.org/show_bug.cgi?id=25598
3496
3497         Test: accessibility/radio-button-title-label.html
3498
3499         * page/AccessibilityObject.h:
3500         (WebCore::AccessibilityObject::exposesTitleUIElement):
3501         * page/AccessibilityRenderObject.cpp:
3502         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
3503         (WebCore::AccessibilityRenderObject::titleUIElement):
3504         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3505         * page/AccessibilityRenderObject.h:
3506
3507 2009-05-07  Darin Fisher  <darin@chromium.org>
3508
3509         Fix Chromium build bustage.
3510
3511         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3512         (WebCore::INDEXED_PROPERTY_GETTER): ":" should be "::"
3513
3514 2009-05-07  Xan Lopez  <xlopez@igalia.com>
3515
3516         Reviewed by Gustavo Noronha.
3517
3518         https://bugs.webkit.org/show_bug.cgi?id=25610
3519         [GTK] text.caretOffset is reportedly always 0
3520
3521         Use the right function to get the caret offset in an
3522         element. selectionStart() would only work for text
3523         controls (there's even an ASSERT when calculating the selected
3524         text range). Instead just get the selection and get the offset of
3525         the start position.
3526
3527         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
3528
3529 2009-05-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3530
3531         Reviewed by Simon Hausmann.
3532
3533         [Qt] Fix support for antialiased CSS border-radius
3534         
3535         WebKit implements border-radius by drawing a double-size border,
3536         and then letting the clip constrain the border to the right width
3537         and position. This requires support for antialiased clipping, as
3538         well as painting, to get a nice smooth border.
3539         
3540         Qt only does antialiased clipping if the anti-alias flag is set
3541         at the time of clipping, so we have to enable this in the method
3542         addInnerRoundedRectClip(), as well as when we draw the border.
3543         
3544         Currently the raster-engine is the only Qt paint engine to support
3545         anti-aliased clipping, but the OpenGL and Mac paint engines could
3546         potentially support this in the future.
3547
3548         * platform/graphics/qt/GraphicsContextQt.cpp:
3549         (WebCore::GraphicsContext::strokeArc):
3550         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3551
3552 2009-05-07  Adam Langley  <agl@google.com>
3553
3554         Reviewed by Eric Seidel.
3555
3556         Render empty optgroup elements.
3557
3558         https://bugs.webkit.org/show_bug.cgi?id=24900
3559
3560         Currently, optgroup elements which are empty are not rendered. The
3561         HTML specification gives no guidance on this situation.
3562
3563         However, the test for being empty is that they have no children, thus
3564         this will not render:
3565           <optgroup label="test"></optgroup>
3566         while this /will/ render (because of the text node child):
3567           <optgroup label="test"> </optgroup>
3568
3569         This patch will cause both cases to render which matches IE's and
3570         Firefox's behaviour.
3571
3572         The difference only appears when opening the select element and does
3573         not appear in the render tree. Thus, a manual layout-test is required.
3574
3575         * html/HTMLSelectElement.cpp:
3576         (WebCore::HTMLSelectElement::recalcListItems):
3577         * manual-tests/optgroup-empty-and-nested.html: Added.
3578
3579 2009-05-06  Julie Parent  <jparent@google.com>
3580
3581         Reviewed by Eric Seidel.
3582
3583         Bug 25608: Unused m_frame in ChromiumClipboard.
3584         https://bugs.webkit.org/show_bug.cgi?id=25608
3585
3586         * platform/chromium/ClipboardChromium.h:
3587         
3588         No tests added as this is only removing dead code, no functional changes.
3589
3590 2009-05-06  Dan Bernstein  <mitz@apple.com>
3591
3592         Reviewed by Simon Fraser and Justin Garcia.
3593
3594         - fix another part of <rdar://problem/6703873> Triple-click quoted line
3595           and type Return creates an extra quoted blank line
3596
3597         Test: editing/inserting/6703873-2.html
3598
3599         * editing/BreakBlockquoteCommand.cpp:
3600         (WebCore::BreakBlockquoteCommand::doApply): Corrected the logic for
3601         determining the first node that should go into the new blockquote
3602         given the split position: if it is at the end of a container, use the
3603         next node after the container. Otherwise, use the