bf59b0a01c9524772c53e603f8e971f053eac856
[WebKit-https.git] / WebCore / ChangeLog
1 2009-12-21  Anders Carlsson  <andersca@apple.com>
2
3         Reviewed by Sam Weinig.
4
5         Make sure that we check for the right thread.
6
7         * platform/mac/WebCoreObjCExtras.mm:
8         (WebCoreObjCScheduleDeallocateOnMainThread):
9
10 2009-12-21  Enrica Casucci  <enrica@apple.com>
11
12         Reviewed by Maciej Stachowiak.
13
14         REGRESSION(4.0.4-ToT): Indent deletes non highlighted text in gmail.
15         <rdar://problem/7489326>
16         https://bugs.webkit.org/show_bug.cgi?id=32843
17         
18         The fix for 7442387 did not handle the case where the end of paragraph
19         is not a descendant of the computed outer block.
20         Updated editing/execCommand/indent-with-style2.html to cover this case too.
21
22         * editing/CompositeEditCommand.cpp:
23         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): 
24
25 2009-12-21  Gavin Barraclough  <barraclough@apple.com>
26
27         Reviewed by Darin Adler.
28
29         https://bugs.webkit.org/show_bug.cgi?id=32831
30         Replace UString::Rep implementation, following introduction of ropes to JSC.
31
32         * ForwardingHeaders/runtime/UStringImpl.h: Added.
33             - add forwarding header.
34
35         * platform/text/StringImpl.cpp:
36         (WebCore::StringImpl::ustring):
37             - order of arguments to UString::Rep constructor for shared strings changed.
38
39 2009-12-18  Nate Chapin  <japhet@chromium.org>
40
41         Reviewed by Adam barth.
42
43         Generate V8 bindings non-constructor callback declarations 
44         in CodeGeneratorV8.pm instead of manually declaring them in
45         V8CustomBinding.h.
46
47         https://bugs.webkit.org/show_bug.cgi?id=32638
48
49         * bindings/scripts/CodeGeneratorV8.pm:
50         * bindings/v8/V8DOMWrapper.cpp:
51         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
52         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
53         * bindings/v8/custom/V8ClipboardCustom.cpp:
54         * bindings/v8/custom/V8ConsoleCustom.cpp:
55         * bindings/v8/custom/V8CustomBinding.h:
56         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
57         * bindings/v8/custom/V8DOMParserConstructor.cpp:
58         * bindings/v8/custom/V8DOMWindowCustom.cpp:
59         * bindings/v8/custom/V8DatabaseCustom.cpp:
60         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
61         * bindings/v8/custom/V8DocumentCustom.cpp:
62         * bindings/v8/custom/V8GeolocationCustom.cpp:
63         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
64         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
65         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
66         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
67         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
68         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
69         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
70         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
71         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
72         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
73         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
74         * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Added.
75         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
76         * bindings/v8/custom/V8HistoryCustom.cpp:
77         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
78         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
79         * bindings/v8/custom/V8LocationCustom.cpp:
80         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
81         * bindings/v8/custom/V8MessageEventCustom.cpp:
82         * bindings/v8/custom/V8MessagePortCustom.cpp:
83         * bindings/v8/custom/V8NodeCustom.cpp:
84         * bindings/v8/custom/V8NodeFilterCustom.cpp:
85         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
86         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
87         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
88         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
89         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
90         * bindings/v8/custom/V8SVGLengthCustom.cpp:
91         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
92         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
93         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
94         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
95         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
96         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
97         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
98         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
99         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
100         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
101         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
102         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
103         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
104         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
105         * bindings/v8/custom/V8WebSocketCustom.cpp:
106         * bindings/v8/custom/V8WorkerContextCustom.cpp:
107         * bindings/v8/custom/V8WorkerCustom.cpp:
108         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
109         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
110         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
111         * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
112         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
113         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
114
115 2009-12-21  Nate Chapin  <japhet@chromium.org>
116
117         Rubber-stamped by Darin Adler.
118
119         Revert r52446 due to crashiness.
120
121         https://bugs.webkit.org/show_bug.cgi?id=32839
122
123         * loader/DocumentThreadableLoader.cpp:
124         (WebCore::DocumentThreadableLoader::loadRequest):
125         * loader/FrameLoader.cpp:
126         (WebCore::FrameLoader::FrameLoader):
127         (WebCore::FrameLoader::stopLoading):
128         (WebCore::FrameLoader::loadURL):
129         (WebCore::FrameLoader::loadWithDocumentLoader):
130         (WebCore::FrameLoader::stopAllLoaders):
131         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
132         (WebCore::FrameLoader::pageHidden):
133         * loader/FrameLoader.h:
134         (WebCore::FrameLoader::suppressOpenerInNewFrame):
135         * loader/Request.cpp:
136         (WebCore::Request::Request):
137         (WebCore::Request::~Request):
138         * loader/Request.h:
139         * loader/SubresourceLoader.cpp:
140         (WebCore::SubresourceLoader::create):
141         * loader/SubresourceLoader.h:
142         * loader/loader.cpp:
143         (WebCore::Loader::load):
144         (WebCore::Loader::cancelRequests):
145         (WebCore::Loader::Host::servePendingRequests):
146         (WebCore::Loader::Host::cancelPendingRequests):
147         (WebCore::Loader::Host::cancelRequests):
148
149 2009-12-19  Kent Tamura  <tkent@chromium.org>
150
151         Reviewed by Adam Barth.
152
153         Add support for V8 Date binding.
154         https://bugs.webkit.org/show_bug.cgi?id=32699
155
156         This implements the same behavior as the recent change of
157         CodeGeneratorJS.pm and JSDOMBinding.cpp.
158
159         * bindings/scripts/CodeGeneratorV8.pm:
160           Produce toWebCoreDate() or v8DateOrNull() for Date type.
161         * bindings/v8/V8Binding.cpp:
162         (WebCore::toWebCoreDate):
163           Converts a JavaScript object to a double representing Date.
164         (WebCore::v8DateOrNull):
165           Converts a double representing Date to a JavaScript Date object or null.
166         * bindings/v8/V8Binding.h: Declare toWebCoreDate() and v8DateOrNull().
167         * html/HTMLInputElement.idl: Delete V8_BINGIN exclusion for valueAsDate.
168
169 2009-12-21  Darin Adler  <darin@apple.com>
170
171         Reviewed by Mark Rowe.
172
173         Renamed m_sel to m_selection. Used do-webcore-rename.
174
175         * editing/SelectionController.cpp:
176         (WebCore::SelectionController::setSelection):
177         (WebCore::SelectionController::nodeWillBeRemoved):
178         (WebCore::SelectionController::willBeModified):
179         (WebCore::SelectionController::directionOfEnclosingBlock):
180         (WebCore::SelectionController::modifyExtendingRight):
181         (WebCore::SelectionController::modifyExtendingForward):
182         (WebCore::SelectionController::modifyMovingRight):
183         (WebCore::SelectionController::modifyMovingForward):
184         (WebCore::SelectionController::modifyExtendingLeft):
185         (WebCore::SelectionController::modifyExtendingBackward):
186         (WebCore::SelectionController::modifyMovingLeft):
187         (WebCore::SelectionController::modifyMovingBackward):
188         (WebCore::SelectionController::modify):
189         (WebCore::SelectionController::expandUsingGranularity):
190         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
191         (WebCore::SelectionController::setBase):
192         (WebCore::SelectionController::setExtent):
193         (WebCore::SelectionController::layout):
194         (WebCore::SelectionController::caretRenderer):
195         (WebCore::SelectionController::invalidateCaretRect):
196         (WebCore::SelectionController::paintCaret):
197         (WebCore::SelectionController::debugRenderer):
198         (WebCore::SelectionController::contains):
199         (WebCore::SelectionController::selectAll):
200         (WebCore::SelectionController::formatForDebugger):
201         (WebCore::SelectionController::showTreeForThis):
202         * editing/SelectionController.h:
203         * editing/gtk/SelectionControllerGtk.cpp:
204         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
205         * editing/mac/SelectionControllerMac.mm:
206         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
207         Let the script do its thing. Made sure no tests broke.
208
209 2009-12-21  Carol Szabo  <carol.szabo@nokia.com>
210
211         Reviewed by Darin Adler.
212
213         Inconsistent use of counterName and identifier in CSS counter code and loss of information about the counter type.
214         https://bugs.webkit.org/show_bug.cgi?id=31814
215
216         No new tests because there are no functional changes in this patch.
217
218         * rendering/CounterNode.cpp:
219         (WebCore::CounterNode::CounterNode):
220         (WebCore::CounterNode::computeCountInParent):
221         (WebCore::showTreeAndMark):
222         * rendering/RenderCounter.cpp:
223         (WebCore::planCounter):
224         (WebCore::findPlaceForCounter):
225         (WebCore::makeCounterNode):
226         (WebCore::RenderCounter::originalText):
227         Changed to use identifier instead of counterName and actsAsReset or hasResetType, as appropriate instead of isReset.
228         * rendering/CounterNode.h:
229         (WebCore::CounterNode::actsAsReset):
230         (WebCore::CounterNode::hasResetType):
231
232 2009-12-21  Dirk Schulze  <krit@webkit.org>
233
234         Reviewed by Darin Adler and Nikolas Zimmermann.
235
236         Speed-up SVG Masking
237         https://bugs.webkit.org/show_bug.cgi?id=32738
238
239         This patch makes SVG Masking faster. The luminance calculaton of the ImageBuffer,
240         that is created by pixel manipulation, got optimized. The ImageBuffer and it's
241         luminance is created once now, not on every call of applyMask.
242         The size of the intermediate ImageBuffer depends on the visible area now and is
243         clipped by the mask rect.
244         
245         The patch doesn't change functionality so no new tests needed.
246         The new ImageBuffer handling in Mask causes two updates of test results. The pixel
247         tests and LayoutTests pass, but the checksum doesn't match.
248
249         * svg/SVGMaskElement.cpp:
250         (WebCore::SVGMaskElement::drawMaskerContent):
251         * svg/graphics/SVGResourceMasker.cpp:
252         (WebCore::SVGResourceMasker::applyMask):
253
254 2009-12-21  Andreas Kling  <andreas.kling@nokia.com>
255
256         Reviewed by Darin Adler.
257
258         Fix assertion failure when dragging an SVG image.
259         https://bugs.webkit.org/show_bug.cgi?id=32511
260
261         Test: fast/images/drag-svg-as-image.html
262
263         * svg/graphics/SVGImage.cpp:
264         (WebCore::SVGImage::filenameExtension): Return "svg"
265         * svg/graphics/SVGImage.h:
266
267 2009-12-17  Philippe Normand  <pnormand@igalia.com>
268
269         Reviewed by Xan Lopez.
270
271         [GTK] G_OBJECT() cast is not necessary for signals connection and properties access
272         https://bugs.webkit.org/show_bug.cgi?id=32661
273
274         Removed useless calls to the G_OBJECT() macro and replaced NULL
275         occurences with a SENTINEL macro.
276
277         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
278         (WebCore::MediaPlayerPrivate::hasVideo):
279         (WebCore::MediaPlayerPrivate::hasAudio):
280         (WebCore::MediaPlayerPrivate::setVolume):
281         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
282
283 2009-12-21  Nate Chapin  <japhet@chromium.org>
284
285         Reviewed by Darin Adler.
286
287         If an image load is started during an unload or beforeunload event, run it
288         asynchronously (and allow it to outlive its page) so navigation can continue 
289         while the load completes.
290
291         https://bugs.webkit.org/show_bug.cgi?id=30457
292
293         Tests: http/tests/navigation/image-load-in-beforeunload-handler.html
294                http/tests/navigation/image-load-in-unload-handler.html
295
296         * loader/DocumentThreadableLoader.cpp:
297         (WebCore::DocumentThreadableLoader::loadRequest): 
298         * loader/FrameLoader.cpp: Rename m_unloadEventBeingDispatched to m_isDispatchingUnloadEvent.
299         (WebCore::FrameLoader::FrameLoader):
300         (WebCore::FrameLoader::stopLoading):
301         (WebCore::FrameLoader::loadURL):
302         (WebCore::FrameLoader::loadWithDocumentLoader):
303         (WebCore::FrameLoader::stopAllLoaders):
304         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Set m_isDispatchingBeforeUnloadEvent.
305         (WebCore::FrameLoader::pageHidden):
306         * loader/FrameLoader.h:
307         (WebCore::FrameLoader::isDispatchingUnloadFamilyEvent): Added.
308         * loader/Request.cpp:
309         (WebCore::Request::Request): Add OutlivePagePolicy to constructor parameters
310         * loader/Request.h:
311         (WebCore::): Add OutlivePagePolicy enum.
312         (WebCore::Request::shouldOutlivePage): Added.
313         (WebCore::Request::frame): Added.
314         * loader/SubresourceLoader.cpp:
315         (WebCore::SubresourceLoader::create): Change one of the security checks to an outlive page check.
316         * loader/SubresourceLoader.h:
317         * loader/loader.cpp:
318         (WebCore::Loader::load): Add OutlivePagePolicy to Request constructor call,
319              ensure requests that should outlive page are done asynchronously.
320         (WebCore::Loader::cancelRequests): Remove ending ASSERT since it will now be hard to predict how
321              many requests might possibly outlive a cancel in every case.
322         (WebCore::Loader::Host::servePendingRequests): Use the correct frame in the case of a request outliving its page.
323         (WebCore::Loader::Host::cancelPendingRequests): Ensure we don't cancel request that should outlive their page.
324         (WebCore::Loader::Host::cancelRequests): Ensure we don't cancel request that should outlive their page.
325
326 2009-12-18  Adam Roben  <aroben@apple.com>
327
328         Fix Windows build warnings
329
330         * WebCore.vcproj/WebCore.vcproj: Exclude SVG files from the build that
331         are compiled via SVGAllInOne.cpp.
332
333 2009-12-20  Pavel Feldman  <pfeldman@chromium.org>
334
335         Reviewed by Timothy Hatcher.
336
337         Web Inspector: Can’t copy outer html of selected node.
338         Also adds "Copy as HTML" context menu item.
339
340         https://bugs.webkit.org/show_bug.cgi?id=32802
341
342         * English.lproj/localizedStrings.js:
343         * inspector/front-end/ElementsTreeOutline.js:
344         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
345         * inspector/front-end/inspector.js:
346         (WebInspector.documentCanCopy):
347
348 2009-12-20  Pavel Feldman  <pfeldman@chromium.org>
349
350         Reviewed by Eric Seidel.
351
352         Web Inspector: extract syntax highlighters into separate files.
353
354         https://bugs.webkit.org/show_bug.cgi?id=32803
355
356         * WebCore.gypi:
357         * WebCore.vcproj/WebCore.vcproj:
358         * inspector/front-end/CSSSourceSyntaxHighlighter.js: Added.
359         (WebInspector.CSSSourceSyntaxHighlighter):
360         * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: Added.
361         (WebInspector.JavaScriptSourceSyntaxHighlighter):
362         (WebInspector.JavaScriptSourceSyntaxHighlighter.):
363         * inspector/front-end/SourceFrame.js:
364         * inspector/front-end/SourceSyntaxHighlighter.js: Added.
365         (WebInspector.SourceSyntaxHighlighter):
366         (WebInspector.SourceSyntaxHighlighter.prototype.createSpan):
367         (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk):
368         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine):
369         (WebInspector.SourceSyntaxHighlighter.prototype.process):
370         (WebInspector.SourceSyntaxHighlighter.prototype.lex):
371         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
372         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
373         * inspector/front-end/WebKit.qrc:
374         * inspector/front-end/inspector.html:
375
376 2009-12-18  Julien Chaffraix  <jchaffraix@pleyo.com>
377
378         Reviewed by Darin Adler.
379
380         defersLoading is disabled in current libcURL.
381         https://bugs.webkit.org/show_bug.cgi?id=32707
382
383         Basically this change reverts r49577 that was totally wrong.
384         According to curlver.h, LIBCURL_VERSION_NUM is a
385         "6-digit (24 bits) hexadecimal number".
386
387         The check should be against 0x071200 (7.18) as it was originally the case.
388
389        * platform/network/curl/ResourceHandleManager.cpp:
390         (WebCore::ResourceHandleManager::initializeHandle): Use the right check.
391         * platform/network/curl/ResourceHandleCurl.cpp:
392         (WebCore::ResourceHandle::setDefersLoading): Ditto. Also removed a print
393         to use a LOG_ERROR instead.
394  
395 2009-12-20  Kent Tamura  <tkent@chromium.org>
396
397         Reviewed by Darin Adler.
398
399         Add support for JavaScriptCore Date binding.
400         https://bugs.webkit.org/show_bug.cgi?id=32698
401
402         This is needed for HTMLInputElement::valueAsDate and
403         HTMLTimeElement::valueAsDate.
404
405         A Date instance is mapped to a double value in C++.
406         - If null or undefined is set to a JavaScript property, C++ setter
407           function receives NaN.
408         - If a getter C++ function returns NaN or infinity, a JavaScript
409           property returns null.
410
411         Test: fast/forms/input-valueasdate.html
412
413         * bindings/js/JSDOMBinding.cpp:
414         (WebCore::jsDateOrNull): Implement the above.
415         (WebCore::valueToDate): ditto.
416         * bindings/js/JSDOMBinding.h: Declare them.
417         * bindings/scripts/CodeGeneratorJS.pm: Produce jsDateOrNull() or
418           valueToDate() for Date type.
419         * html/HTMLInputElement.cpp:
420         (WebCore::HTMLInputElement::valueAsDate): Temporal implementation.
421         (WebCore::HTMLInputElement::setValueAsDate): ditto.
422         * html/HTMLInputElement.h:
423         * html/HTMLInputElement.idl: Declare valueAsDate.
424
425 2009-12-20  Kent Tamura  <tkent@chromium.org>
426
427         Reviewed by Darin Adler.
428
429         Introduce the followings:
430           - ::-webkit-inner-spin-button pseudo CSS selector
431           - ::-webkit-outer-spin-button pseudo CSS selector
432           - new appearance type: inner-spin-button
433           - new appearance type: outer-spin-button
434         They're going to be used for <input type=number> UI.
435         https://bugs.webkit.org/show_bug.cgi?id=31821
436
437         Inner-spin-button will be used for Windows, and outer-spin-button
438         will be used for Mac. A spin-button will represent a pair of an
439         increasing button part and a decreasing button part. SpinUpState,
440         which is defined in ThemeTypes.h, will be used to distinguish
441         these two parts.
442
443         The outer-spin-button implementation will use NSStepperCell.
444         NSStepperCell represents the pair of the parts and we can't draw them
445         independently. So a spin-button also represents the pair of the parts.
446
447         This change has no tests.  The following changes with tests will cover.
448
449         * css/CSSPrimitiveValueMappings.h:
450         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
451         * css/CSSSelector.cpp:
452         (WebCore::CSSSelector::extractPseudoType):
453         * css/CSSSelector.h:
454         (WebCore::CSSSelector::):
455         * css/CSSStyleSelector.cpp:
456         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
457         * css/CSSValueKeywords.in:
458         * css/html.css:
459         * platform/ThemeTypes.h:
460         (WebCore::ControlState): Add SpinUpState.
461         (WebCore::ControlPart): Add InnerSpinButtonPart and OuterSpinButtonPart.
462         * rendering/RenderTheme.cpp:
463         (WebCore::RenderTheme::adjustStyle):
464         (WebCore::RenderTheme::paint):
465         (WebCore::RenderTheme::adjustInnerSpinButtonStyle): Add an empty implementation.
466         (WebCore::RenderTheme::adjustOuterSpinButtonStyle): Add an empty implementation.
467         * rendering/RenderTheme.h:
468         (WebCore::RenderTheme::paintInnerSpinButton): Add an empty implementation.
469         (WebCore::RenderTheme::paintOuterSpinButton): Add an empty implementation.
470         * rendering/style/RenderStyleConstants.h:
471         (WebCore::PseudoId): Add INNER_SPIN_BUTTON and OUTER_SPIN_BUTTON.
472
473 2009-12-20  Nayan Kumar K  <nayankk@gmail.com>
474
475         Reviewed by Darin Adler.
476
477         Fix for compilation errors in WML module, due to the changeset #52314.
478         https://bugs.webkit.org/show_bug.cgi?id=32786
479
480         No new tests, this is compilation error fix.
481
482         * wml/WMLDocument.cpp:
483         * wml/WMLPageState.cpp:
484         * wml/WMLPageState.h:
485
486 2009-12-20  Dan Bernstein  <mitz@apple.com>
487
488         Reviewed by Mark Rowe.
489
490         <rdar://problem/7487689> REGRESSION (r52203): Inspector console uses
491         Monaco on Snow Leopard
492         https://bugs.webkit.org/show_bug.cgi?id=32775
493
494         * inspector/front-end/inspector.css: Use the default monospace family
495         and size.
496
497 2009-12-20  Martin Robinson  <martin.james.robinson@gmail.com>
498
499         Reviewed by Xan Lopez.
500
501         [GTK] Remove more GTK+ and GLib headers from WebCore
502         https://bugs.webkit.org/show_bug.cgi?id=32795
503
504         Remove most GTK+ and GLib includes from WebCore headers.
505
506         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
507         * platform/gtk/PasteboardHelper.h:
508         * platform/gtk/RenderThemeGtk.cpp:
509         * platform/gtk/RenderThemeGtk.h:
510         * platform/gtk/ScrollbarGtk.cpp:
511         * platform/gtk/ScrollbarThemeGtk.h:
512         * platform/gtk/gtk2drawing.c:
513         * platform/gtk/gtkdrawing.h:
514
515 2009-12-20  Kevin Ollivier  <kevino@theolliviers.com>
516
517         [wx] build fixes after recent changes.
518
519         * bindings/BindingSecurityBase.cpp: Removed V8 header in common code.
520         * platform/wx/ContextMenuWx.cpp: Added missing header.
521         * plugins/mac/PluginViewMac.cpp: Added missing header.
522
523 2009-12-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
524
525         Reviewed by Xan Lopez.
526
527         Hopefully fix the assertion we are hitting by not forcing updating
528         the state of scrollbars when setting the adjustments. This was
529         leading to a premature layout.
530
531         fast/dom/open-and-close-by-DOM.html
532         fast/dom/Window/closure-access-after-navigation-window.html
533         fast/harness/use-page-cache.html
534
535         * platform/gtk/ScrollViewGtk.cpp:
536         (WebCore::ScrollView::setGtkAdjustments):
537
538 2009-12-20  Pavel Feldman  <pfeldman@chromium.org>
539
540         Reviewed by Darin Adler.
541
542         Web Inspector: Constrain the number of messages the inspector shows.
543
544         https://bugs.webkit.org/show_bug.cgi?id=20919
545
546         * English.lproj/localizedStrings.js:
547         * inspector/InspectorController.cpp:
548         (WebCore::InspectorController::InspectorController):
549         (WebCore::InspectorController::addConsoleMessage):
550         (WebCore::InspectorController::clearConsoleMessages):
551         (WebCore::InspectorController::populateScriptObjects):
552         * inspector/InspectorController.h:
553         * inspector/InspectorFrontend.cpp:
554         (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount):
555         * inspector/InspectorFrontend.h:
556         * inspector/front-end/inspector.js:
557         (WebInspector.updateConsoleMessageExpiredCount):
558
559 2009-12-20  Andrei Popescu  <andreip@google.com>
560
561         Reviewed by Adam Barth.
562
563         [Android] Android needs implementation of setCookies, cookies and cookiesEnabled functions.
564         https://bugs.webkit.org/show_bug.cgi?id=32559
565
566         Add implementation of the cookie functions.
567         Fix a crash caused by dereferencing a 0 MainResourceLoader pointer
568         in ResourceHandle::start().
569
570         No new tests, this is platform code.
571
572         * platform/android/PlatformBridge.h:
573         * platform/network/android/AuthenticationChallenge.h: Added.
574         * platform/network/android/CookieJarAndroid.cpp: Added.
575         (WebCore::setCookies):
576         (WebCore::cookies):
577         (WebCore::cookiesEnabled):
578         * platform/network/android/ResourceHandleAndroid.cpp:
579         (WebCore::ResourceHandle::start):
580
581 2009-12-19  Eric Seidel  <eric@webkit.org>
582
583         No review, rolling out r52395.
584         http://trac.webkit.org/changeset/52395
585
586         * svg/SVGMaskElement.cpp:
587         (WebCore::SVGMaskElement::drawMaskerContent):
588         * svg/SVGMaskElement.h:
589         * svg/graphics/SVGResourceMasker.cpp:
590         (WebCore::SVGResourceMasker::applyMask):
591         * svg/graphics/SVGResourceMasker.h:
592
593 2009-12-19  Adam Barth  <abarth@webkit.org>
594
595         No review, rolling out r52399.
596         http://trac.webkit.org/changeset/52399
597
598         * websockets/WebSocket.cpp:
599         (WebCore::WebSocket::connect):
600
601 2009-12-19  Adam Barth  <abarth@webkit.org>
602
603         Reviewed by Eric Seidel.
604
605         Added a missing "not".
606
607         Test: http/tests/security/xss-DENIED-window-open-javascript-url.html
608
609         * bindings/v8/custom/V8DOMWindowCustom.cpp:
610         (WebCore::createWindow):
611
612 2009-12-19  Fumitoshi Ukai  <ukai@chromium.org>
613
614         Reviewed by Alexey Proskuryakov.
615
616         Invalid url should raise SYNTAX_ERR exception.
617         https://bugs.webkit.org/show_bug.cgi?id=32700
618
619         Check url is valid in WebSocket::connect.
620         Also log the detailed reason of websocket failures to console.
621
622         * websockets/WebSocket.cpp:
623         (WebCore::WebSocket::connect):
624
625 2009-12-19  Dan Bernstein  <mitz@apple.com>
626
627         Reviewed by Darin Adler.
628
629         REGRESSION: Up/down arrow keys do not step numeric CSS property values
630         https://bugs.webkit.org/show_bug.cgi?id=32776
631
632         * inspector/front-end/inspector.js:
633         (WebInspector.documentKeyDown): Call the focused element’s
634         handleKeyEvent method.
635
636 2009-12-19  Dirk Schulze  <krit@webkit.org>
637
638         Reviewed by Nikolas Zimmermann.
639
640         Speed-up SVG Masking
641         https://bugs.webkit.org/show_bug.cgi?id=32738
642
643         This patch makes SVG Masking faster. At the moment we create a new ImageBuffer
644         and copy the complete pixel array. That is rather inefficient. This patch
645         uses the mask image directly.
646         It also bounds the direct pixel manipultation to the viewable area to minimize
647         the calculation of the mask.
648
649         No change in functionality. So no new test.
650
651         * svg/SVGMaskElement.cpp:
652         (WebCore::SVGMaskElement::drawMaskerContent):
653         * svg/SVGMaskElement.h:
654         * svg/graphics/SVGResourceMasker.cpp:
655         (WebCore::SVGResourceMasker::applyMask):
656         * svg/graphics/SVGResourceMasker.h:
657
658 2009-12-19  Dirk Schulze  <krit@webkit.org>
659
660         Reviewed by Nikolas Zimmermann.
661
662         Add tests to check filter, mask, clip, opacity and marker ordering
663         https://bugs.webkit.org/show_bug.cgi?id=14010
664
665         The right ordering for applying effects on objects in SVG is filters,
666         clipper/masker and opacity. This patch fixes the order of filter and
667         clipper/masker. Opacity and marker need another test.
668         This change is according to the SVG Specification:
669         http://www.w3.org/TR/SVG11/render.html#Elements
670
671         Test: svg/filters/filter-clip.svg
672
673         * rendering/SVGRenderSupport.cpp:
674         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
675
676 2009-12-19  Evan Martin  <evan@chromium.org>
677
678         Reviewed by Gustavo Noronha Silva.
679
680         Revert my attempt at making --disable-geolocation work; it is
681         more complicated than I anticipated.  (It passed on the build bots
682         because they build with --enable-geolocation.)
683
684         * GNUmakefile.am:
685
686 2009-12-19  MORITA Hajime  <morrita@gmail.com>
687
688         Reviewed by Darin Adler.
689
690         WebCore::Range::surroundContents NULL pointer crash.
691
692         https://bugs.webkit.org/show_bug.cgi?id=31684
693
694         Test: fast/dom/Range/31684.html
695
696         * dom/Range.cpp:
697         (WebCore::Range::surroundContents):
698         throw exception when parentOfNewParent->parentNode() is NULL.
699
700 2009-12-19  Christian Dywan  <christian@twotoasts.de>
701
702         Reviewed by Gustavo Noronha Silva.
703
704         Don't use an icon for all spelling guess menu items.
705
706         * platform/gtk/ContextMenuItemGtk.cpp:
707         (WebCore::gtkStockIDFromContextMenuAction):
708
709 2009-12-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
710
711         Unreviewed build fix. Missing \.
712
713         * GNUmakefile.am:
714
715 2009-12-19  Evan Martin  <evan@chromium.org>
716
717         Reviewed by Gustavo Noronha Silva.
718
719         Make --disable-geolocation and --disable-svg work, by conditionally
720         building the relevant files.
721
722         * GNUmakefile.am:
723
724 2009-12-18  Peter Kasting  <pkasting@google.com>
725
726         Reviewed by Simon Fraser.
727
728         Add a comment about some confusing code that otherwise would look like
729         it might be a bug.
730         https://bugs.webkit.org/show_bug.cgi?id=32534
731
732         * rendering/RenderLayer.cpp:
733         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
734
735 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
736
737         Not reviewed. Messed up the XCode file, trying to fix.
738
739         * WebCore.xcodeproj/project.pbxproj:
740
741 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
742
743         Not reviewed, fix typos in WebCore.xcodeproj.
744
745         * WebCore.xcodeproj/project.pbxproj:
746
747 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
748
749         Reviewed by Eric Seidel.
750
751         SVGAngle / SVGPreserveAspectRatio should be POD types
752         https://bugs.webkit.org/show_bug.cgi?id=32758
753
754         Convert SVGAngle / SVGPreserveAspectRatio to be non-refcounted types, just
755         like it has been done for SVGMatrix / SVGLength before.
756
757         This patch prepares removing the special DOMObjectWithSVGContext hack.
758         No change in functionality, thus no new tests.
759
760         * WebCore.xcodeproj/project.pbxproj: Add SVGNames.h to the 'Copy Generated Headers' phase, and set SVGAngle/SVGPreserveAspectRatio role to 'Private', so WebKit can access it.
761         * bindings/scripts/CodeGenerator.pm: Recognize SVGAngle / SVGPreserveAspectRatio as new POD-types (similar to SVGLength)
762         * bindings/scripts/CodeGeneratorJS.pm: Ditto. 
763         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
764         * bindings/v8/V8Index.h: Ditto.
765         * rendering/RenderSVGImage.cpp: All following changes, modify SVGAngle/SVGPreserveAspectRatio access, as they are non-refcounted now.
766         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
767         (WebCore::RenderSVGImage::paint):
768         * rendering/RenderSVGImage.h:
769         * svg/SVGAngle.h:
770         * svg/SVGAngle.idl:
771         * svg/SVGAnimatedTemplate.h:
772         (WebCore::):
773         * svg/SVGFEImageElement.cpp:
774         (WebCore::SVGFEImageElement::SVGFEImageElement):
775         (WebCore::SVGFEImageElement::parseMappedAttribute):
776         * svg/SVGFitToViewBox.cpp:
777         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
778         (WebCore::SVGFitToViewBox::parseMappedAttribute):
779         * svg/SVGFitToViewBox.h:
780         * svg/SVGImageElement.cpp:
781         (WebCore::SVGImageElement::SVGImageElement):
782         (WebCore::SVGImageElement::parseMappedAttribute):
783         * svg/SVGMarkerElement.cpp:
784         (WebCore::SVGMarkerElement::SVGMarkerElement):
785         (WebCore::SVGMarkerElement::parseMappedAttribute):
786         (WebCore::SVGMarkerElement::setOrientToAuto):
787         (WebCore::SVGMarkerElement::setOrientToAngle):
788         (WebCore::SVGMarkerElement::canvasResource):
789         * svg/SVGMarkerElement.h:
790         * svg/SVGPatternElement.cpp:
791         (WebCore::SVGPatternElement::SVGPatternElement):
792         * svg/SVGPreserveAspectRatio.cpp:
793         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
794         (WebCore::SVGPreserveAspectRatio::getCTM):
795         * svg/SVGPreserveAspectRatio.h:
796         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
797         * svg/SVGPreserveAspectRatio.idl:
798         * svg/SVGSVGElement.cpp:
799         (WebCore::SVGSVGElement::SVGSVGElement):
800         (WebCore::SVGSVGElement::createSVGAngle):
801         (WebCore::SVGSVGElement::inheritViewAttributes):
802         * svg/SVGSVGElement.h:
803         * svg/SVGSymbolElement.cpp:
804         (WebCore::SVGSymbolElement::SVGSymbolElement):
805         * svg/SVGViewElement.cpp:
806         (WebCore::SVGViewElement::SVGViewElement):
807         * svg/SVGViewSpec.cpp:
808         (WebCore::SVGViewSpec::SVGViewSpec):
809         (WebCore::SVGViewSpec::setPreserveAspectRatioString):
810         (WebCore::SVGViewSpec::parseViewSpec):
811
812 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
813
814         Chromium build fix, no review.
815
816         * storage/chromium/DatabaseTrackerChromium.cpp:
817
818 2009-12-18  Brent Fulgham  <bfulgham@webkit.org>
819
820         Build fix, no review.
821
822         * platform/graphics/win/FontCacheWin.cpp:
823         (WebCore::FontCache::createFontPlatformData): Correct my typo
824           on the CG build.
825
826 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
827
828         Reviewed by Eric Seidel.
829
830         Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on
831         the main thread when a database is being closed.
832
833         https://bugs.webkit.org/show_bug.cgi?id=32627
834
835         * storage/chromium/DatabaseTrackerChromium.cpp:
836         (WebCore::removeOpenDatabaseOnMainThread):
837         (WebCore::DatabaseTracker::removeOpenDatabase):
838
839 2009-12-18  Brent Fulgham  <bfulgham@webkit.org>
840
841         Build fix, no review.
842
843         * page/win/FrameCairoWin.cpp: Add missing include.
844         * platform/graphics/win/FontCacheWin.cpp:
845         (WebCore::FontCache::createFontPlatformData): Conditionalize
846           Safari-only call.
847
848 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
849
850         Reviewed by Dmitry Titov.
851
852         Move some code related to database closing from the destructor to
853         the close() method. This would allow us to do things such as post
854         tasks to other threads when a database closes, which cannot be
855         done now, because we cannot increment the ref count to a database
856         object when we're in its destructor.
857
858         https://bugs.webkit.org/show_bug.cgi?id=32626
859
860         * storage/Database.cpp:
861         (WebCore::Database::~Database):
862         (WebCore::Database::close):
863
864 2009-12-18  Jon Honeycutt  <jhoneycutt@apple.com>
865
866         REGRESSION(r52233): MSAA: Accessibility role of lists is wrong
867
868         https://bugs.webkit.org/show_bug.cgi?id=32736
869
870         Reviewed by Adam Roben.
871
872         Test: platform/win/accessibility/list-role.html
873
874         * accessibility/AccessibilityObject.h:
875         (WebCore::AccessibilityObject::roleValueForMSAA):
876         Return roleValue(), rather than m_role, as subclasses may override it.
877
878         * accessibility/AccessibilityRenderObject.cpp:
879         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
880         Fallback to roleValue(), rather than m_role, as it may be overriden.
881
882 2009-12-17  Jon Honeycutt  <jhoneycutt@apple.com>
883
884         MSAA: Accessibility role of list items is wrong
885
886         https://bugs.webkit.org/show_bug.cgi?id=32688
887
888         Reviewed by Adam Roben.
889
890         Test: platform/win/accessibility/list-item-role.html
891
892         * accessibility/AccessibilityObject.h:
893         (WebCore::):
894         Add a ListItemRole to the enum.
895
896         * accessibility/AccessibilityRenderObject.cpp:
897         (WebCore::msaaRoleForRenderer):
898         Return the role for the RenderObject, or UnknownRole if unknown.
899         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
900         Call msaaRoleForRenderer() to get the role. If it is UnknownRole, fall
901         back to m_role.
902
903 2009-12-18  Simon Fraser  <simon.fraser@apple.com>
904
905         Reviewed by Darin Adler.
906
907         Crash when accessing webkitTransition property after setting webkitTransitionProperty with invalid value.
908         https://bugs.webkit.org/show_bug.cgi?id=31559
909         
910         Fix an array bounds error when accessing the CSS value for a shorthand property that takes
911         a comma-separated list, after the list for one of the component properties has been set to a different length.
912
913         Test: fast/css/shorthand-mismatched-list-crash.html
914
915         * css/CSSMutableStyleDeclaration.cpp:
916         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
917
918 2009-12-18  Simon Fraser  <simon.fraser@apple.com>
919
920         Reviewed by Mark Rowe.
921
922         Remove WebCore.ClientBasedGeolocation.exp from Sources, and remove two IDL files from Resources.
923
924         * WebCore.xcodeproj/project.pbxproj:
925
926 2009-12-18  Sam Weinig  <sam@webkit.org>
927
928         Fix mac Geolocation build.
929
930         * DerivedSources.make:
931         * WebCore.ClientBasedGeolocation.exp: Added.
932         * WebCore.xcodeproj/project.pbxproj:
933         * page/Geolocation.h:
934         * page/GeolocationError.h:
935         (WebCore::GeolocationError::GeolocationError):
936         * page/GeolocationPosition.h:
937
938 2009-12-18  Brian Weinstein  <bweinstein@apple.com>
939
940         Reviewed by Adam Roben.
941
942         Fixes <http://webkit.org/b/32613>.
943         REGRESSION (r52008): Middle-clicking on a linked image starts a pan scroll,
944         but should follow the link instead.
945
946         The node itself isn't the only possible node that can be a link (that was the
947         original check), any of its ancestors could be links as well, we need to climb
948         up the tree to see. Created a new function (enclosingAnchorNode), that finds a
949         node's enclosing anchor element (if it exists), that we can share between RenderLayer
950         and Node, and also added tests that test pan scrolling behavior in image maps.
951
952         Tests: platform/win/fast/events/panScroll-image-no-scroll.html
953                platform/win/fast/events/panScroll-imageMap-href-no-scroll.html
954                platform/win/fast/events/panScroll-imageMap-noHref-scroll.html
955
956         * dom/Node.cpp:
957         (WebCore::Node::enclosingAnchorNode):
958         (WebCore::Node::defaultEventHandler):
959         * dom/Node.h:
960         * rendering/RenderLayer.cpp:
961         (WebCore::RenderLayer::hitTest):
962
963 2009-12-18  Benjamin Otte  <otte@gnome.org>
964
965         Reviewed by Xan Lopez.
966
967         [GTK] RemoveDashboard support. It's useless.
968
969         * GNUmakefile.am:
970
971 2009-12-18  Christian Dywan  <christian@twotoasts.de>
972
973         Reviewed by Xan Lopez.
974
975         [GTK] context menu overriding API is very limited
976         https://bugs.webkit.org/show_bug.cgi?id=27546
977
978         Omit SearchWeb from the context menu in the GTK+ port.
979
980         * platform/ContextMenu.cpp:
981         (WebCore::ContextMenu::populate):
982
983 2009-12-18  Sam Weinig  <sam@webkit.org>
984
985         Reviewed by Anders Carlsson.
986
987         Add export the new symbol in WebCoreSystemInterface.
988
989         * WebCore.base.exp:
990         * platform/mac/WebCoreSystemInterface.h:
991         * platform/mac/WebCoreSystemInterface.mm:
992
993 2009-12-18  Sam Weinig  <sam@webkit.org>
994
995         Reviewed by Anders Carlsson.
996
997         Forward declare NSMutableArray when not compiling for Objective-C.
998
999         * platform/mac/WebCoreSystemInterface.h:
1000
1001 2009-12-18  Gavin Barraclough  <barraclough@apple.com>
1002
1003         Reviewed by Sam Weinig.
1004
1005         https://bugs.webkit.org/show_bug.cgi?id=32720
1006         Replace UString addition/append with use of JSC::StringBuilder.
1007
1008         * ForwardingHeaders/runtime/StringBuilder.h: Added.
1009         * bindings/js/ScriptString.h:
1010         (WebCore::ScriptString::operator+=):
1011         * bridge/jni/jni_runtime.cpp:
1012         (appendClassName):
1013         (JavaMethod::signature):
1014         * inspector/InspectorController.cpp:
1015         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
1016         (WebCore::InspectorController::addStartProfilingMessageToConsole):
1017         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
1018
1019 2009-12-18  Kenneth Russell  <kbr@google.com>
1020
1021         Reviewed by Darin Fisher.
1022
1023         Index validation for drawElements examines too many indices
1024         https://bugs.webkit.org/show_bug.cgi?id=32692
1025
1026         Test: fast/canvas/webgl/bug-32692.html
1027
1028         * html/canvas/WebGLRenderingContext.cpp:
1029         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
1030
1031 2009-12-18  Sam Weinig  <sam@webkit.org>
1032
1033         Reviewed by Anders Carlsson.
1034
1035         Update WebKitSystemInterface for <rdar://problem/7237059>.        
1036
1037         * platform/mac/WebCoreSystemInterface.h:
1038         * platform/mac/WebCoreSystemInterface.mm:
1039
1040 2009-12-18  Adam Roben  <aroben@apple.com>
1041
1042         GTK build fix
1043
1044         * plugins/gtk/PluginViewGtk.cpp: Added #include.
1045
1046 2009-12-18  Adam Roben  <aroben@apple.com>
1047
1048         Chromium build fix
1049
1050         * platform/chromium/PopupMenuChromium.cpp: Added #include.
1051
1052 2009-12-18  Adam Roben  <aroben@apple.com>
1053
1054         Chromium build fix
1055
1056         * html/HTMLLinkElement.cpp: Added #include.
1057
1058 2009-12-18  Adam Roben  <aroben@apple.com>
1059
1060         Qt build fix
1061
1062         * platform/qt/RenderThemeQt.cpp:
1063         * plugins/qt/PluginDataQt.cpp:
1064         * plugins/qt/PluginViewQt.cpp:
1065         Added #includes.
1066
1067 2009-12-18  Adam Roben  <aroben@apple.com>
1068
1069         V8 build fix
1070
1071         * bindings/v8/custom/V8DOMWindowCustom.cpp: Added #include.
1072
1073 2009-12-18  Adam Roben  <aroben@apple.com>
1074
1075         GTK (and others?) build fix
1076
1077         * platform/text/StringImpl.h: Added #include.
1078
1079 2009-12-18  Adam Roben  <aroben@apple.com>
1080
1081         Reduce #includes in a few high-use headers
1082
1083         Removed unnecessary #includes in these headers:
1084           - Frame.h
1085           - FrameWin.h
1086           - Node.h
1087           - Page.h
1088           - StringImpl.h
1089
1090         The rest of the patch is all adding #includes to source files that now
1091         require them.
1092
1093         Fixes <http://webkit.org/b/32718>.
1094
1095         Rubber-stamped by Anders Carlsson.
1096
1097         * dom/Node.h:
1098         * page/Frame.h:
1099         * page/Page.h:
1100         * page/win/FrameWin.h:
1101         * platform/text/StringImpl.h:
1102         Removed unnecessary #includes.
1103
1104         * accessibility/win/AXObjectCacheWin.cpp:
1105         * bindings/js/JSDOMWindowBase.cpp:
1106         * bindings/js/JSDOMWindowCustom.cpp:
1107         * dom/Document.cpp:
1108         * dom/InputElement.cpp:
1109         * dom/Node.cpp:
1110         * dom/SelectElement.cpp:
1111         * editing/EditorCommand.cpp:
1112         * html/HTMLFormControlElement.cpp:
1113         * html/HTMLFormElement.cpp:
1114         * html/HTMLMediaElement.cpp:
1115         * html/HTMLParser.cpp:
1116         * html/HTMLTextAreaElement.cpp:
1117         * html/HTMLVideoElement.cpp:
1118         * inspector/InspectorController.cpp:
1119         * loader/FrameLoader.cpp:
1120         * loader/HistoryController.cpp:
1121         * loader/appcache/ApplicationCacheGroup.cpp:
1122         * page/Console.cpp:
1123         * page/EventHandler.cpp:
1124         * page/Frame.cpp:
1125         * page/FrameView.cpp:
1126         * page/Navigator.cpp:
1127         * page/PageGroup.cpp:
1128         * page/Settings.cpp:
1129         * page/mac/EventHandlerMac.mm:
1130         * platform/KURL.h:
1131         * platform/ScrollbarThemeComposite.cpp:
1132         * platform/cf/BinaryPropertyList.cpp:
1133         * platform/graphics/mac/GraphicsLayerCA.h:
1134         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1135         * platform/mac/PopupMenuMac.mm:
1136         * platform/mac/WidgetMac.mm:
1137         * platform/network/cf/DNSCFNet.cpp:
1138         * platform/text/StringImpl.cpp:
1139         * platform/win/FileSystemWin.cpp:
1140         * platform/win/PlatformScreenWin.cpp:
1141         * platform/win/PopupMenuWin.cpp:
1142         * platform/win/WidgetWin.cpp:
1143         * plugins/PluginView.cpp:
1144         * plugins/win/PluginViewWin.cpp:
1145         * rendering/InlineTextBox.cpp:
1146         * rendering/RenderBox.cpp:
1147         * rendering/RenderFileUploadControl.cpp:
1148         * rendering/RenderInline.cpp:
1149         * rendering/RenderLayerCompositor.cpp:
1150         * rendering/RenderObject.cpp:
1151         * rendering/RootInlineBox.cpp:
1152         * storage/DatabaseTracker.cpp:
1153         * storage/DatabaseTracker.h:
1154         * storage/SQLTransactionClient.cpp:
1155         * svg/graphics/SVGImage.cpp:
1156         Added now-needed #includes.
1157
1158 2009-12-18  Shu Chang  <Chang.Shu@nokia.com>
1159
1160         Reviewed by Darin Adler.
1161
1162         Implemented isId as specified by DOM Level 3. See detailed description below.
1163         https://bugs.webkit.org/show_bug.cgi?id=5578
1164
1165         Added isId property and implementation:
1166         Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
1167                fast/dom/Element/attrisid-extra01.html
1168         * dom/Attr.cpp:
1169         (WebCore::Attr::isId):
1170         * dom/Attr.h:
1171         * dom/Attr.idl:
1172
1173         Replaced instances of HTMLNames::idAttr with Element::idAttributeName()
1174         for the reason that id attribute name could be customized to a different
1175         string other than "id". A test case is associated to each code change.
1176         * dom/Document.cpp:
1177         (WebCore::Document::getElementById): Test: fast/dom/Element/id-in-getelement01.html
1178         * dom/Element.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
1179         (WebCore::Element::setAttribute):
1180         (WebCore::Element::setAttributeMap):
1181         (WebCore::Element::insertedIntoDocument):
1182         (WebCore::Element::removedFromDocument):
1183         (WebCore::Element::formatForDebugger):
1184         (WebCore::Element::rareIDAttributeName):
1185         * dom/Element.h: Added function idAttributeName().
1186         (WebCore::Element::idAttributeName):
1187         * dom/ElementRareData.h: Added member variable to store customized id name in ElementRareData.
1188         (WebCore::ElementRareData::ElementRareData):
1189         * dom/NamedAttrMap.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
1190         (WebCore::NamedNodeMap::setNamedItem):
1191         (WebCore::NamedNodeMap::removeNamedItem):
1192         (WebCore::NamedNodeMap::setAttributes):
1193         * dom/Node.cpp: Removed ASSERT as it may not hold any more.
1194         (WebCore::Node::querySelector):
1195         * dom/SelectorNodeList.cpp: Removed ASSERT as it may not hold any more.
1196         (WebCore::createSelectorNodeList):
1197         * dom/StyledElement.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
1198         (WebCore::StyledElement::parseMappedAttribute):
1199         * editing/DeleteButtonController.cpp: Test: fast/dom/Element/id-in-deletebutton.html
1200         (WebCore::DeleteButtonController::createDeletionUI):
1201         * editing/EditorCommand.cpp: Test: fast/dom/Element/id-in-insert-hr.html
1202         (WebCore::executeInsertHorizontalRule):
1203         * html/HTMLAppletElement.cpp: Test: fast/dom/Element/id-in-applet.html
1204         (WebCore::HTMLAppletElement::parseMappedAttribute):
1205         (WebCore::HTMLAppletElement::createRenderer):
1206         * html/HTMLCollection.cpp:
1207         (WebCore::HTMLCollection::checkForNameMatch): Test: fast/forms/select-namedItem.html
1208         (WebCore::HTMLCollection::updateNameCache): Test: fast/dom/collection-namedItem-via-item.html
1209         * html/HTMLDataGridColElement.cpp:
1210         (WebCore::HTMLDataGridColElement::ensureColumn): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
1211         (WebCore::HTMLDataGridColElement::parseMappedAttribute): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom-attributes.html
1212         * html/HTMLElement.cpp:
1213         (WebCore::HTMLElement::parseMappedAttribute):
1214         * html/HTMLFormCollection.cpp: Test: fast/dom/Element/id-in-formcollection.html
1215         (WebCore::HTMLFormCollection::getNamedFormItem):
1216         (WebCore::HTMLFormCollection::nextNamedItem):
1217         (WebCore::HTMLFormCollection::updateNameCache):
1218         * html/HTMLFrameElementBase.cpp: Test: fast/dom/Element/id-in-frame.html
1219         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
1220         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
1221         * html/HTMLImageElement.cpp: Test: fast/dom/Element/id-in-deletebutton.html
1222         (WebCore::HTMLImageElement::parseMappedAttribute):
1223         * html/HTMLMapElement.cpp: Test: fast/dom/Element/id-in-map.html
1224         (WebCore::HTMLMapElement::parseMappedAttribute):
1225         * html/HTMLNameCollection.cpp: Test: fast/dom/Element/id-in-frameset.html
1226         (WebCore::HTMLNameCollection::itemAfter):
1227         * html/HTMLObjectElement.cpp: Test: fast/dom/HTMLDocument/object-by-name-or-id.html
1228         (WebCore::HTMLObjectElement::parseMappedAttribute):
1229         * html/HTMLParamElement.cpp: Test: fast/dom/Element/id-in-param.html
1230         (WebCore::HTMLParamElement::parseMappedAttribute):
1231         * loader/CachedFont.cpp: Test: svg/custom/acid3-test-77.html
1232         (WebCore::CachedFont::getSVGFontById):
1233         * rendering/RenderLayerBacking.cpp:
1234         (WebCore::RenderLayerBacking::createGraphicsLayer): Debug-only code
1235         * rendering/SVGRenderTreeAsText.cpp: Test: svg/text/text-gradient-positioning.svg
1236         (WebCore::writeRenderResources):
1237         * svg/SVGElement.cpp: Test: svg/custom/acid3-test-77.html
1238         (WebCore::SVGElement::insertedIntoDocument):
1239         * svg/SVGStyledElement.cpp: Test: svg/custom/js-update-image-and-display.svg
1240         (WebCore::SVGStyledElement::isKnownAttribute):
1241         * wml/WMLElement.cpp:
1242         (WebCore::WMLElement::parseMappedAttribute):
1243
1244 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
1245
1246         Reviewed by Tor Arne Vestbø.
1247
1248         [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds
1249
1250         https://bugs.webkit.org/show_bug.cgi?id=32716
1251
1252         Introduce standalone_package as config that is set when QTDIR_build is set or when
1253         the directory for the generated files is present.
1254
1255         Renamed uses of QTDIR_build that apply to generic package builds to use standalone_package.
1256         Others remain as they are specific to building inside Qt.
1257
1258         * WebCore.pro:
1259
1260 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
1261
1262         Reviewed by Tor Arne Vestbø.
1263
1264         [Qt] Fix the build on Symbian.
1265
1266         Use QFont::lastRestortFamily() instead of QFont::lastRestortFont(),
1267         which is a missing symbol in Qt 4.6.0 on Symbian.
1268
1269         Functionally they should be equivalent, according to the source.
1270
1271         * platform/graphics/qt/FontCacheQt.cpp:
1272         (WebCore::FontCache::getLastResortFallbackFont):
1273
1274 2009-12-18  Philippe Normand  <pnormand@igalia.com>
1275
1276         Reviewed by Xan Lopez.
1277
1278         [GTK] segfault during controls initialization if not GTK theme is present.
1279         https://bugs.webkit.org/show_bug.cgi?id=32705
1280
1281         Create empty images for the controls if no GTK theme is set.
1282
1283         * platform/graphics/gtk/ImageGtk.cpp:
1284         (WebCore::getThemeIconFileName):
1285         (WebCore::loadImageFromFile):
1286
1287 2009-12-18  Alejandro G. Castro  <alex@igalia.com>
1288
1289         Reviewed by Darin Adler.
1290
1291         REGRESSION (r38898): Using the up arrow in a textarea gets "stuck"
1292         at the beginning.
1293         https://bugs.webkit.org/show_bug.cgi?id=31920
1294
1295         Moving up from a position after the end of the previous lines
1296         should use UPSTREAM affinity to render the caret in the previous
1297         line.
1298
1299         Test: editing/selection/wrapped-line-caret-3.html
1300
1301         * rendering/RenderText.cpp:
1302         (WebCore::RenderText::positionForPoint):
1303
1304 2009-12-17  Eric Seidel  <eric@webkit.org>
1305
1306         Reviewed by Darin Adler.
1307
1308         HTMLInputElement::stepMismatch() uses ambiguous overload of pow()
1309         https://bugs.webkit.org/show_bug.cgi?id=32675
1310
1311         Use the double constant 2.0 instead of static_cast<double>(2).
1312
1313         * html/HTMLInputElement.cpp:
1314         (WebCore::HTMLInputElement::stepMismatch):
1315
1316 2009-12-17  Justin Schuh  <jschuh@chromium.org>
1317
1318         Reviewed by Dan Bernstein.
1319
1320         Bug 32357: SVG test case crashes WebKit (invalid font URL)
1321         https://bugs.webkit.org/show_bug.cgi?id=32357
1322
1323         Added check for NULL return value from DocLoader::requestFont()
1324
1325         * svg/SVGFontFaceUriElement.cpp:
1326         (WebCore::SVGFontFaceUriElement::loadFont):
1327
1328 2009-12-17  Shinichiro Hamaji  <hamaji@chromium.org>
1329
1330         Reviewed by Dan Bernstein.
1331
1332         marquee with display:inline causes crash
1333         https://bugs.webkit.org/show_bug.cgi?id=32374
1334
1335         Test: fast/inline/inline-marquee-crash.html
1336
1337         * html/HTMLMarqueeElement.cpp:
1338         (WebCore::HTMLMarqueeElement::start):
1339         (WebCore::HTMLMarqueeElement::stop):
1340         (WebCore::HTMLMarqueeElement::suspend):
1341         (WebCore::HTMLMarqueeElement::resume):
1342         (WebCore::HTMLMarqueeElement::renderMarquee):
1343         * html/HTMLMarqueeElement.h:
1344         * rendering/RenderLayer.cpp:
1345         (WebCore::RenderLayer::styleChanged):
1346
1347 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
1348
1349         Reviewed by Darin Adler.
1350
1351         Allow custom memory allocation control for inspector's classes
1352         https://bugs.webkit.org/show_bug.cgi?id=32660                               
1353
1354         Inherits the following classes from Noncopyable because these are
1355         instantiated by 'new' and no need to be copyable:                                           
1356
1357         class name                  - instantiated at:  WebCore/'location'
1358
1359         class JavaScriptDebugServer - inspector/JavaScriptDebugServer.cpp:72
1360         class ConsoleMessage        - inspector/InspectorController.cpp:329 
1361         class InspectorController   - page/Page.cpp:119
1362
1363         * inspector/ConsoleMessage.h:
1364         * inspector/InspectorController.h:
1365         * inspector/JavaScriptDebugServer.h:
1366
1367 2009-12-17  Steve Block  <steveblock@google.com>
1368
1369         Reviewed by Eric Seidel.
1370
1371         Fixes HTMLInputElement::stepMismatch() to avoid ambiguous overload of pow().
1372         https://bugs.webkit.org/show_bug.cgi?id=32675
1373
1374         Build fix only, no new tests.
1375
1376         * html/HTMLInputElement.cpp: Modified.
1377         (WebCore::HTMLInputElement::stepMismatch): Cast first argument of pow to double to force 'double pow(double, int)'
1378
1379 2009-12-17  Marc-Antoine Ruel  <maruel@chromium.org>
1380
1381         Reviewed by Eric Seidel.
1382
1383         Fix link failure on LTCG builds on Windows for chromium port.
1384
1385         Reenable SVGAllInOne.cpp. This required some fixups.
1386
1387         Namely, there was conflicts in constants between HTMLNames and
1388         SVGNames, and conflicts between static functions names.
1389
1390         No new tests as functionality has not changed.
1391
1392         * WebCore.gyp/WebCore.gyp:
1393         * svg/SVGAllInOne.cpp:
1394         * svg/SVGFontFaceElement.cpp:
1395         (WebCore::SVGFontFaceElement::rebuildFontFace):
1396         * svg/SVGGlyphElement.cpp:
1397         (WebCore::SVGGlyphElement::invalidateGlyphCache):
1398         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
1399         * svg/SVGHKernElement.cpp:
1400         (WebCore::SVGHKernElement::insertedIntoDocument):
1401         (WebCore::SVGHKernElement::removedFromDocument):
1402         * svg/SVGStyleElement.cpp:
1403         (WebCore::SVGStyleElement::type):
1404         (WebCore::SVGStyleElement::setType):
1405         (WebCore::SVGStyleElement::media):
1406         (WebCore::SVGStyleElement::setMedia):
1407         (WebCore::SVGStyleElement::title):
1408         (WebCore::SVGStyleElement::setTitle):
1409         (WebCore::SVGStyleElement::parseMappedAttribute):
1410         * svg/SVGStyledElement.cpp:
1411         (WebCore::mapAttributeToCSSProperty):
1412         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
1413         * svg/SVGStyledElement.h:
1414
1415 2009-12-17  Adam Roben  <aroben@apple.com>
1416
1417         Chromium build fix VI
1418
1419         * svg/animation/SMILTimeContainer.h: Added now-needed #include.
1420
1421 2009-12-17  Adam Roben  <aroben@apple.com>
1422
1423         Chromium build fix V
1424
1425         * platform/KURLGoogle.cpp: Added now-needed #include.
1426
1427 2009-12-17  Adam Roben  <aroben@apple.com>
1428
1429         Chromium build fix IV
1430
1431         * loader/CrossOriginPreflightResultCache.h: Added now-needed
1432         #includes.
1433
1434 2009-12-17  Adam Roben  <aroben@apple.com>
1435
1436         Chromium build fix III
1437
1438         * platform/graphics/Font.h: Added now-needed #include.
1439
1440 2009-12-17  Adam Roben  <aroben@apple.com>
1441
1442         Chromium build fix II
1443
1444         * dom/EventTarget.h: Added now-needed #include.
1445
1446 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
1447
1448         Reviewed by Eric Seidel.
1449
1450         Allow custom memory allocation control for js bindings
1451         https://bugs.webkit.org/show_bug.cgi?id=32655
1452
1453         Inherits the following classes from Noncopyable because these are instantiated 
1454         by 'new' and no need to be copyable:
1455
1456         class name                  - instantiated at:  WebCore/'location'
1457
1458         class ScriptCachedFrameData - history/CachedFrame.cpp:117
1459         class WebCoreJSClientData   - bindings/js/JSDOMWindowBase.cpp:162
1460         class ScheduledAction       - bindings/js/ScheduledAction.cpp:58
1461
1462         * bindings/js/JSDOMBinding.h:
1463         * bindings/js/ScheduledAction.h:
1464         * bindings/js/ScriptCachedFrameData.h:
1465
1466 2009-12-17  Adam Roben  <aroben@apple.com>
1467
1468         Chromium build fix
1469
1470         * dom/QualifiedName.h: Added now-needed #include of HashTraits.h
1471         (which itself #includes HashFunctions.h).
1472
1473 2009-12-17  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
1474
1475         Reviewed by Timothy Hatcher.
1476
1477         Web Inspector: Incorrect Doctype.
1478
1479         REGRESSION(4.0.4-TOT):Web Inspector: Incorrect Doctype
1480         https://bugs.webkit.org/show_bug.cgi?id=32671
1481
1482         * inspector/InspectorDOMAgent.cpp:
1483         (WebCore::InspectorDOMAgent::buildObjectForNode):
1484         * inspector/front-end/DOMAgent.js:
1485         (WebInspector.DOMNode):
1486
1487 2009-12-17  Benjamin Otte  <otte@gnome.org>
1488
1489         Reviewed by Adam Roben.
1490
1491         Don't include all JSC headers everywhere
1492         https://bugs.webkit.org/show_bug.cgi?id=32663
1493
1494         Remove HashMap HashSet and OwnPtr includes from PlatformString.h.
1495         Reduces code size of Gtk build by another 5%.
1496
1497         * platform/text/PlatformString.h:
1498
1499 2009-12-17  Adam Roben  <aroben@apple.com>
1500
1501         Mac/Qt build fixes
1502
1503         * platform/graphics/mac/Canvas3DLayer.mm:
1504         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1505         * platform/qt/Localizations.cpp:
1506         Added missing #includes.
1507
1508 2009-12-17  Benjamin Otte  <otte@gnome.org>
1509
1510         Reviewed by Adam Roben.
1511
1512         Don't include all JSC headers everywhere
1513         https://bugs.webkit.org/show_bug.cgi?id=32663
1514
1515         PlatformString.h included almost all of JSC via runtime/Identifier.h.
1516         This patch gets rid of this include by forward-declaring the required
1517         classes instead.
1518         This reduces the build size of the object files on a Gtk debug build
1519         by 10%. The resulting libwebkit.so gets 5% smaller.
1520
1521         No new tests as it's just a build improvement.
1522
1523         * platform/gtk/LocalizedStringsGtk.cpp:
1524         include math.h here (it used to be pulled by JSC)
1525         * platform/text/PlatformString.h:
1526         * platform/text/String.cpp:
1527
1528 2009-12-17  Evan Martin  <evan@chromium.org>
1529
1530         Reviewed by Xan Lopez.
1531
1532         Always use all WebCore include paths in GtkWebKit.
1533
1534         With this patch, I can disable all optional features and still build.
1535
1536         * GNUmakefile.am:
1537
1538 2009-12-17  Yaar Schnitman  <yaar@chromium.org>
1539
1540         Reviewed by Darin Fisher.
1541
1542         Added WebPageSerializer to WebKit API.
1543
1544         https://bugs.webkit.org/show_bug.cgi?id=31737
1545
1546         * platform/text/StringBuilder.cpp: Added methods to make StringBuilder even more useful for large scale string concatenation.
1547         (WebCore::StringBuilder::clear):
1548         (WebCore::StringBuilder::length):
1549         * platform/text/StringBuilder.h:
1550
1551 2009-12-10  Philippe Normand  <pnormand@igalia.com>
1552
1553         Reviewed by Xan Lopez.
1554
1555         [GTK] Add controls for playing html5 video.
1556         https://bugs.webkit.org/show_bug.cgi?id=26304
1557
1558         Media controls UI, first step. This patch was written by Zan
1559         Dobersek. In addition I fixed the compilation errors and
1560         re-enabled some of the media tests involving the controls UI.
1561
1562         * GNUmakefile.am:
1563         * css/mediaControlsGtk.css: Added.
1564         * platform/graphics/Image.h:
1565         * platform/graphics/gtk/ImageGtk.cpp:
1566         (WebCore::getThemeIconFileName):
1567         (WebCore::loadResourceSharedBuffer):
1568         (WebCore::loadImageFromFile):
1569         (WebCore::Image::loadPlatformResource):
1570         (WebCore::Image::loadPlatformThemeIcon):
1571         * platform/gtk/RenderThemeGtk.cpp:
1572         (WebCore::getMediaElementFromRenderObject):
1573         (WebCore::getIconNameForTextDirection):
1574         (WebCore::RenderThemeGtk::initMediaStyling):
1575         (WebCore::RenderThemeGtk::RenderThemeGtk):
1576         (WebCore::RenderThemeGtk::~RenderThemeGtk):
1577         (WebCore::supportsFocus):
1578         (WebCore::RenderThemeGtk::baselinePosition):
1579         (WebCore::paintMozWidget):
1580         (WebCore::setToggleSize):
1581         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
1582         (WebCore::RenderThemeGtk::gtkContainer):
1583         (WebCore::RenderThemeGtk::platformColorsDidChange):
1584         (WebCore::RenderThemeGtk::extraMediaControlsStyleSheet):
1585         (WebCore::paintMediaButton):
1586         (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
1587         (WebCore::RenderThemeGtk::paintMediaMuteButton):
1588         (WebCore::RenderThemeGtk::paintMediaPlayButton):
1589         (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
1590         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
1591         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
1592         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
1593         * platform/gtk/RenderThemeGtk.h:
1594
1595 2009-12-17  Yael Aharon  <yael.aharon@nokia.com>
1596
1597         Reviewed by Kenneth Rohde Christiansen.
1598
1599         [Qt] support navigator.onLine and ononline/onoffline events.
1600         https://bugs.webkit.org/show_bug.cgi?id=32555
1601
1602         Hooked up Bearer Management to NetworkStateNotifier. This solution is available 
1603         only if QtMobility's Bearer Management is installed.
1604
1605         * WebCore.pro:
1606         * platform/network/NetworkStateNotifier.h:
1607         * platform/network/qt/NetworkStateNotifierPrivate.h: Added.
1608         * platform/network/qt/NetworkStateNotifierQt.cpp: Added.
1609         (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
1610         (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
1611         (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
1612         (WebCore::NetworkStateNotifier::updateState):
1613         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1614
1615 2009-12-17  Pavel Feldman  <pfeldman@chromium.org>
1616
1617         Reviewed by Timothy Hatcher.
1618
1619         Web Inspector: Switch to 11px as default for source-code in WebKit.
1620
1621         https://bugs.webkit.org/show_bug.cgi?id=32646
1622
1623         * inspector/front-end/inspector.css:
1624
1625 2009-12-17  Simon Hausmann  <simon.hausmann@nokia.com>
1626
1627         Reviewed by Tor Arne Vestbø.
1628
1629         [Qt] Symbian build fix: Don't include QtXml/qxmlstream.h but omit the prefix, to
1630         make sure we pick up the header file from QtCore. That is where the implementation
1631         is compiled.
1632
1633         * dom/XMLTokenizer.h:
1634
1635 2009-12-17  Martin Robinson  <martin.james.robinson@gmail.com>
1636
1637         Reviewed by Gustavo Noronha Silva.
1638
1639         [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs
1640         https://bugs.webkit.org/show_bug.cgi?id=21599
1641
1642         Add GRefPtr support for GTK types to WebCore, as JSC does not link against
1643         GTK+. Also convert PopupMenu::m_poup from a raw pointer to a GRefPtr.
1644
1645         No new tests as functionality has not changed.
1646
1647         * GNUmakefile.am:
1648         * platform/PopupMenu.h:
1649         * platform/gtk/GRefPtrGtk.cpp: Added.
1650         (WTF::refGPtr):
1651         (WTF::derefGPtr):
1652         * platform/gtk/GRefPtrGtk.h: Added.
1653         * platform/gtk/PopupMenuGtk.cpp:
1654         (WebCore::PopupMenu::PopupMenu):
1655         (WebCore::PopupMenu::~PopupMenu):
1656         (WebCore::PopupMenu::show):
1657         (WebCore::PopupMenu::hide):
1658         (WebCore::PopupMenu::menuRemoveItem):
1659
1660 2009-12-17  Mikhail Naganov  <mnaganov@chromium.org>
1661
1662         Reviewed by Pavel Feldman.
1663
1664         Advice links to source code in CPU profiler to open in debugger,
1665         not in resources tab.
1666
1667         Also work around the case when resources are disabled, but scripts are present.
1668
1669         https://bugs.webkit.org/show_bug.cgi?id=32610
1670
1671         * inspector/front-end/Panel.js:
1672         (WebInspector.Panel.prototype.updateMainViewWidth):
1673         (WebInspector.Panel.prototype.canShowSourceLineForURL):
1674         (WebInspector.Panel.prototype.showSourceLineForURL):
1675         * inspector/front-end/ProfileDataGridTree.js:
1676         (WebInspector.ProfileDataGridNode.prototype.createCell):
1677         * inspector/front-end/ResourcesPanel.js:
1678         (WebInspector.ResourcesPanel.prototype.canShowSourceLineForURL):
1679         (WebInspector.ResourcesPanel.prototype.showSourceLineForURL):
1680         * inspector/front-end/ScriptsPanel.js:
1681         (WebInspector.ScriptsPanel.prototype.scriptForURL):
1682         (WebInspector.ScriptsPanel.prototype.canShowSourceLineForURL):
1683         (WebInspector.ScriptsPanel.prototype.showSourceLineForURL):
1684         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1685         * inspector/front-end/inspector.js:
1686         (WebInspector.documentClick.followLink):
1687         (WebInspector.documentClick):
1688         (WebInspector._choosePanelToShowSourceLineForURL):
1689         (WebInspector.canShowSourceLineForURL):
1690         (WebInspector.showSourceLineForURL):
1691
1692 2009-12-15  Philippe Normand  <pnormand@igalia.com>
1693
1694         Reviewed by Xan Lopez.
1695
1696         [GTK] display FPS stats for video element
1697         https://bugs.webkit.org/show_bug.cgi?id=32560
1698
1699         Display FPS statistics if WEBKIT_DEBUG environment variable
1700         contains the Media log category. This feature requires a very
1701         recent (>= 0.10.18) version of gst-plugins-bad.
1702
1703         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1704         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1705         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
1706         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
1707         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1708
1709 2009-11-11  Philippe Normand  <pnormand@igalia.com>
1710
1711         Reviewed by Gustavo Noronha Silva.
1712
1713         [GStreamer] Should emit {networkState,readyState,volume,time,size,rate,duration}Changed signals
1714         https://bugs.webkit.org/show_bug.cgi?id=30377
1715
1716         Emit volumeChanged and durationChanged upon notification from
1717         GStreamer.
1718
1719         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1720         (WebCore::mediaPlayerPrivateMessageCallback):
1721         (WebCore::mediaPlayerPrivateVolumeCallback):
1722         (WebCore::notify_volume_idle_cb):
1723         (WebCore::MediaPlayerPrivate::didEnd):
1724         (WebCore::MediaPlayerPrivate::durationChanged):
1725         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
1726         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1727
1728 2009-12-16  Philippe Normand  <pnormand@igalia.com>
1729
1730         Reviewed by Gustavo Noronha Silva.
1731
1732         [GTK] segfault during volume notification
1733         https://bugs.webkit.org/show_bug.cgi?id=32603
1734
1735         Emit volumeChanged and durationChanged upon notification from
1736         GStreamer. Also don't reset the volume property on playbin, it is
1737         not needed as it is 1.0 by default both on playbin and in the
1738         MediaPlayer.
1739
1740         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1741         (WebCore::mediaPlayerPrivateMessageCallback):
1742         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
1743         (WebCore::notifyVolumeIdleCallback):
1744         (WebCore::doGstInit):
1745         (WebCore::MediaPlayerPrivate::isAvailable):
1746         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1747         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
1748         (WebCore::MediaPlayerPrivate::volumeChanged):
1749         (WebCore::MediaPlayerPrivate::didEnd):
1750         (WebCore::MediaPlayerPrivate::durationChanged):
1751         (WebCore::mimeTypeCache):
1752         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
1753         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1754
1755 2009-12-17  Evan Martin  <evan@chromium.org>
1756
1757         Reviewed by Xan Lopez.
1758
1759         gtk: always use standard include paths, regardless of settings.
1760         WebKit style is to wrap the body of a header in #if ENABLE(FOO),
1761         so they're always safe to include whether the features are enabled or
1762         not.
1763
1764         This fixes building with --disable-database and other flags.
1765
1766         * GNUmakefile.am:
1767
1768 2009-12-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1769
1770         Unreviewed. Build fixes for make distcheck.
1771
1772         * GNUmakefile.am:
1773
1774 2009-12-17  Philippe Normand  <pnormand@igalia.com>
1775
1776         Rubber-stamped by Gustavo Noronha Silva.
1777
1778         Trivial WebKit coding style fix.
1779
1780         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1781         (WebCore::MediaPlayerPrivate::paint):
1782
1783 2009-12-15 MORITA Hajime <morrita@gmail.com>
1784
1785         Reviewed by Eric Seidel.
1786
1787         Bug 28306: double-clicking a word inside <b> beside newline select two words
1788         https://bugs.webkit.org/show_bug.cgi?id=28306
1789         
1790         SimplifiedBackwardsTextIterator missed trailing whitespaces just
1791         before folding line-break, which is used to detect word
1792         boundaries. This fix checks strings on RenderText and expand text
1793         range on SimplifiedBackwardsTextIterator to include trailing
1794         whitespaces if availble.
1795
1796         Test: editing/selection/doubleclick-beside-cr-span.html
1797
1798         * editing/TextIterator.cpp:
1799         (WebCore::collapsedSpaceLength):
1800         (WebCore::maxOffsetIncludingCollapsedSpaces):
1801         (WebCore::SimplifiedBackwardsTextIterator::advance):
1802
1803 2009-12-16  Fumitoshi Ukai  <ukai@chromium.org>
1804
1805         Reviewed by Alexey Proskuryakov.
1806
1807         Fix flakiness in WebSocket handshake console message.
1808         https://bugs.webkit.org/show_bug.cgi?id=32598
1809
1810         In chromium, LayoutTests/websocket/tests/handshake-error.html is
1811         flaky, because it outputs the following console message several times:
1812           CONSOLE MESSAGE: line 0: Unexpected response code:101
1813         Update m_mode in WebSocketHandshake correctly: Once it finds
1814         error in handshake message, set m_mode to Failed and don't try
1815         reading handshake message again.  If handshake message is not yet
1816         fully received, set m_mode to Incomplete, so next didReceiveData()
1817         will try to check handshake message again.
1818
1819         * websockets/WebSocketChannel.cpp:
1820         (WebCore::WebSocketChannel::didReceiveData):
1821         * websockets/WebSocketHandshake.cpp:
1822         (WebCore::WebSocketHandshake::readServerHandshake):
1823
1824 2009-12-16  Jon Honeycutt  <jhoneycutt@apple.com>
1825
1826         MSAA: Accessibility role of text nodes is wrong
1827
1828         https://bugs.webkit.org/show_bug.cgi?id=32631
1829         <rdar://problem/7369084>
1830
1831         Reviewed by Alice Liu.
1832
1833         Test: platform/win/accessibility/text-role.html
1834
1835         * accessibility/AccessibilityObject.h:
1836         (WebCore::):
1837         Add a new role to the enum.
1838         (WebCore::AccessibilityObject::roleValueForMSAA):
1839         Declare a function to return the accessibility role for MSAA; the base
1840         implementation returns the old role value.
1841
1842         * accessibility/AccessibilityRenderObject.cpp:
1843         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
1844         Initialize m_roleForMSAA.
1845         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
1846         If m_roleForMSAA has been set, return it. If the renderer is a
1847         RenderText, set the role to EditableTextRole to match IE and Firefox.
1848         Otherwise, set the role for MSAA to the old role value.
1849
1850         * accessibility/AccessibilityRenderObject.h:
1851         Add a member to hold the role for MSAA, and declare an override of
1852         roleValueForMSAA().
1853
1854 2009-12-16  Eric Seidel  <eric@webkit.org>
1855
1856         No review, rolling out r52206.
1857         http://trac.webkit.org/changeset/52206
1858         https://bugs.webkit.org/show_bug.cgi?id=31187
1859
1860         This broke pixel tests on Mac.  Presumably the code in
1861         ImageCG is wrong here.
1862
1863         * platform/graphics/BitmapImage.h:
1864         * platform/graphics/GeneratedImage.cpp:
1865         (WebCore::GeneratedImage::drawPattern):
1866         * platform/graphics/GeneratedImage.h:
1867         * platform/graphics/Image.cpp:
1868         (WebCore::Image::drawTiled):
1869         * platform/graphics/Image.h:
1870         * platform/graphics/cairo/ImageCairo.cpp:
1871         (WebCore::Image::drawPattern):
1872         * platform/graphics/cg/ImageCG.cpp:
1873         (WebCore::Image::drawPattern):
1874         * platform/graphics/haiku/ImageHaiku.cpp:
1875         (WebCore::Image::drawPattern):
1876         * platform/graphics/qt/ImageQt.cpp:
1877         (WebCore::Image::drawPattern):
1878         * platform/graphics/skia/ImageSkia.cpp:
1879         (WebCore::Image::drawPattern):
1880         * platform/graphics/wince/GraphicsContextWince.cpp:
1881         (WebCore::GraphicsContext::drawBitmapPattern):
1882         * platform/graphics/wince/ImageBufferWince.cpp:
1883         (WebCore::):
1884         (WebCore::BufferedImage::drawPattern):
1885         * platform/graphics/wx/ImageWx.cpp:
1886         (WebCore::BitmapImage::drawPattern):
1887         (WebCore::Image::drawPattern):
1888
1889 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
1890
1891         Reviewed by David Levin.
1892
1893         https://bugs.webkit.org/show_bug.cgi?id=32637
1894         [V8] Generate most named property getters.
1895
1896         Covered by existing tests.
1897
1898         * bindings/scripts/CodeGeneratorV8.pm: Added generation of SetNamedPropertyHandler call.
1899         * bindings/v8/V8DOMWrapper.cpp:
1900         (WebCore::V8DOMWrapper::getTemplate): Removed now-generated SetNamedPropertyHandler callsites.
1901
1902 2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
1903
1904         Reviewed by Kenneth Rohde Christiansen.
1905
1906         [Qt] Implement combobox delegate for Qt
1907         https://bugs.webkit.org/show_bug.cgi?id=32550
1908
1909         Abstract popup menu factory.
1910
1911         A static method from QtAbstractPopupMenu is used to create its instances. If a factory
1912         has been suplied to class QtAbstractPopupMenu the factory will be used to create the
1913         objects. If not an instance of QtFallbackPopupMenu will be created.
1914
1915         The objective is to make it easy to replace the combobox popup at WebCore layer providing
1916         support to the combobox popup delegation API. Future patches will make it possible to
1917         replace the combobox popup at WebKit layer.
1918
1919         No behavior changes.
1920
1921         * platform/qt/PopupMenuQt.cpp:
1922         (WebCore::PopupMenu::PopupMenu):
1923         * platform/qt/QtAbstractWebPopup.cpp:
1924         (WebCore::QtAbstractWebPopup::setFactory):
1925         (WebCore::QtAbstractWebPopup::create):
1926         * platform/qt/QtAbstractWebPopup.h:
1927         * platform/qt/QtFallbackWebPopup.cpp:
1928
1929 2009-12-16  Mark Rowe  <mrowe@apple.com>
1930
1931         Build fix.  Disable debug variants of WebKit frameworks.
1932
1933         * WebCore.xcodeproj/project.pbxproj:
1934
1935 2009-12-16  Enrica Casucci  <enrica@apple.com>
1936
1937         Reviewed by Eric Seidel.
1938
1939         Right clicking in a table cell creates a selection that extends into the next cell.
1940         <rdar://problem/5565465>
1941         https://bugs.webkit.org/show_bug.cgi?id=32622
1942         
1943         Avoid extending the selection to the next cell if we start from an empty cell.
1944
1945         Test: editing/selection/empty-cell-right-click.html
1946
1947         * editing/TypingCommand.cpp:
1948         (WebCore::TypingCommand::deleteKeyPressed): Replaced the code that check for empty table cell
1949         with a call to the new function.
1950         * editing/VisibleSelection.cpp:
1951         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): Extends the
1952         selection only if we are not starting from an empty table cell.
1953         * editing/htmlediting.cpp:
1954         (WebCore::isEmptyTableCell): Added a function since this check is performed now in two places.
1955         * editing/htmlediting.h: Added isEmptyTableCell declaration.
1956
1957 2009-12-16  Dirk Schulze  <krit@webkit.org>
1958
1959         Reviewed by Nikolas Zimmermann.
1960
1961         feMerge crahses if feMergeNodes attribute in is empty
1962         https://bugs.webkit.org/show_bug.cgi?id=32489
1963
1964         SVGFEMergeElement only stored pointers to all effects of it's nodes
1965         in a list. But it should store the RefPtr otherwise the effects get
1966         dereferenced and WebKit crashes.
1967         I also made a short clean-up in SVGFilterBuilder. No change in
1968         functionality.
1969
1970         Test: I updated svg/custom/empty-merge.svg to cover this problem.
1971
1972         * svg/SVGFEMergeElement.cpp:
1973         (WebCore::SVGFEMergeElement::build):
1974         * svg/graphics/filters/SVGFEMerge.cpp:
1975         (WebCore::FEMerge::FEMerge):
1976         (WebCore::FEMerge::create):
1977         (WebCore::FEMerge::mergeInputs):
1978         (WebCore::FEMerge::setMergeInputs):
1979         * svg/graphics/filters/SVGFEMerge.h:
1980         * svg/graphics/filters/SVGFilterBuilder.cpp:
1981         (WebCore::SVGFilterBuilder::add):
1982
1983 2009-12-16  Brian Weinstein  <bweinstein@apple.com>
1984
1985         Reviewed by Timothy Hatcher.
1986
1987         Part of <http://webkit.org/b/32568>.
1988         Web Inspector: Context Menus should be used in more places.
1989         
1990         Add a context menu entry in the console to clear the console. This
1991         is only shown when there is no user selection of text, because if
1992         there is selection of the text, then we want to give the user the Copy +
1993         Spell Check context menu that they are used to.
1994
1995         * English.lproj/localizedStrings.js: Added "Clear Console".
1996         * inspector/front-end/ConsoleView.js:
1997         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
1998
1999 2009-12-16  Brian Weinstein  <bweinstein@apple.com>
2000
2001         Reviewed by Pavel Feldman.
2002
2003         Fixes <https://bugs.webkit.org/show_bug.cgi?id=32621>.
2004         Web Inspector: [REGRESSION (52095-52100)] Resources filter disappears when switching 
2005         from / to resources panel.
2006
2007         Changed style in sidebar-resizer-vertical, because if the min-height was 100%, we start
2008         to cover the scope bar.
2009
2010         * inspector/front-end/inspector.css:
2011
2012 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
2013
2014         Reviewed by Adam Barth.
2015
2016         [V8] Switch all indexers to be generated.
2017         https://bugs.webkit.org/show_bug.cgi?id=32569
2018
2019         Covered by existing tests.
2020
2021         * WebCore.gypi: Remove V8FileListCustom.cpp and V8ClientRecListCustom.cpp,
2022             as they are now generated.
2023         * bindings/v8/V8DOMWrapper.cpp:
2024         (WebCore::V8DOMWrapper::getTemplate): Remove customization of ClientRectList,
2025             FileList, and DataGridColumnList templates.
2026         * bindings/v8/custom/V8ClientRectListCustom.cpp: Removed.
2027         * bindings/v8/custom/V8CustomBinding.h: Remove custom indexer getter decls.
2028         * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Remove indexer getter definition.
2029         * bindings/v8/custom/V8FileListCustom.cpp: Removed.
2030
2031 2009-12-16  anton muhin  <antonm@chromium.org>
2032
2033         Reviewed by Darin Adler.
2034
2035         [dom] make dom/Node.cpp compile if DUMP_NODE_STATISTICS is on
2036         https://bugs.webkit.org/show_bug.cgi?id=32617
2037
2038         * dom/Node.cpp:
2039         (WebCore::Node::dumpStatistics):
2040
2041 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
2042
2043         Reviewed by Darin Fisher.
2044
2045         [V8] There is no such thing as HTMLSelectElementCollection.
2046         https://bugs.webkit.org/show_bug.cgi?id=32616
2047
2048         Refactoring, covered by existing tests.
2049
2050         * WebCore.gypi: Removed V8HTMLSelectElementCollectionCustom.cpp
2051         * bindings/v8/V8Collection.h: Removed one-off template.
2052         * bindings/v8/V8DOMWrapper.cpp:
2053         (WebCore::V8DOMWrapper::getTemplate): Renamed all references to HTMLSelectElementCollection
2054             to HTMLSelectElement.
2055         * bindings/v8/custom/V8CustomBinding.h: Renamed custom indexer decls.
2056         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Removed.
2057         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Moved code as-is from
2058             V8HTMLSelectElementCollectionCustom.cpp
2059
2060 2009-12-16  Dan Winship  <danw@gnome.org>
2061
2062         Reviewed by Gustavo Noronha Silva.
2063
2064         [Gtk] Content-Encoding support
2065
2066         https://bugs.webkit.org/show_bug.cgi?id=25855
2067
2068         * platform/network/soup/ResourceHandleSoup.cpp:
2069         (WebCore::startHttp): Don't force "Accept-Encoding: identity" any
2070         more
2071
2072 2009-12-16  Benjamin Otte  <otte@gnome.org>
2073
2074         Reviewed by Darin Adler.
2075
2076         Get rid of the phase argument to Image::drawPattern.
2077         https://bugs.webkit.org/show_bug.cgi?id=31187
2078
2079         The argument can be expressed equally well as part of the
2080         patternTransform. All backends but the Qt one did exactly that
2081         manually anyway.
2082
2083         * platform/graphics/BitmapImage.h:
2084         * platform/graphics/GeneratedImage.cpp:
2085         (WebCore::GeneratedImage::drawPattern):
2086         * platform/graphics/GeneratedImage.h:
2087         * platform/graphics/Image.cpp:
2088         (WebCore::Image::drawTiled):
2089         * platform/graphics/Image.h:
2090         * platform/graphics/cairo/ImageCairo.cpp:
2091         (WebCore::Image::drawPattern):
2092         * platform/graphics/cg/ImageCG.cpp:
2093         (WebCore::Image::drawPattern):
2094         * platform/graphics/haiku/ImageHaiku.cpp:
2095         (WebCore::Image::drawPattern):
2096         * platform/graphics/qt/ImageQt.cpp:
2097         (WebCore::Image::drawPattern):
2098         * platform/graphics/skia/ImageSkia.cpp:
2099         (WebCore::Image::drawPattern):
2100         * platform/graphics/wince/GraphicsContextWince.cpp:
2101         (WebCore::GraphicsContext::drawBitmapPattern):
2102         * platform/graphics/wince/ImageBufferWince.cpp:
2103         (WebCore::):
2104         (WebCore::BufferedImage::drawPattern):
2105         * platform/graphics/wx/ImageWx.cpp:
2106         (WebCore::BitmapImage::drawPattern):
2107         (WebCore::Image::drawPattern):
2108
2109 2009-12-16  Kenneth Russell  <kbr@google.com>
2110
2111         Reviewed by Darin Fisher.
2112
2113         Performance problems with index validation code for drawElements
2114         https://bugs.webkit.org/show_bug.cgi?id=32466
2115
2116         Added a cache of the maximum index for each element type to
2117         WebGLBuffer, querying it before iterating through the indices in
2118         the client-side copy of the buffer's data. Hoisted checks of the
2119         size of the element array itself into validateElementArraySize to
2120         avoid duplicating code.
2121
2122         The performance improvement has been measured with manual tests.
2123         Existing layout tests cover the index validation functionality
2124         and continue to pass as before.
2125
2126         * html/canvas/WebGLBuffer.cpp:
2127         (WebCore::WebGLBuffer::WebGLBuffer):
2128         (WebCore::WebGLBuffer::associateBufferData):
2129         (WebCore::WebGLBuffer::associateBufferSubData):
2130         (WebCore::WebGLBuffer::getCachedMaxIndex):
2131         (WebCore::WebGLBuffer::setCachedMaxIndex):
2132         (WebCore::WebGLBuffer::clearCachedMaxIndices):
2133         * html/canvas/WebGLBuffer.h:
2134         * html/canvas/WebGLRenderingContext.cpp:
2135         (WebCore::WebGLRenderingContext::validateElementArraySize):
2136         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
2137         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
2138         (WebCore::WebGLRenderingContext::validateRenderingState):
2139         (WebCore::WebGLRenderingContext::drawElements):
2140         * html/canvas/WebGLRenderingContext.h:
2141
2142 2009-12-16  Zelidrag Hornung  <zelidrag@chromium.org>
2143
2144         Reviewed by Darin Adler.
2145
2146         https://bugs.webkit.org/show_bug.cgi?id=32261
2147         Added ability to separate the autocomplete suggestion previewing from
2148         the actual accepting of the suggested value in HTMLInputElement.
2149         This element (it's single line text incarnation) can now
2150         be put in suggestion mode where renderer might display the suggested
2151         value without making it automatically exposed to JavaScript.
2152
2153         No new tests. This new methods are not exposed yet. It's use will be
2154         platform specific. PopupMenu and Chromium specific changes will be
2155         separated based on Darin Adler's comments.
2156
2157         * dom/InputElement.h:
2158         (WebCore::InputElementData::suggestedValue):
2159         (WebCore::InputElementData::setSuggestedValue):
2160         * html/HTMLInputElement.cpp:
2161         (WebCore::HTMLInputElement::suggestedValue):
2162         (WebCore::HTMLInputElement::setSuggestedValue):
2163         (WebCore::HTMLInputElement::setValue):
2164         (WebCore::HTMLInputElement::setValueFromRenderer):
2165         * html/HTMLInputElement.h:
2166         * rendering/RenderTextControlSingleLine.cpp:
2167         (WebCore::RenderTextControlSingleLine::updateFromElement):
2168         * wml/WMLInputElement.cpp:
2169         (WebCore::WMLInputElement::suggestedValue):
2170         * wml/WMLInputElement.h:
2171
2172 2009-12-16  Pavel Feldman  <pfeldman@chromium.org>
2173
2174         Reviewed by Timothy Hatcher.
2175
2176         Web Inspector: Make Elements tree, properties section and resources
2177         view monospace.
2178
2179         https://bugs.webkit.org/show_bug.cgi?id=32609
2180
2181         * inspector/front-end/ElementsPanel.js:
2182         * inspector/front-end/PropertiesSection.js:
2183         (WebInspector.PropertiesSection):
2184         * inspector/front-end/ResourceView.js:
2185         (WebInspector.ResourceView):
2186         * inspector/front-end/inspector.css:
2187
2188 2009-12-16  Dirk Schulze  <krit@webkit.org>
2189
2190         Reviewed by Darin Adler.
2191
2192         sourceGraphic wrong if positive x,y is >0 and objectBB is selected on Filter
2193         https://bugs.webkit.org/show_bug.cgi?id=32575
2194
2195         On SVG Filters, the rest of the source graphic gets clipped to the filter
2196         rest. This helps us to minimize the size of intermediate ImageBuffers. If
2197         the position moves to the right or to the bottom, we have to adjust the
2198         GraphicContext of this intermediate ImageBuffer.
2199         This patch fixes the adjustment of the context, according to the clipping.
2200
2201         Test: svg/filters/filter-source-position.svg
2202
2203         * svg/graphics/SVGResourceFilter.cpp:
2204         (WebCore::SVGResourceFilter::prepareFilter):
2205
2206 2009-12-16  Enrica Casucci  <enrica@apple.com>
2207
2208         Reviewed by Adele Peterson.
2209
2210         CrashTracer: [USER] 1 crash in Safari at com.apple.WebCore: WebCore::endsOfNodeAreVisuallyDistinctPositions + 115
2211         <rdar://problem/7467108>
2212         https://bugs.webkit.org/show_bug.cgi?id=32590
2213
2214         If the element is a button there is no need to look at the children to calculate the caret position.
2215         
2216         Test: editing/selection/button-right-click.html
2217
2218         * dom/Position.cpp:
2219         (WebCore::Position::getInlineBoxAndOffset): Avoid calling recursively this method,
2220         when starting from a button element.
2221
2222 2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
2223
2224         Reviewed by Kenneth Rohde Christiansen.
2225
2226         [Qt] Implement combobox delegate for Qt
2227         https://bugs.webkit.org/show_bug.cgi?id=32550
2228
2229         Refactoring of class QWebPopup.
2230
2231         Class QWebPopup has been split in QtAbstractWebPopup and QtFallbackWebPopup.
2232         Both new classes are now in corresponding files and files QWebPopup.* have been removed.
2233
2234         Custom combo popup classes will inherit from QtAbstractWebPopup. It is not the public API as it is
2235         in WebCore and will not be visible by users of QtWebKit. It will be used in implementation of
2236         public QtWebKit combobox popup delegation API.
2237
2238         Class QtFallbackWebPopup inherits from QtAbstractWebPopup and implements the currently used combobox popup.
2239         It needs to be improved to provide standard features that are missing like style or indentation.
2240
2241         No behavior changes.
2242
2243         * WebCore.pro:
2244         * platform/PopupMenu.h:
2245         * platform/qt/PopupMenuQt.cpp:
2246         (WebCore::PopupMenu::PopupMenu):
2247         * platform/qt/QWebPopup.cpp: Removed.
2248         * platform/qt/QWebPopup.h: Removed.
2249         * platform/qt/QtAbstractWebPopup.cpp: Added.
2250         (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
2251         (WebCore::QtAbstractWebPopup::~QtAbstractWebPopup):
2252         (WebCore::QtAbstractWebPopup::client):
2253         * platform/qt/QtAbstractWebPopup.h: Added.
2254         * platform/qt/QtFallbackWebPopup.cpp: Added.
2255         (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
2256         (WebCore::QtFallbackWebPopup::show):
2257         (WebCore::QtFallbackWebPopup::populate):
2258         (WebCore::QtFallbackWebPopup::showPopup):
2259         (WebCore::QtFallbackWebPopup::hidePopup):
2260         (WebCore::QtFallbackWebPopup::activeChanged):
2261         * platform/qt/QtFallbackWebPopup.h: Added.
2262         (WebCore::QtFallbackWebPopup::hide):
2263
2264 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
2265
2266         Reviewed by Timothy Hatcher.
2267
2268         Web Inspector: beautify HTTP info section.
2269
2270         https://bugs.webkit.org/show_bug.cgi?id=32583
2271
2272         * English.lproj/localizedStrings.js:
2273         * inspector/front-end/ResourceView.js:
2274         (WebInspector.ResourceView):
2275         (WebInspector.ResourceView.prototype._refreshURL):
2276         (WebInspector.ResourceView.prototype._refreshHTTPInformation):
2277         * inspector/front-end/inspector.css:
2278
2279 2009-12-13  Roland Steiner  <rolandsteiner@chromium.org>
2280
2281         Reviewed by Adam Barth.
2282
2283         Fix crash when encountering illegal HTML within a continuation inside <ruby>.
2284         (https://bugs.webkit.org/show_bug.cgi?id=32316)
2285
2286         Avoid having the anonymous blocks utilized in the ruby renderers being
2287         re-used as continuation blocks.
2288         Avoid having ruby runs collected as "leftover blocks".
2289
2290         Test: fast/ruby/ruby-illegal.html
2291
2292         * rendering/RenderRuby.h:
2293         (WebCore::RenderRubyAsInline::removeLeftoverAnonymousBlock): mustn't be called
2294         (WebCore::RenderRubyAsInline::isRuby): made private
2295         (WebCore::RenderRubyAsInline::renderName): made private
2296         (WebCore::RenderRubyAsInline::createsAnonymousWrapper): return true
2297         (WebCore::RenderRubyAsBlock::removeLeftoverAnonymousBlock): mustn't be called
2298         (WebCore::RenderRubyAsBlock::isRuby): made private
2299         (WebCore::RenderRubyAsBlock::renderName): made private
2300         (WebCore::RenderRubyAsBlock::createsAnonymousWrapper): return true
2301         * rendering/RenderRubyRun.h:
2302         (WebCore::RenderRubyRun::removeLeftoverAnonymousBlock): avoid
2303         (WebCore::RenderRubyRun::isRubyRun): made private
2304         (WebCore::RenderRubyRun::renderName): made private
2305         (WebCore::RenderRubyRun::createsAnonymousWrapper): return true
2306
2307 2009-12-15  Nate Chapin  <japhet@chromium.org>
2308
2309         Reviewed by Darin Adler.
2310
2311         Rename skipCanLoadCheck to skipSecurityCheck in a bunch of places in WebCore/loader.
2312
2313         https://bugs.webkit.org/show_bug.cgi?id=32529
2314
2315         * loader/Cache.cpp:
2316         (WebCore::Cache::requestUserCSSStyleSheet):
2317         * loader/CachedImage.cpp:
2318         (WebCore::CachedImage::load):
2319         * loader/CachedResource.cpp:
2320         (WebCore::CachedResource::load):
2321         * loader/CachedResource.h:
2322         (WebCore::CachedResource::load):
2323         * loader/DocumentThreadableLoader.cpp:
2324         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
2325         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
2326         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
2327         (WebCore::DocumentThreadableLoader::preflightSuccess):
2328         (WebCore::DocumentThreadableLoader::loadRequest):
2329         * loader/DocumentThreadableLoader.h:
2330         * loader/FrameLoaderTypes.h:
2331         (WebCore::):
2332         * loader/Request.cpp:
2333         (WebCore::Request::Request):
2334         * loader/Request.h:
2335         (WebCore::Request::shouldDoSecurityCheck):
2336         * loader/SubresourceLoader.cpp:
2337         (WebCore::SubresourceLoader::create):
2338         * loader/SubresourceLoader.h:
2339         * loader/loader.cpp:
2340         (WebCore::Loader::load):
2341         (WebCore::Loader::Host::servePendingRequests):
2342         * loader/loader.h:
2343
2344 2009-12-15  Dan Bernstein  <mitz@apple.com>
2345
2346         Reviewed by Darin Adler.
2347
2348         <rdar://problem/7470452> Safari/Chromium crashes on complicated @font-face rule
2349         https://bugs.webkit.org/show_bug.cgi?id=32257
2350
2351         Test: fast/css/font-face-unused-source-loaded.html
2352
2353         The loading of a font resource caused a CSSFontFace that had the resource in one of its
2354         sources, but wasn’t using it (due to using an earlier source) to invalidate its
2355         CSSSegmentedFontFaces. This caused FontData for the active source (the one that did not just
2356         finish loading) to be deleted, but that went unnoticed by Font::operator==(), since the
2357         corresponding FontFallbackLists were not in the loading state. The fix is for CSSFontFace to
2358         ignore loads from unused sources.
2359
2360         * css/CSSFontFace.cpp:
2361         (WebCore::CSSFontFace::fontLoaded): Bail out if the loaded source is not the active source.
2362         (WebCore::CSSFontFace::getFontData): Set m_activeSource to the source that supplied the
2363             FontData.
2364         * css/CSSFontFace.h:
2365         (WebCore::CSSFontFace::CSSFontFace): Initialize m_activeSource.
2366
2367 2009-12-15  Yael Aharon  <yael.aharon@nokia.com>
2368
2369         Reviewed by Kenneth Rohde Christiansen.
2370
2371         [Qt] Cannot load flash files from a local file.
2372         https://bugs.webkit.org/show_bug.cgi?id=32572
2373
2374         When loading the main resource and its mime type is application/octet-stream,
2375         use the file extenstion to check if it is a supported plugin.
2376
2377         No new tests were added since any existing swf file can be used as a manual test.
2378
2379         * loader/MainResourceLoader.cpp:
2380         (WebCore::MainResourceLoader::didReceiveResponse):
2381         * loader/MainResourceLoader.h:
2382         * plugins/PluginDatabase.h:
2383
2384 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
2385
2386         Reviewed by Timothy Hatcher.
2387
2388         Fixes <https://bugs.webkit.org/show_bug.cgi?id=18498>.
2389         REGRESSION: Tips are not shown for resources anymore.
2390         
2391         As discussed in the bug, Tips are not coming back, and the feature
2392         will be moved to the audits panel. This patch is to remove the Tips
2393         code and the resources that it needed.
2394
2395         * WebCore.gypi: Removed tips files.
2396         * inspector/front-end/Images/tipBalloon.png: Removed.
2397         * inspector/front-end/Images/tipBalloonBottom.png: Removed.
2398         * inspector/front-end/Images/tipIcon.png: Removed.
2399         * inspector/front-end/Images/tipIconPressed.png: Removed.
2400         * inspector/front-end/Resource.js: Removed tips code.
2401         (WebInspector.Resource.prototype.set finished): 
2402         * inspector/front-end/WebKit.qrc: Removed tips files.
2403         * inspector/front-end/inspector.css: Removes tips style rules.
2404         
2405 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
2406
2407         Reviewed by Timothy Hatcher.
2408
2409         Web Inspector: Display request headers for main resource
2410         having redirects.
2411
2412         https://bugs.webkit.org/show_bug.cgi?id=32577
2413
2414         * inspector/InspectorController.cpp:
2415         (WebCore::InspectorController::identifierForInitialRequest):
2416         (WebCore::InspectorController::willSendRequest):
2417         * inspector/InspectorResource.cpp:
2418         (WebCore::InspectorResource::InspectorResource):
2419         (WebCore::InspectorResource::appendRedirect):
2420         (WebCore::InspectorResource::createCached):
2421         (WebCore::InspectorResource::updateRequest):
2422         * inspector/InspectorResource.h:
2423         (WebCore::InspectorResource::create):
2424
2425 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
2426
2427         Reviewed by Timothy Hatcher.
2428
2429         Fixes <https://bugs.webkit.org/show_bug.cgi?id=32578>.
2430         Web Inspector: No Need for ?="" now that we have context menus.
2431         
2432         Remove the toggleNewAttributeButton function and callers to it, as
2433         we don't need this behavior anymore, now that we have context menus.
2434
2435         * inspector/front-end/ElementsTreeOutline.js:
2436         (WebInspector.ElementsTreeElement.prototype.set hovered):
2437         (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
2438         (WebInspector.ElementsTreeElement.prototype._startEditing):
2439
2440 2009-12-15  Dimitri Glazkov  <dglazkov@chromium.org>
2441
2442         Reviewed by Eric Seidel.
2443
2444         [V8] Generate trivial named property getters.
2445         https://bugs.webkit.org/show_bug.cgi?id=32562
2446
2447         Covered by existing tests.
2448
2449         * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationNamedPropertyGetter.
2450         * bindings/v8/V8Collection.h:
2451         (WebCore::getNamedPropertyOfCollection): Fixed a booboo by using AtomicString like we're supposed to.
2452         * bindings/v8/V8DOMWrapper.cpp:
2453         (WebCore::V8DOMWrapper::getTemplate): Removed code that's now generated.
2454
2455 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
2456
2457         Reviewed by Timothy Hatcher.
2458
2459         Part of <http://webkit.org/b/32568>.
2460         New Web Inspector: The Context Menu should be used in more places.
2461         
2462         Add support for context menu entries for editing and deleting elements
2463         in the datagrid. This gives support to deleting cookies, and editing and
2464         deleting session storage and local storage.
2465
2466         * English.lproj/localizedStrings.js: Added "Edit" and "Add New" entries (delete was already there)
2467         * inspector/front-end/DataGrid.js:
2468         (WebInspector.DataGrid): Added context menu listener.
2469         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
2470
2471 2009-12-15  Kenneth Russell  <kbr@google.com>
2472
2473         Reviewed by Darin Fisher.
2474
2475         Don't allow default framebuffer to be mutated
2476         https://bugs.webkit.org/show_bug.cgi?id=32391
2477
2478         * html/canvas/WebGLRenderingContext.cpp:
2479         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
2480         (WebCore::WebGLRenderingContext::framebufferTexture2D):
2481         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2482         (WebCore::GraphicsContext3D::bindFramebuffer):
2483
2484 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
2485
2486         Reviewed by Darin Adler.
2487
2488         Allow custom memory allocation control for FontPlatformDataCacheKey class
2489         https://bugs.webkit.org/show_bug.cgi?id=32552
2490
2491         Inherits the following struct from FastAllocBase because it is instantiated by 'new':
2492
2493         struct name                     - instantiated at: WebCore/'location'
2494         struct FontPlatformDataCacheKey - platform/graphics/FontCache.cpp:118
2495
2496         * platform/graphics/FontCache.cpp:
2497
2498 2009-12-15  Jian Li  <jianli@chromium.org>
2499
2500         Reviewed by Dmitry Titov.
2501
2502         Bug 31090 - [Chromium] Add DownloadURL format to Chromium clipboard.
2503         https://bugs.webkit.org/show_bug.cgi?id=31090
2504
2505         The proposal to whatwg can be found here:
2506         http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-August/022118.html
2507
2508         * platform/chromium/ChromiumDataObject.cpp:
2509         (WebCore::ChromiumDataObject::clear):
2510         (WebCore::ChromiumDataObject::hasData):
2511         (WebCore::ChromiumDataObject::ChromiumDataObject):
2512         * platform/chromium/ChromiumDataObject.h:
2513         * platform/chromium/ClipboardChromium.cpp:
2514         (WebCore::):
2515         (WebCore::clipboardTypeFromMIMEType):
2516         (WebCore::ClipboardChromium::setData):
2517
2518 2009-12-15  Chris Fleizach  <cfleizach@apple.com>
2519
2520         Reviewed by Darin Adler.
2521
2522         WAI-ARIA: implement treegrid
2523         https://bugs.webkit.org/show_bug.cgi?id=31299
2524
2525         Test: platform/mac/accessibility/aria-treegrid.html
2526
2527         * accessibility/AXObjectCache.cpp:
2528         (WebCore::AXObjectCache::getOrCreate):
2529         * accessibility/AccessibilityARIAGrid.h:
2530         (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
2531         * accessibility/AccessibilityARIAGridRow.cpp:
2532         (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
2533         (WebCore::AccessibilityARIAGridRow::disclosedRows):
2534         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
2535         * accessibility/AccessibilityARIAGridRow.h:
2536         * accessibility/AccessibilityObject.cpp:
2537         (WebCore::createARIARoleMap):
2538         * accessibility/AccessibilityObject.h:
2539         (WebCore::):
2540         (WebCore::AccessibilityObject::isARIATreeGridRow):
2541         * accessibility/AccessibilityRenderObject.cpp:
2542         (WebCore::AccessibilityRenderObject::isMultiSelectable):
2543         (WebCore::AccessibilityRenderObject::setIsExpanded):
2544         (WebCore::AccessibilityRenderObject::setSelectedRows):
2545         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
2546         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
2547         (WebCore::AccessibilityRenderObject::selectedChildren):
2548         * accessibility/AccessibilityRenderObject.h:
2549         * accessibility/AccessibilityTable.h:
2550         (WebCore::AccessibilityTable::supportsSelectedRows):
2551         * accessibility/mac/AccessibilityObjectWrapper.mm:
2552         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2553         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2554         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2555         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2556
2557 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
2558
2559         Reviewed by Darin Adler.
2560
2561         Allow custom memory allocation control for EmptyEditorClient and EmptyInspectorClient
2562         https://bugs.webkit.org/show_bug.cgi?id=32557
2563
2564         Inherits the following classes from Noncopyable because these are instantiated
2565         by 'new' and no need to be copyable:
2566
2567         class name                 - instantiated at: WebCore/'location'
2568         class EmptyEditorClient    - svg/graphics/SVGImage.cpp:230
2569         class EmptyInspectorClient - svg/graphics/SVGImage.cpp:241
2570
2571         * loader/EmptyClients.h:
2572
2573 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
2574
2575         Reviewed by Darin Adler.
2576
2577         Allow custom memory allocation control for WebCore/inspector directory's classes
2578         https://bugs.webkit.org/show_bug.cgi?id=32556
2579
2580         Inherits the following class from Noncopyable because these are instantiated
2581         by 'new' and no need to be copyable:
2582
2583         class name                   - instantiated at: WebCore/'location'
2584         class InspectorFrontend      - inspector/InspectorController.cpp:538
2585         class InspectorTimelineAgent - inspector/InspectorController.cpp:1097
2586
2587         * inspector/InspectorFrontend.h:
2588         * inspector/InspectorTimelineAgent.h:
2589
2590 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
2591
2592         Reviewed by Darin Adler.
2593
2594         Allow custom memory allocation control for WebCore/platform/network directory's classes
2595         https://bugs.webkit.org/show_bug.cgi?id=32553
2596
2597         Inherits the following class from Noncopyable because it is instantiated
2598         by 'new' and no need to be copyable:
2599
2600         class/struct name                      - instantiated at: WebCore/'location'
2601
2602         struct CrossThreadResourceResponseData - platform/network/ResourceResponseBase.cpp:109
2603
2604         Inherits the following classes from FastAllocBase because these are
2605         instantiated by 'new':
2606
2607         class ResourceResponseBase - (its child class) platform/network/ResourceResponseBase.cpp:90
2608         class ResourceRequestBase  - (its child class) loader/DocumentThreadableLoader.cpp:88
2609
2610         * platform/network/ResourceRequestBase.h:
2611         * platform/network/ResourceResponseBase.h:
2612
2613 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
2614
2615         Reviewed by Darin Adler.
2616
2617         Allow custom memory allocation control for AnimationControllerPrivate and FillLayerPropertyWrapperGetter
2618         https://bugs.webkit.org/show_bug.cgi?id=32549
2619
2620         Inherits AnimationControllerPrivate and FillLayerPropertyWrapperGetter
2621         classes from Noncopyable because these are instantiated by 'new' and no need to be copyable:
2622
2623         class/struct name              - instantiated at: WebCore/'location'
2624
2625         AnimationControllerPrivate     - page/animation/AnimationController.cpp:439
2626         FillLayerPropertyWrapperGetter - (its child class) page/animation/AnimationBase.cpp:464
2627
2628         * page/animation/AnimationBase.cpp:
2629         * page/animation/AnimationControllerPrivate.h:
2630
2631 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
2632
2633         Reviewed by Timothy Hatcher.
2634
2635         Web Inspector: Do not lose HTTP redirect information, display it
2636         in the Resources Panel.
2637
2638         https://bugs.webkit.org/show_bug.cgi?id=32551
2639
2640         * inspector/InspectorController.cpp:
2641         (WebCore::InspectorController::populateScriptObjects):
2642         (WebCore::InspectorController::didCommitLoad):
2643         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2644         (WebCore::InspectorController::identifierForInitialRequest):
2645         (WebCore::InspectorController::willSendRequest):
2646         (WebCore::InspectorController::didReceiveResponse):
2647         (WebCore::InspectorController::didReceiveContentLength):
2648         (WebCore::InspectorController::didFinishLoading):
2649         (WebCore::InspectorController::didFailLoading):
2650         * inspector/InspectorFrontend.cpp:
2651         * inspector/InspectorFrontend.h:
2652         * inspector/InspectorResource.cpp:
2653         (WebCore::InspectorResource::InspectorResource):
2654         (WebCore::InspectorResource::appendRedirect):
2655         (WebCore::InspectorResource::updateScriptObject):
2656         (WebCore::InspectorResource::releaseScriptObject):
2657         (WebCore::InspectorResource::type):
2658         * inspector/InspectorResource.h:
2659         (WebCore::InspectorResource::):
2660         (WebCore::InspectorResource::Changes::setAll):
2661         * inspector/front-end/inspector.js:
2662         (WebInspector._addResource):
2663         (WebInspector.updateResource):
2664
2665 2009-12-15  Holger Hans Peter Freyther  <zecke@selfish.org>
2666
2667         Reviewed by Simon Hausmann.
2668
2669         [Qt] Followup for direct signals and slots connections in QNetworkReplyHandler
2670         https://bugs.webkit.org/show_bug.cgi?id=32113
2671
2672         For Qt versions prior to 4.6.1 we will need to use QueuedConnection
2673         for the signal and slot connection to avoid running into a bug in.
2674
2675         Add a comment that we want to remove one signal to forward
2676         queued items when moving our minimum requirements.
2677
2678         * platform/network/qt/QNetworkReplyHandler.cpp:
2679         (WebCore::QNetworkReplyHandler::start):
2680
2681 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
2682
2683         Reviewed by Kenneth Rohde Christiansen.
2684
2685         [Qt] Add manual test for JavaScript prompt corner case
2686         https://bugs.webkit.org/show_bug.cgi?id=30914
2687
2688         The patch is based on the work done by Gupta Manish.
2689
2690         Verify behavior of the JavaScript prompt function. Currently
2691         Qt is not behaving like other WebKit ports and Firefox in
2692         regards to accepting the prompt but not entering a text.
2693
2694         * manual-tests/qt/java-script-prompt.html: Added.
2695
2696 2009-12-15  Luiz Agostini  <luiz.agostini@openbossa.org>
2697
2698         Reviewed by Kenneth Rohde Christiansen.
2699
2700         Moving list populate methods from PopupMenuQt to QWebPopup.
2701         
2702         In preparation to future implementation of a delegation API for the combobox.
2703
2704         * platform/PopupMenu.h:
2705         * platform/qt/PopupMenuQt.cpp:
2706         (WebCore::PopupMenu::show):
2707         (WebCore::PopupMenu::hide):
2708         * platform/qt/QWebPopup.cpp:
2709         (WebCore::QWebPopup::show):
2710         (WebCore::QWebPopup::populate):
2711         * platform/qt/QWebPopup.h:
2712         (WebCore::QWebPopup::hide):
2713
2714 2009-12-15  Alexander Pavlov  <apavlov@chromium.org>
2715
2716         Reviewed by Pavel Feldman.
2717
2718         Extract WebInspector.Section from WebInspector.PropertiesSection.
2719         https://bugs.webkit.org/show_bug.cgi?id=32523
2720
2721         * WebCore.gypi:
2722         * WebCore.vcproj/WebCore.vcproj:
2723         * inspector/front-end/PropertiesSection.js:
2724         (WebInspector.PropertiesSection):
2725         * inspector/front-end/Section.js: Added.
2726         (WebInspector.Section):
2727         (WebInspector.Section.prototype.get title):
2728         (WebInspector.Section.prototype.set title):
2729         (WebInspector.Section.prototype.get subtitle):
2730         (WebInspector.Section.prototype.set subtitle):
2731         (WebInspector.Section.prototype.get expanded):
2732         (WebInspector.Section.prototype.set expanded):
2733         (WebInspector.Section.prototype.get populated):
2734         (WebInspector.Section.prototype.set populated):
2735         (WebInspector.Section.prototype.expand):
2736         (WebInspector.Section.prototype.collapse):
2737         (WebInspector.Section.prototype.toggleExpanded):
2738         * inspector/front-end/WebKit.qrc:
2739         * inspector/front-end/inspector.html:
2740
2741 2009-12-15  Eric Seidel  <eric@webkit.org>
2742
2743         No review, rolling out r52140.
2744         http://trac.webkit.org/changeset/52140
2745         https://bugs.webkit.org/show_bug.cgi?id=31299
2746
2747         The commit broke the Leopard bots and unfortunately
2748         Chris wasn't around to fix them, so I'm rolling the change
2749         out after 3 hours so that the bots can roll green again. :)
2750
2751         * accessibility/AXObjectCache.cpp:
2752         (WebCore::AXObjectCache::getOrCreate):
2753         * accessibility/AccessibilityARIAGrid.h:
2754         * accessibility/AccessibilityARIAGridRow.cpp:
2755         * accessibility/AccessibilityARIAGridRow.h:
2756         * accessibility/AccessibilityObject.cpp:
2757         (WebCore::createARIARoleMap):
2758         * accessibility/AccessibilityObject.h:
2759         (WebCore::):
2760         * accessibility/AccessibilityRenderObject.cpp:
2761         (WebCore::AccessibilityRenderObject::isMultiSelect):
2762         (WebCore::AccessibilityRenderObject::setIsExpanded):
2763         (WebCore::AccessibilityRenderObject::setSelectedRows):
2764         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
2765         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
2766         (WebCore::AccessibilityRenderObject::selectedChildren):
2767         * accessibility/AccessibilityRenderObject.h:
2768         * accessibility/AccessibilityTable.h:
2769         * accessibility/mac/AccessibilityObjectWrapper.mm:
2770         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2771         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2772         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2773         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2774
2775 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
2776
2777         Reviewed by Eric Seidel.
2778
2779         [Qt] Remove dead code from FontPlatformDataQt.cpp
2780         https://bugs.webkit.org/show_bug.cgi?id=32540
2781
2782         In r51758 the code that used familyNames was removed
2783         and we should remove the creation of the familyNames
2784         as well.
2785
2786         * platform/graphics/qt/FontPlatformDataQt.cpp:
2787         (WebCore::FontPlatformData::FontPlatformData):
2788
2789 2009-12-15  Dan Bernstein  <mitz@apple.com>
2790
2791         Reviewed by Adam Roben.
2792
2793         WebCore part of <rdar://problem/7173515> Use LOGFONT support in Core
2794         Graphics when available
2795
2796         When using a version of Core Graphics with LOGFONT support, this fixes
2797         <rdar://problem/5764844> First-time launch is painfully slow due to font
2798         plist creation
2799         and <rdar://problem/6576281> 12px synthetic-italics Tahoma text is less
2800         readable in Safari than in Firefox/IE due to poorly-spaced letters
2801
2802         * platform/graphics/win/FontCGWin.cpp:
2803         (WebCore::Font::drawGlyphs): No longer call drawGDIGlyphs for stroked
2804         text.
2805         * platform/graphics/win/FontCacheWin.cpp:
2806         (WebCore::createGDIFont): Added a synthesizeItalic parameter. When set
2807         to true, if italics are desired but the best match lacks italics,
2808         creates and returns a synthetic italics font.
2809         (WebCore::FontCache::createFontPlatformData): Ask to synthesize italics
2810         if needed.
2811         * platform/graphics/win/FontCustomPlatformData.cpp:
2812         (WebCore::FontCustomPlatformData::fontPlatformData): Updated an
2813         assertion, and changed to create the CGFont from the LOGFONT.
2814         (WebCore::createFontCustomPlatformData): Changed cgFont to be a
2815         RetainPtr. Do not create a CGFont from the font data if it can be
2816         created from the LOGFONT in fontPlatformData().
2817         * platform/graphics/win/FontDatabase.cpp:
2818         (WebCore::populateFontDatabase): Avoid font database work if fonts are
2819         not going to be looked up by name.
2820         * platform/graphics/win/FontPlatformDataCGWin.cpp:
2821         (WebCore::FontPlatformData::platformDataInit): Create the CGFont from
2822         a LOGFONT based on the HFONT.
2823
2824 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
2825
2826         Reviewed by Darin Adler.
2827
2828         WAI-ARIA: implement treegrid
2829         https://bugs.webkit.org/show_bug.cgi?id=31299
2830
2831         Test: platform/mac/accessibility/aria-treegrid.html
2832
2833         * accessibility/AXObjectCache.cpp:
2834         (WebCore::AXObjectCache::getOrCreate):
2835         * accessibility/AccessibilityARIAGrid.h:
2836         (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
2837         * accessibility/AccessibilityARIAGridRow.cpp:
2838         (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
2839         (WebCore::AccessibilityARIAGridRow::disclosedRows):
2840         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
2841         * accessibility/AccessibilityARIAGridRow.h:
2842         * accessibility/AccessibilityObject.cpp:
2843         (WebCore::createARIARoleMap):
2844         * accessibility/AccessibilityObject.h:
2845         (WebCore::AccessibilityObject::isARIATreeGridRow):
2846         * accessibility/AccessibilityRenderObject.cpp:
2847         (WebCore::AccessibilityRenderObject::isMultiSelectable):
2848         (WebCore::AccessibilityRenderObject::setIsExpanded):
2849         (WebCore::AccessibilityRenderObject::setSelectedRows):
2850         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
2851         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
2852         (WebCore::AccessibilityRenderObject::selectedChildren):
2853         * accessibility/AccessibilityRenderObject.h:
2854         * accessibility/AccessibilityTable.h:
2855         (WebCore::AccessibilityTable::supportsSelectedRows):
2856         * accessibility/mac/AccessibilityObjectWrapper.mm:
2857         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2858         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2859         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2860         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2861
2862 2009-12-14  Dan Bernstein  <mitz@apple.com>
2863
2864         Reviewed by Darin Adler.
2865
2866         <rdar://problem/7460655> REGRESSION (r47255): Content shifted down at software.opensuse.org
2867         https://bugs.webkit.org/show_bug.cgi?id=32382
2868
2869         Test: fast/block/float/in-margin.html
2870
2871         * rendering/RenderBlock.cpp:
2872         (WebCore::RenderBlock::getClearDelta): Floats that do not intrude into the line (because
2873         they are in the margin) do not need to be cleared.
2874
2875 2009-12-14  Enrica Casucci  <enrica@apple.com>
2876
2877         Reviewed by John Sullivan.
2878
2879         Pressing backspace inside a table cell erases all empty rows below it.
2880         <rdar://problem/5565461>
2881         https://bugs.webkit.org/show_bug.cgi?id=32526
2882
2883         No deletion is performed when the caret selection is on an empty table cell.
2884         
2885         Test: editing/deleting/delete-empty-table.html
2886
2887         * editing/TypingCommand.cpp:
2888         (WebCore::TypingCommand::deleteKeyPressed): Added check for empty table cells in
2889         case of caret selection.
2890
2891 2009-12-14  Andrei Popescu  <andreip@google.com>
2892
2893         Reviewed by Darin Adler.
2894
2895         [Android] Android needs ResourceHandle implementation
2896         https://bugs.webkit.org/show_bug.cgi?id=32515
2897
2898         Adds implementation of ResourceHandle on Android.
2899
2900         No new tests needed, this is platform-specific code, so existing
2901         tests are sufficient.
2902
2903         * platform/network/android/ResourceHandleAndroid.cpp: Added.
2904         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2905         (WebCore::ResourceHandle::~ResourceHandle):
2906         (WebCore::ResourceHandle::start):
2907         (WebCore::ResourceHandle::cancel):
2908         (WebCore::ResourceHandle::bufferedData):
2909         (WebCore::ResourceHandle::supportsBufferedData):
2910         (WebCore::ResourceHandle::setDefersLoading):
2911         (WebCore::ResourceHandle::willLoadFromCache):
2912         (WebCore::ResourceHandle::loadsBlocked):
2913         (WebCore::SyncLoader::SyncLoader):
2914         (WebCore::SyncLoader::~SyncLoader):
2915         (WebCore::SyncLoader::didReceiveResponse):
2916         (WebCore::SyncLoader::didReceiveData):
2917         (WebCore::SyncLoader::didFail):
2918         (WebCore::ResourceHandle::loadResourceSynchronously):
2919         * platform/network/android/ResourceLoaderAndroid.h: Added.
2920         (WebCore::ResourceLoaderAndroid::~ResourceLoaderAndroid):
2921         (WebCore::ResourceLoaderAndroid::ResourceLoaderAndroid):
2922
2923 2009-12-14  Marco Martin  <notmart@gmail.com>
2924
2925         Reviewed by Kenneth Rohde Christiansen.
2926
2927         In the Scrollbar painting of the Qt theme integration,
2928         intersects any previous clip rects with the one needed to paint the scrollbar.
2929         This fixes the painting in QGraphicsview, when the parent of the widget that 
2930         paints the QWebPage has the QGraphicsItem::ItemClipsChildrenToShape set and
2931         a piece of the scrollbar should be cipped away
2932         https://bugs.webkit.org/show_bug.cgi?id=30366
2933
2934         No new tests.
2935
2936         * platform/qt/ScrollbarThemeQt.cpp:
2937         (WebCore::ScrollbarThemeQt::paint):
2938
2939 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
2940
2941         Reviewed by Eric Seidel.
2942
2943         [V8] Generate bindings for trivial indexers.
2944         https://bugs.webkit.org/show_bug.cgi?id=32455
2945
2946         Covered by existing tests.
2947
2948         * bindings/scripts/CodeGeneratorV8.pm:
2949             Added detecting indexers and generating code for them.
2950         * bindings/v8/V8Collection.h: Removed code that's now generated.
2951         * bindings/v8/V8DOMWrapper.cpp:
2952         (WebCore::V8DOMWrapper::getTemplate): Ditto.
2953
2954 2009-12-14  Alexey Proskuryakov  <ap@apple.com>
2955
2956         Reviewed by Dave Hyatt.
2957
2958         https://bugs.webkit.org/show_bug.cgi?id=31660
2959         REGRESSION (r49394): Image load event fires before the document fragment is attached.
2960
2961         Test: fast/images/image-load-event-in-fragment.html
2962
2963         We cannot fire load events immediately after parsing a fragment - an element inserted via
2964         innerHTML or equivalent should be reachable via getElementById() by the time its load event
2965         fires.
2966
2967         * dom/Document.cpp: (WebCore::Document::implicitClose): Call dispatchPendingBeforeLoadEvents()
2968         and dispatchPendingLoadEvents() individually. I'm not sure why these calls are here, just
2969         preserving existing behavior.
2970
2971         * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
2972         * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
2973         Load events for elements that have just been parsed cannot be dispatched yet, we should give
2974         the elements a chance to be inserted into a document first. There is no compatibility baggage
2975         for beforeload, so it seems OK to dispatch it right away.
2976
2977         * loader/ImageLoader.cpp:
2978         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvents):
2979         (WebCore::ImageLoader::dispatchPendingLoadEvents):
2980         * loader/ImageLoader.h:
2981         Separated dispatchPendingEvents() into individual functions for each event kind.
2982
2983 2009-12-14  Jakob Petsovits  <jpetsovits@rim.com>
2984
2985         Reviewed by Simon Fraser.
2986
2987         Add FloatQuad::isRectilinear() to check whether it can be represented as FloatRect.
2988         https://bugs.webkit.org/show_bug.cgi?id=30442
2989
2990         This enables optimizations for distinguishing between
2991         arbitrary FloatQuads and rectilinear ones.
2992
2993         * platform/graphics/FloatQuad.cpp:
2994         (WebCore::FloatQuad::isRectilinear):
2995         * platform/graphics/FloatQuad.h:
2996
2997 2009-12-14  Simon Hausmann  <hausmann@webkit.org>
2998
2999         Reviewed by Holger Freyther.
3000
3001         [Qt] Add support for keyboard modifiers to TouchEvent
3002
3003         https://bugs.webkit.org/show_bug.cgi?id=32482
3004
3005         Similar to other ui events with keyboard state, get the alt, shift,
3006         meta and ctrl modifiers straight from the platform event.
3007
3008         * dom/TouchEvent.cpp:
3009         (WebCore::TouchEvent::TouchEvent):
3010         (WebCore::TouchEvent::initTouchEvent):
3011         * dom/TouchEvent.h:
3012         (WebCore::TouchEvent::create):
3013         * dom/TouchEvent.idl:
3014         * page/EventHandler.cpp:
3015         (WebCore::EventHandler::handleTouchEvent):
3016         * platform/PlatformTouchEvent.h:
3017         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
3018         (WebCore::PlatformTouchEvent::shiftKey):
3019         (WebCore::PlatformTouchEvent::ctrlKey):
3020         (WebCore::PlatformTouchEvent::altKey):
3021         (WebCore::PlatformTouchEvent::metaKey):
3022         * platform/qt/PlatformTouchEventQt.cpp:
3023         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
3024
3025 2009-12-14  Benjamin Poulain  <benjamin.poulain@nokia.com>
3026
3027         Reviewed by Kenneth Rohde Christiansen.
3028
3029         [Qt] crash when clicking "Sign out" in GMail
3030         https://bugs.webkit.org/show_bug.cgi?id=32300
3031
3032         When the ResourceLoader cancels the handle we have to make sure not to access
3033         the resource handle afterwards again.
3034         This complete r29515
3035
3036         * platform/network/qt/QNetworkReplyHandler.cpp:
3037         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3038
3039 2009-12-14  Alexander Pavlov  <apavlov@chromium.org>
3040
3041         Reviewed by Pavel Feldman.
3042
3043         Implement InjectedScript.evaluateOnSelf() that evaluates functions in the InjectedScript context.
3044         https://bugs.webkit.org/show_bug.cgi?id=32517
3045
3046         * inspector/front-end/InjectedScript.js:
3047         (InjectedScript.evaluateOnSelf):
3048         * inspector/front-end/InjectedScriptAccess.js:
3049
3050 2009-12-14  Nayan Kumar K  <nayankk@gmail.com>
3051
3052         Reviewed by Darin Adler.
3053
3054         Fix for compilation errors in WML enabled builds.
3055
3056         https://bugs.webkit.org/show_bug.cgi?id=32481
3057
3058         * wml/WMLInputElement.cpp:
3059         (WebCore::WMLInputElement::setValue):
3060         (WebCore::WMLInputElement::setValueForUser):
3061         * wml/WMLInputElement.h:
3062
3063 2009-12-14  Andrei Popescu  <andreip@google.com>
3064
3065         Reviewed by Darin Adler.
3066
3067         [Android] Android needs ResourceError, ResourceResponse and
3068         ResourceRequest implementation.
3069         https://bugs.webkit.org/show_bug.cgi?id=32522
3070
3071         Add implementation of ResourceError, ResourceResponse and ResourceRequest.
3072         No new tests needed, the existing tests should be sufficient.
3073
3074         * platform/network/android/ResourceError.h: Added.
3075         (WebCore::ResourceError::ResourceError):
3076         * platform/network/android/ResourceRequest.h: Added.
3077         (WebCore::ResourceRequest::ResourceRequest):
3078         (WebCore::ResourceRequest::doUpdatePlatformRequest):
3079         (WebCore::ResourceRequest::doUpdateResourceRequest):
3080         (WebCore::ResourceRequest::setUserGesture):
3081         (WebCore::ResourceRequest::getUserGesture):
3082         * platform/network/android/ResourceResponse.h: Added.
3083         (WebCore::ResourceResponse::ResourceResponse):
3084         (WebCore::ResourceResponse::doUpdateResourceResponse):
3085
3086 2009-12-14  Sam Weinig  <sam@webkit.org>
3087
3088         Fix the build.
3089
3090         * page/Geolocation.cpp:
3091         * page/Geolocation.h:
3092
3093 2009-12-13  Sam Weinig  <sam@webkit.org>
3094
3095         Reviewed by Dan Bernstein.
3096
3097         Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
3098         Add client based Geolocation provider
3099
3100         Add first cut of a client based Geolocation provider. This is guarded by
3101         ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
3102         GeolocationControllerClient interface that no-one currently implements,
3103         but will in a subsequent patch.
3104
3105         * GNUmakefile.am:
3106         * WebCore.base.exp:
3107         * WebCore.gypi:
3108         * WebCore.pro:
3109         * WebCore.vcproj/WebCore.vcproj:
3110         * WebCore.xcodeproj/project.pbxproj:
3111         * WebCoreSources.bkl:
3112         * page/Geolocation.cpp:
3113         (WebCore::createGeopositionFromGeolocationPosition):
3114         (WebCore::createPositionErrorFromGeolocationError):
3115         (WebCore::Geolocation::Geolocation):
3116         (WebCore::Geolocation::~Geolocation):
3117         (WebCore::Geolocation::disconnectFrame):
3118         (WebCore::Geolocation::lastPosition):
3119         (WebCore::Geolocation::startRequest):
3120         (WebCore::Geolocation::fatalErrorOccurred):
3121         (WebCore::Geolocation::requestTimedOut):
3122         (WebCore::Geolocation::clearWatch):
3123         (WebCore::Geolocation::handleError):
3124         (WebCore::Geolocation::positionChanged):
3125         (WebCore::Geolocation::makeSuccessCallbacks):
3126         (WebCore::Geolocation::errorOccurred):
3127         (WebCore::Geolocation::geolocationServicePositionChanged):
3128         (WebCore::Geolocation::geolocationServiceErrorOccurred):
3129         (WebCore::Geolocation::startUpdating):
3130         (WebCore::Geolocation::stopUpdating):
3131         * page/Geolocation.h:
3132         * page/GeolocationController.cpp: Added.
3133         (WebCore::GeolocationController::GeolocationController):
3134         (WebCore::GeolocationController::~GeolocationController):
3135         (WebCore::GeolocationController::addObserver):
3136         (WebCore::GeolocationController::removeObserver):
3137         (WebCore::GeolocationController::positionChanged):
3138         (WebCore::GeolocationController::errorOccurred):
3139         (WebCore::GeolocationController::lastPosition):
3140         * page/GeolocationController.h: Added.
3141         * page/GeolocationControllerClient.h: Added.
3142         (WebCore::GeolocationControllerClient::~GeolocationControllerClient):
3143         * page/GeolocationError.h: Added.
3144         (WebCore::GeolocationError::):
3145         (WebCore::GeolocationError::create):
3146         (WebCore::GeolocationError::code):
3147         (WebCore::GeolocationError::message):
3148         * page/GeolocationPosition.h: Added.
3149         (WebCore::GeolocationPosition::create):
3150         (WebCore::GeolocationPosition::timestamp):
3151         (WebCore::GeolocationPosition::latitude):
3152         (WebCore::GeolocationPosition::longitude):
3153         (WebCore::GeolocationPosition::accuracy):
3154         (WebCore::GeolocationPosition::altitude):
3155         (WebCore::GeolocationPosition::altitudeAccuracy):
3156         (WebCore::GeolocationPosition::heading):
3157         (WebCore::GeolocationPosition::speed):
3158         (WebCore::GeolocationPosition::canProvideAltitude):
3159         (WebCore::GeolocationPosition::canProvideAltitudeAccuracy):
3160         (WebCore::GeolocationPosition::canProvideHeading):
3161         (WebCore::GeolocationPosition::canProvideSpeed):
3162         (WebCore::GeolocationPosition::GeolocationPosition):
3163         * page/Geoposition.h:
3164         (WebCore::Geoposition::create):
3165         * page/Page.cpp:
3166         (WebCore::Page::Page):
3167         * page/Page.h:
3168         (WebCore::Page::geolocationController):
3169         * svg/graphics/SVGImage.cpp:
3170         (WebCore::SVGImage::dataChanged):
3171
3172 2009-12-14  Adam Langley  <agl@google.com>
3173
3174         Reviewed by Darin Adler.
3175
3176         Test that an image's size is valid before reading it.
3177
3178         Previously, an image that failed to load (m_failed == true) would
3179         trigger an assertion failure when WebKit tried to get its size.
3180
3181         https://bugs.webkit.org/show_bug.cgi?id=32176
3182         http://code.google.com/p/chromium/issues/detail?id=28566
3183
3184         Test: fast/images/size-failure.html
3185
3186         * platform/graphics/ImageSource.cpp:
3187         (WebCore::ImageSource::createFrameAtIndex):
3188
3189 2009-12-14  Dan Bernstein  <mitz@apple.com>
3190
3191         Reviewed by Darin Adler.
3192
3193         <rdar://problem/7458272> REGRESSION (r50470) Reproducible ASSERT in
3194         RenderWidget::setWidgetGeometry()
3195
3196         Test: fast/forms/defer-updateFromElement.html
3197
3198         * html/HTMLFormControlElement.cpp:
3199         (WebCore::updateFromElementCallback): Added this post-attach callback
3200         that invokes updateFromElement().
3201         (WebCore::HTMLFormControlElement::recalcStyle): Instead of calling
3202         updateFromElement(), enqueue a post-attach (in this case, post-style
3203         recalc) callback to do it. updateFromElement() can cause the selection
3204         to change, and in turn trigger synchronous layout, so it must not be
3205         called during style recalc.
3206
3207 2009-12-14  Pavel Feldman  <pfeldman@chromium.org>
3208
3209         Reviewed by Timothy Hatcher.
3210
3211         Web Inspector: [regression] inspector deletes nodes when editing css.
3212
3213         Now all the treeoutlines are focusable, sections and their titles
3214         are also focusable. Change contains couple of drive-by fixes such as
3215         canceling of the attribute edit nuking attr info and maintaining proper
3216         selection while deleting nodes.
3217
3218         https://bugs.webkit.org/show_bug.cgi?id=32460
3219
3220         * inspector/front-end/CallStackSidebarPane.js:
3221         (WebInspector.CallStackSidebarPane.prototype.handleShortcut):
3222         * inspector/front-end/ConsoleView.js:
3223         (WebInspector.ConsoleView.prototype._promptKeyDown):
3224         * inspector/front-end/DataGrid.js:
3225         (WebInspector.DataGrid.prototype._keyDown):
3226         * inspector/front-end/DatabaseQueryView.js:
3227         (WebInspector.DatabaseQueryView):
3228         (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
3229         * inspector/front-end/ElementsPanel.js:
3230         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
3231         (WebInspector.ElementsPanel.prototype.get defaultFocusedElement):
3232         (WebInspector.ElementsPanel.prototype.handleShortcut):
3233         * inspector/front-end/ElementsTreeOutline.js:
3234         (WebInspector.ElementsTreeOutline):
3235         (WebInspector.ElementsTreeOutline.prototype._keyDown):
3236         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
3237         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
3238         * inspector/front-end/Panel.js:
3239         (WebInspector.Panel.prototype.show):
3240         (WebInspector.Panel.prototype.get defaultFocusedElement):
3241         * inspector/front-end/PropertiesSection.js:
3242         (WebInspector.PropertiesSection):
3243         * inspector/front-end/ScriptsPanel.js:
3244         (WebInspector.ScriptsPanel):
3245         (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
3246         (WebInspector.ScriptsPanel.prototype.handleShortcut):
3247         * inspector/front-end/SidebarPane.js:
3248         (WebInspector.SidebarPane):
3249         (WebInspector.SidebarPane.prototype.toggleExpanded):
3250         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
3251         * inspector/front-end/SourceFrame.js:
3252         (WebInspector.SourceFrame.prototype._loaded):
3253         * inspector/front-end/TextPrompt.js:
3254         (WebInspector.TextPrompt):
3255         * inspector/front-end/inspector.css:
3256         * inspector/front-end/inspector.html:
3257         * inspector/front-end/inspector.js:
3258         (WebInspector.loaded):
3259         (WebInspector.documentKeyDown):
3260         (WebInspector.documentCanCopy):
3261         (WebInspector.documentCopy):
3262         (WebInspector._searchFieldManualFocus):
3263         (WebInspector._searchKeyDown):
3264         (WebInspector.startEditing.cleanUpAfterEditing):
3265         (WebInspector.startEditing.keyDownEventListener):
3266         (WebInspector.startEditing):
3267         * inspector/front-end/treeoutline.js:
3268         (TreeOutline):
3269         (TreeOutline._removeChildAtIndex):
3270         (TreeOutline.prototype._treeKeyDown):
3271         (TreeElement.prototype.deselect):
3272         * inspector/front-end/utilities.js:
3273         ():
3274
3275 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
3276
3277         Unreviewed, build fix.
3278
3279         [Chromium] Guard all of JSC's wrapper cache-related members on Document.
3280
3281         * dom/Document.cpp:
3282         (WebCore::Document::createWrapperCache): Widened the guards to the whole method.
3283         * dom/Document.h: Added JSC guards to wrapper cache-related members.
3284
3285 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
3286
3287         Reviewed by Adele Peterson.
3288
3289         AX: there's an infinite loop going on for some webpages - facebook.com
3290         https://bugs.webkit.org/show_bug.cgi?id=32501
3291
3292         The problem is that parentObjectUnignored() cannot be called
3293         while in accessibilityIsIgnored, because it leads to
3294         recursiveness. Specifically, there were checks to determine
3295         if an object was within a ARIA tree. That check should
3296         1) be moved to all platforms, and 2) not call parentObjectUnignored().
3297
3298         Test: accessibility/hang-in-isignored.html
3299
3300         * accessibility/AccessibilityRenderObject.cpp:
3301         (WebCore::AccessibilityRenderObject::isAllowedChildOfTree):
3302         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3303         * accessibility/AccessibilityRenderObject.h:
3304         * accessibility/mac/AccessibilityObjectMac.mm:
3305         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
3306
3307 2009-12-14  Eric Carlson  <eric.carlson@apple.com>
3308
3309         Reviewed by Dan Bernstein.
3310
3311         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
3312
3313         Use MediaControllerThemeQuickTime on Leopard.
3314
3315         * rendering/RenderThemeMac.mm:
3316         (WebCore::mediaControllerTheme):
3317
3318 2009-12-14  Adam Roben  <aroben@apple.com>
3319
3320         Move QuartzCore-related build settings into a vsprops file
3321
3322         Fixes <http://webkit.org/b/32518>
3323
3324         Reviewed by Dan Bernstein.
3325
3326         * WebCore.vcproj/WebCore.vcproj: Let VS reformat the files list, added
3327         WebCoreQuartzCore.vsprops to the non-Cairo configurations, moved all
3328         other QuartzCore-related build settings from here...
3329         * WebCore.vcproj/WebCoreQuartzCore.vsprops: ...to here.
3330
3331 2009-12-14  Yael Aharon  <yael.aharon@nokia.com>
3332
3333         Reviewed by Antti Koivisto.
3334
3335         handling scripts can block UI
3336         https://bugs.webkit.org/show_bug.cgi?id=27612
3337
3338         Break execution of external scrips to smaller chunks. 
3339         No new tests since no new functionality was introduced.
3340
3341         * html/HTMLTokenizer.cpp:
3342         (WebCore::HTMLTokenizer::HTMLTokenizer):
3343         (WebCore::HTMLTokenizer::reset):
3344         (WebCore::HTMLTokenizer::notifyFinished):
3345         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
3346         (WebCore::HTMLTokenizer::executeExternalScriptsTimerFired):
3347         (WebCore::HTMLTokenizer::continueExecutingExternalScripts):
3348         * html/HTMLTokenizer.h:
3349
3350 2009-12-03  Holger Hans Peter Freyther  <zecke@selfish.org>
3351
3352         Reviewed by Simon Hausmann.
3353
3354         [Qt] Connect QNetworkReply via direct connections.
3355         https://bugs.webkit.org/show_bug.cgi?id=32113
3356
3357         In the past we have switched from auto connections to queued
3358         connections to get some more stability. The problem with the
3359         Queued connections is latency. Even when running simple loading
3360         tests the time it takes to runs highly varies and by using
3361         direct connections these tests produce a stable result.
3362
3363         We will have to look out for crashes coming from within the
3364         QNetworkAccessManager due this patch and address them then.
3365
3366         * platform/network/qt/QNetworkReplyHandler.cpp:
3367         (WebCore::QNetworkReplyHandler::start):
3368
3369 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
3370
3371         Rubber-stamped by Simon Hausmann.
3372
3373         [Qt] QtWebKit should use QImageReader::setQuality(49)
3374         https://bugs.webkit.org/show_bug.cgi?id=30740
3375
3376         Using QImageReader::setQuality(49) will influence the JPEG
3377         decoder of Qt to use the JDCT_IFAST routines for decompressing. This
3378         is showing a 5% improvement in a reduction that decodes all images
3379         used during the page loading test. The libjpeg documentation mentions
3380         that the IFAST routine is not as accurate as other routines but in
3381         our tests we couldn't see a difference.
3382
3383         * platform/graphics/qt/ImageDecoderQt.cpp:
3384         (WebCore::ImageDecoderQt::setData):
3385
3386 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
3387
3388         Reviewed by Sam Weinig.
3389         
3390         Changed GC from mark-sweep to mark-allocate.
3391
3392         * ForwardingHeaders/runtime/WeakGCMap.h: Added.
3393         * bindings/js/GCController.cpp:
3394         (WebCore::collect):
3395         (WebCore::GCController::gcTimerFired):
3396         (WebCore::GCController::garbageCollectNow): Updated for rename.
3397
3398         * bindings/js/JSDOMBinding.cpp:
3399         (WebCore::removeWrappers):
3400         (WebCore::hasCachedDOMObjectWrapperUnchecked):
3401         (WebCore::hasCachedDOMObjectWrapper):
3402         (WebCore::hasCachedDOMNodeWrapperUnchecked):
3403         (WebCore::forgetDOMObject):
3404         (WebCore::forgetDOMNode):
3405         (WebCore::isObservableThroughDOM):
3406         (WebCore::markDOMNodesForDocument):
3407         (WebCore::markDOMObjectWrapper):
3408         (WebCore::markDOMNodeWrapper):
3409         * bindings/js/JSDOMBinding.h: Changed DOM wrapper maps to be WeakGCMaps.
3410         Don't ASSERT that an item must be in the WeakGCMap when its destructor
3411         runs, since it might have been overwritten in the map first.
3412
3413         * bindings/js/JSDocumentCustom.cpp:
3414         (WebCore::toJS): Changed Document from a DOM object wrapper to a DOM node
3415         wrapper, to simplify some code.
3416
3417         * bindings/js/JSInspectedObjectWrapper.cpp:
3418         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
3419         (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper):
3420         * bindings/js/JSInspectorCallbackWrapper.cpp: Use a WeakGCMap for these
3421         wrappers.
3422
3423         * bindings/js/JSNodeCustom.cpp:
3424         (WebCore::JSNode::markChildren): Updated for WeakGCMap and Document using
3425         a DOM node wrapper instead of a DOM object wrapper.
3426
3427         * bindings/js/JSSVGPODTypeWrapper.h:
3428         (WebCore::JSSVGDynamicPODTypeWrapperCache::wrapperMap):
3429         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
3430         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
3431         (WebCore::::~JSSVGDynamicPODTypeWrapper): Shined a small beam of sanity light
3432         on this code. Use hashtable-based lookup in JSSVGPODTypeWrapper.h instead
3433         of linear lookup through iteration, since that's what hashtables were
3434         invented for. Make JSSVGPODTypeWrapper.h responsible for reomving itself
3435         from the table, instead of its JS wrapper, to decouple these objects from
3436         GC, and because these objects are refCounted, not solely owned by their
3437         JS wrappers.
3438
3439         * bindings/scripts/CodeGeneratorJS.pm:
3440         * dom/Document.h: Adopted changes above.
3441
3442 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
3443
3444         Windows build fix: Removed an incorrect #ifdef.
3445
3446         * bindings/js/GCController.cpp:
3447
3448 2009-12-13  Charles Reis  <creis@chromium.org>
3449
3450         Reviewed by Adam Barth.
3451
3452         Refactor some security code out of V8 bindings
3453         https://bugs.webkit.org/show_bug.cgi?id=32326
3454
3455         No new tests. There should be no functionality changes in this patch,
3456         since it is only refactoring code.
3457
3458         * WebCore.gyp/WebCore.gyp:
3459         * WebCore.gypi:
3460         * bindings/BindingSecurity.h: Added.
3461         (WebCore::BindingSecurity::BindingSecurity):
3462         (WebCore::::canAccessWindow):
3463         (WebCore::::canAccessFrame):
3464         (WebCore::::checkNodeSecurity):
3465         * bindings/BindingSecurityBase.cpp: Added.
3466         (WebCore::BindingSecurityBase::getDOMWindow):
3467         (WebCore::BindingSecurityBase::getFrame):
3468         (WebCore::BindingSecurityBase::canAccessWindow):
3469         * bindings/BindingSecurityBase.h: Added.
3470         * bindings/GenericBinding.h: Added.
3471         (WebCore::):
3472         * bindings/scripts/CodeGeneratorV8.pm:
3473         * bindings/v8/ScriptController.cpp:
3474         (WebCore::ScriptController::isSafeScript):
3475         * bindings/v8/V8Binding.h:
3476         * bindings/v8/V8BindingState.cpp: Added.
3477         (WebCore::::Only):
3478         (WebCore::::getActiveWindow):
3479         (WebCore::::immediatelyReportUnsafeAccessTo):
3480         * bindings/v8/V8BindingState.h: Added.
3481         (WebCore::):
3482         * bindings/v8/V8Proxy.cpp:
3483         (WebCore::V8Proxy::reportUnsafeAccessTo):
3484         (WebCore::reportUnsafeJavaScriptAccess):
3485         * bindings/v8/V8Proxy.h:
3486         (WebCore::V8Proxy::):
3487         * bindings/v8/custom/V8CustomBinding.cpp:
3488         (WebCore::allowSettingFrameSrcToJavascriptUrl):
3489         (WebCore::INDEXED_ACCESS_CHECK):
3490         (WebCore::NAMED_ACCESS_CHECK):
3491         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3492         (WebCore::V8Custom::WindowSetTimeoutImpl):
3493         (WebCore::ACCESSOR_GETTER):
3494         (WebCore::ACCESSOR_SETTER):
3495         (WebCore::CALLBACK_FUNC_DECL):
3496         (WebCore::V8Custom::ClearTimeoutImpl):
3497         (WebCore::NAMED_ACCESS_CHECK):
3498         (WebCore::INDEXED_ACCESS_CHECK):
3499         * bindings/v8/custom/V8LocationCustom.cpp:
3500         (WebCore::ACCESSOR_GETTER):
3501         (WebCore::CALLBACK_FUNC_DECL):
3502         (WebCore::INDEXED_ACCESS_CHECK):
3503         (WebCore::NAMED_ACCESS_CHECK):
3504
3505 2009-11-30  Holger Hans Peter Freyther  <zecke@selfish.org>
3506
3507         Reviewed by Simon Hausmann.
3508
3509         [Qt] Implement initializeMaximumHTTPConnectionCountPerHost.
3510         https://bugs.webkit.org/show_bug.cgi?id=31849
3511
3512         Qt allows to have three connections per host on Symbian, for
3513         every other platform the limit is set to six connections per
3514         host but the default implementation will only schedule four
3515         connections per host.
3516         In a manual test we seem to get the best loading speed by
3517         going with Qt's limit and schedule two more jobs to allow Qt
3518         to prepare them.
3519
3520         * platform/network/ResourceRequestBase.cpp:
3521         * platform/network/qt/ResourceRequestQt.cpp:
3522         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
3523
3524 2009-12-13  Dan Bernstein  <mitz@apple.com>
3525
3526         Reviewed by Simon Fraser.
3527
3528         <rdar://problem/7341364> Crash at HTMLParser::popOneBlockCommon() after
3529         handling misnested residual style tags
3530
3531         Test: fast/parser/residual-style-close-ref-clone.html
3532
3533         * html/HTMLParser.cpp:
3534         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Gave the
3535         block stack a strong reference to the cloned residual style element. 
3536
3537 2009-12-13  Adele Peterson  <adele@apple.com>
3538
3539         Reviewed by Sam Weinig.
3540
3541         Reverting changes from http://trac.webkit.org/changeset/49585 to fix:
3542         <rdar://problem/7382815> REGRESSION (4.0.4-TOT): Home photo slider is too narrow at http://www.ziprealty.com/
3543         https://bugs.webkit.org/show_bug.cgi?id=32078
3544
3545         * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
3546
3547 2009-12-08  Jeremy Moskovich  <jeremy@chromium.org>
3548
3549         Reviewed by Eric Seidel.
3550
3551         Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController.
3552         https://bugs.webkit.org/show_bug.cgi?id=31802
3553
3554         The goal here is to allow for a zero runtime hit for ports that decide to select
3555         the API at compile time.
3556         When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled
3557         at runtime.  Core Text is used for OS Versions >= 10.6.
3558
3559         No test since this is already covered by existing pixel tests.
3560
3561         * platform/graphics/SimpleFontData.h:  Change #ifdef to define getNSFont() on Chrome/Mac .
3562         * platform/graphics/mac/ComplexTextController.cpp:
3563         (WebCore::shouldUseATSUIAPI): Cache decision about which API to use.
3564         (WebCore::ComplexTextController::ComplexTextRun::indexAt):
3565         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Stub function to call through
3566         to ATSUI/Core text variants.
3567         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): The actual work for object construction
3568         is delegate to createTextRunFromFontDataATSUI/createTextRunFromFontDataCoreText.
3569         * platform/graphics/mac/ComplexTextController.h:
3570         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
3571         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Small style fix.
3572         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataATSUI):
3573         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
3574         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
3575         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
3576         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText):
3577         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
3578
3579 2009-12-13  Eric Carlson  <eric.carlson@apple.com>
3580
3581         No review, rolling out r52059 until I can generate new Tiger
3582         test results.
3583
3584         * rendering/RenderThemeMac.mm:
3585         (WebCore::mediaControllerTheme):
3586
3587 2009-12-12  Sam Weinig  <sam@webkit.org>
3588
3589         Rubber-stamped by Dan Bernstein.
3590
3591         Fix the EXPERIMENTAL_SINGLE_VIEW_MODE build.
3592
3593         * Configurations/WebCore.xcconfig:
3594         * page/EventHandler.cpp:
3595         (WebCore::EventHandler::EventHandler):
3596         (WebCore::EventHandler::clearDragState):
3597         * page/mac/DragControllerMac.mm:
3598         (WebCore::DragController::isCopyKeyDown):
3599         * page/mac/EventHandlerMac.mm:
3600         (WebCore::EventHandler::eventActivatedView):
3601         * platform/PlatformKeyboardEvent.h:
3602         * platform/PlatformMouseEvent.h:
3603         * platform/PlatformWheelEvent.h:
3604         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3605         * platform/ScrollView.cpp:
3606         (WebCore::ScrollView::wheelEvent):
3607         * platform/mac/KeyEventMac.mm:
3608         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3609         * platform/mac/PlatformMouseEventMac.mm:
3610         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3611         * platform/mac/PopupMenuMac.mm:
3612         (WebCore::PopupMenu::show):
3613         * platform/mac/WidgetMac.mm:
3614
3615 2009-12-12  Sam Weinig  <sam@webkit.org>
3616
3617         Rubber-stamped by Dan Bernstein.
3618
3619         Fix the !ENABLE(VIDEO) build.
3620
3621         * rendering/RenderLayerCompositor.cpp:
3622         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
3623
3624 2009-12-12  Sam Weinig  <sam@webkit.org>
3625
3626         Rubber-stamped by Dan Bernstein.
3627
3628         Fix the !ENABLE(DATABASE) build.
3629
3630         * storage/SQLTransactionClient.cpp:
3631         * storage/SQLTransactionClient.h:
3632         * storage/SQLTransactionCoordinator.cpp:
3633         * storage/SQLTransactionCoordinator.h:
3634         * loader/FrameLoader.cpp:
3635         (WebCore::FrameLoader::stopLoading):
3636
3637 2009-12-12  Eric Carlson  <eric.carlson@apple.com>
3638
3639         Reviewed by Dan Bernstein.
3640
3641         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
3642
3643         Use MediaControllerThemeQuickTime on Leopard.
3644
3645         * rendering/RenderThemeMac.mm:
3646         (WebCore::mediaControllerTheme):
3647
3648 2009-12-12  Kenneth Russell  <kbr@google.com>
3649
3650         Reviewed by Oliver Hunt.
3651
3652         Errors in WebGL[T]Array set() and get() methods
3653         https://bugs.webkit.org/show_bug.cgi?id=32456
3654
3655         Test: fast/canvas/webgl/bug-32456.html
3656
3657         * bindings/js/JSWebGLFloatArrayCustom.cpp:
3658         (WebCore::JSWebGLFloatArray::set):
3659         * bindings/js/JSWebGLIntArrayCustom.cpp:
3660         (WebCore::JSWebGLIntArray::set):
3661         * bindings/js/JSWebGLShortArrayCustom.cpp:
3662         (WebCore::JSWebGLShortArray::set):
3663         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
3664         (WebCore::JSWebGLUnsignedByteArray::set):
3665         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
3666         (WebCore::JSWebGLUnsignedIntArray::set):
3667         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
3668         (WebCore::JSWebGLUnsignedShortArray::set):
3669         * bindings/v8/custom/V8WebGLArrayCustom.h:
3670         (WebCore::setWebGLArray):
3671         * html/canvas/WebGLFloatArray.idl:
3672         * html/canvas/WebGLUnsignedIntArray.idl:
3673
3674 2009-12-12  Kenneth Russell  <kbr@google.com>
3675
3676         Reviewed by Oliver Hunt.
3677
3678         Update WebGL tests to released versions
3679         https://bugs.webkit.org/show_bug.cgi?id=32457
3680
3681         * manual-tests/webgl/Earth.html:
3682         * manual-tests/webgl/ManyPlanetsDeep.html:
3683         * manual-tests/webgl/SpinningBox.html:
3684         * manual-tests/webgl/TeapotPerPixel.html:
3685         * manual-tests/webgl/TeapotPerVertex.html:
3686         * manual-tests/webgl/resources/CanvasMatrix.js:
3687         (CanvasMatrix4.prototype.getAsWebGLFloatArray):
3688         * manual-tests/webgl/resources/utils3d.js:
3689         (initWebGL.gl.console.window.console.log):
3690         (initWebGL):
3691         (loadShader):
3692         (makeBox):
3693         (makeSphere):
3694         (processLoadObj):
3695         (doLoadObj):
3696         (doLoadImageTexture):
3697
3698 2009-12-12  Christian Dywan  <christian@twotoasts.de>
3699
3700         Reviewed by Dirk Schulze.
3701
3702         Remove the include to SVGFEDisplacementMap.h, it's not needed at all.
3703
3704         * platform/graphics/filters/FEComponentTransfer.h:
3705
3706 2009-12-12  Christian Dywan  <christian@twotoasts.de>
3707
3708         Rubber-stamped by Maciej Stachowiak.
3709
3710         Only include SVGFEDisplacementMap.h if SVG is enabled.
3711
3712         * platform/graphics/filters/FEComponentTransfer.h:
3713
3714 2009-12-12  Dirk Schulze  <krit@webkit.org>
3715
3716         Reviewed by Eric Seidel.
3717
3718         [Cairo][Qt] Alpha blending in SVG filters is wrong
3719         https://bugs.webkit.org/show_bug.cgi?id=32427
3720
3721         This patch is a follow-up to:
3722         http://trac.webkit.org/changeset/51950
3723         It fixes the alpha blending for Cairo and Qt on SVG Filters.
3724
3725         Covered by: * LayoutTests/svg/filters/feGaussianBlur.svg
3726                     * LayoutTests/svg/filters/feComposite.svg
3727                      and others.
3728
3729         * platform/graphics/cairo/ImageBufferCairo.cpp:
3730         (WebCore::ImageBuffer::platformTransformColorSpace):
3731         * platform/graphics/qt/ImageBufferQt.cpp:
3732         (WebCore::ImageBuffer::platformTransformColorSpace):
3733
3734 2009-12-11  Eric Roman  <eroman@chromium.org>
3735
3736         Unreviewed build fix.
3737
3738         [V8] Add a method on ScriptController to get it compiling after http://trac.webkit.org/changeset/52033.
3739
3740         * bindings/v8/ScriptController.cpp:
3741         (WebCore::ScriptController::anyPageIsProcessingUserGesture):
3742         * bindings/v8/ScriptController.h:
3743
3744 2009-12-11  Dimitri Glazkov  <dglazkov@chromium.org>
3745
3746         Unreviewed, build fix.
3747
3748         [V8] Change bindings to catch up with http://trac.webkit.org/changeset/52033.
3749
3750         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3751         (WebCore::CALLBACK_FUNC_DECL): Added retrieval of calling frame and passing
3752           to the submit method.
3753
3754 2009-12-11  Sam Weinig  <sam@webkit.org>
3755
3756         Reviewed by Mark Rowe.
3757
3758         Put -umbrella linker flag into a variable so that it can be overridden.
3759
3760         * Configurations/WebCore.xcconfig:
3761
3762 2009-12-11  Shinichiro Hamaji  <hamaji@chromium.org>
3763
3764         Reviewed by Darin Adler.
3765
3766         body with display:inline causes crash
3767         https://bugs.webkit.org/show_bug.cgi?id=32371
3768
3769         Tests: fast/inline/inline-body-crash.html
3770                fast/inline/inline-body-with-scrollbar-crash.html
3771
3772         * page/FrameView.cpp:
3773         (WebCore::FrameView::createScrollbar):
3774         (WebCore::FrameView::layout):
3775
3776 2009-12-11  Brady Eidson  <beidson@apple.com>
3777
3778         Rubberstamped by Sam Weinig.
3779
3780         https://webkit.org/b/22851 - Remove defunct FIXME.
3781
3782         * html/HTMLPlugInElement.cpp:
3783         (WebCore::HTMLPlugInElement::HTMLPlugInElement): This flag was removed completely
3784           from the HTMLFrameOwnerElement chain of classes.
3785
3786 2009-12-11  Darin Adler  <darin@apple.com>
3787
3788         Reviewed by Dan Bernstein.
3789
3790         Small refactoring to get rid of some extra unneeded selection-related work
3791         in RenderLayer::scrollToOffset and separate caret and range selection
3792         logic in FrameView::layout. This may be useful later when changing how
3793         the range selection logic works to fix layout reentrancy problems.
3794
3795         * page/Frame.cpp: Removed invalidateSelection.
3796         * page/Frame.h: Ditto.
3797
3798         * page/FrameView.cpp:
3799         (WebCore::FrameView::layout): Call SelectionController::setNeedsLayout
3800         and Frame::selectionLayoutChanged instead of calling
3801         Frame::invalidateSelection, which was just a function that called
3802         both of those others.
3803
3804         * rendering/RenderLayer.cpp:
3805         (WebCore::RenderLayer::scrollToOffset): Call
3806         SelectionController::setNeedsLayout instead of calling
3807         Frame::invalidateSelection. This call site only needs the caret-related
3808         work in that first function, not the other work formerly done by
3809         Frame::invalidateSelection. The caret works outside the normal
3810         painting and rendering system, and the range selection highlight is
3811         more or less inside it and doesn't need special handling when scrolling.
3812
3813 2009-12-11  Brady Eidson  <beidson@apple.com>
3814
3815         Reviewed by Darin Adler.
3816
3817         <rdar://problem/7342725> and https://webkit.org/b/32383
3818         Selecting article text at sfgate.com results in spurious back/forward entries
3819
3820         If an iframe had a form and that form is submitted by javascript, IE and Opera don't add back/forward entries.
3821         
3822         In the case where the frame was added dynamically via createElement(), Firefox would like to add a back entry
3823         but has a bug that prevents this.
3824
3825         Therefore by a bizarre coincidence, WebKit is the loner and the only engine affected by sfgate.com's technique.
3826
3827         This patch changes us to willfully match IE and Opera and fixes sfgate.com in the process.
3828
3829         Tests: http/tests/navigation/dynamic-iframe-dynamic-form-back-entry.html
3830                http/tests/navigation/parsed-iframe-dynamic-form-back-entry.html
3831
3832         Capture whether the form was submitted by javascript:
3833         * loader/FormState.cpp:
3834         (WebCore::FormState::FormState):
3835         (WebCore::FormState::create):
3836         * loader/FormState.h:
3837         (WebCore::FormState::formSubmissionTrigger):
3838
3839         When deciding the value of the lockBackForwardList variable, take formSubmissionTrigger() into account:
3840         * loader/RedirectScheduler.cpp:
3841         (WebCore::RedirectScheduler::scheduleFormSubmission):
3842
3843         Rearrange the public HTMLFormElement::submit() method to be called only from DOM or JS bindings,
3844         and figure out the rest of the parameters for an internal submit() call including the formSubmissionTrigger:
3845         * bindings/js/JSHTMLFormElementCustom.cpp:
3846         (WebCore::JSHTMLFormElement::submit):
3847         * html/HTMLFormElement.cpp:
3848         (WebCore::HTMLFormElement::prepareSubmit):
3849         (WebCore::HTMLFormElement::submit):
3850         * html/HTMLFormElement.h:
3851
3852 2009-12-11  Alexey Proskuryakov  <ap@apple.com>
3853
3854         Reviewed by Darin Adler.
3855
3856         https://bugs.webkit.org/show_bug.cgi?id=32445
3857         REGRESSION: http://www.mcafee.com/japan/ displays unstyled
3858
3859         * css/CSSImportRule.cpp:
3860         (WebCore::CSSImportRule::setCSSStyleSheet):
3861         * html/HTMLLinkElement.cpp:
3862         (WebCore::HTMLLinkElement::setCSSStyleSheet):
3863         Add a quirk for mcafee.com/japan (http or https, with or without www).
3864
3865 2009-12-11  Sam Weinig  <sam@webkit.org>
3866
3867         Reviewed by Dan Bernstein.
3868
3869         Make PlatformWheelEvent.h private instead of project.
3870
3871         * WebCore.xcodeproj/project.pbxproj:
3872
3873 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3874
3875         Reviewed by Darin Adler.
3876
3877         Support reflections on composited layers
3878         https://bugs.webkit.org/show_bug.cgi?id=31885
3879         
3880         First part of supporting composited reflections on compositing layers.
3881         
3882         Rename the m_transformLayer member variable to m_structuralLayer, since it
3883         will get used both for transform layers (for preserve-3d) and to hold a flattening
3884         layer related to reflections, both of which have similar requirements, and are
3885         mutually exclusive.
3886
3887         * platform/graphics/mac/GraphicsLayerCA.h:
3888         primaryLayer(), hostLayerForSublayers() and layerForSuperlayer() all now return
3889         a CALayer, since m_structuralLayer isn't always a WebLayer.
3890         
3891         * platform/graphics/mac/GraphicsLayerCA.mm:
3892         (WebCore::GraphicsLayerCA::commitLayerChanges):
3893         updateLayerPreserves3D() renamed to updateStructuralLayer()
3894         
3895         (WebCore::GraphicsLayerCA::updateLayerNames):
3896         New "update" method for updating layer names.
3897         
3898         (WebCore::GraphicsLayerCA::updateSublayerList):
3899         m_transformLayer -> m_structuralLayer. Also minor refactor to only
3900         allocate newSublayers in one place.
3901         
3902         (WebCore::GraphicsLayerCA::updateLayerSize):
3903         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
3904         (WebCore::GraphicsLayerCA::hostLayerForSublayers):
3905         (WebCore::GraphicsLayerCA::layerForSuperlayer):
3906         m_transformLayer -> m_structuralLayer
3907         
3908         (WebCore::GraphicsLayerCA::updateStructuralLayer):
3909         Call ensureStructuralLayer() which handles any deltas to the
3910         structural layer type.
3911         
3912         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
3913         Handle changes to the structural layer requirements
3914         
3915         (WebCore::GraphicsLayerCA::structuralLayerPurpose):
3916         Return an enum describing the purpose of the structural layer; for now
3917         this only returns NoStructuralLayer or StructuralLayerForPreserves3D, but
3918         will in future also have a value related to reflections.
3919
3920 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3921
3922         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
3923
3924         * page/animation/KeyframeAnimation.cpp:
3925         (WebCore::KeyframeAnimation::pauseAnimation):
3926
3927 2009-12-11  Adam Roben  <aroben@apple.com>
3928
3929         Windows build fix
3930
3931         * platform/graphics/win/WKCACFLayerRenderer.cpp: Removed #include of
3932         non-existent header.
3933
3934 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3935
3936         Build fix, no review.
3937
3938         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
3939
3940         * page/animation/KeyframeAnimation.cpp:
3941         (WebCore::KeyframeAnimation::startAnimation):
3942
3943 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3944
3945         Build fix, no review.
3946
3947         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
3948
3949         * page/animation/ImplicitAnimation.cpp:
3950         (WebCore::ImplicitAnimation::startAnimation):
3951
3952 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3953
3954         Reviewed by Darin Adler.
3955
3956         Negative values for animation-delay are ignored (treated as zero)
3957         https://bugs.webkit.org/show_bug.cgi?id=26150
3958         
3959         When we get the m_startTime for an animation or transition, subtract any negative
3960         delay so the animation/transition behaves like it started in the past, per spec.
3961
3962         Tests: animations/negative-delay.html
3963                transitions/negative-delay.html
3964
3965         * page/animation/AnimationBase.cpp:
3966         (WebCore::AnimationBase::updateStateMachine):
3967
3968 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
3969
3970         Reviewed by Dan Bernstein.
3971
3972         Accelerated transitions broken when mixed with paused animations
3973         https://bugs.webkit.org/show_bug.cgi?id=32387
3974
3975         Synchronization of a mixture of accelerated and software animations occurs via
3976         a callback from GraphicsLayerCA, which ends up in
3977         AnimationControllerPrivate::receivedStartTimeResponse(). The time passed in is
3978         the exact time at which the accelerated animations started, so is used as the
3979         start time for all animations and transitions which are marked as waiting.
3980
3981         The bug was that the callback called when re-starting animations that were
3982         paused sent back an old time value, but this was used to start normal
3983         transitions. Therefore the transition would start with a stale start time, and
3984         thus end prematurely.
3985
3986         The fix is to change the way that GraphicsLayerCA handles paused animations.
3987         Rather than setting the beginTime of the animation, it uses a beginTime of 0
3988         and a timeOffset that gets passed down. Thus the callbacks always come with
3989         beginTime for 'now'.
3990
3991         Also clarify the role of AnimationBase::endAnimation() by splitting it into
3992         pauseAnimation() and endAnimation(), and pass down timeOffsets, rather than
3993         beginTimes when starting and pausing.
3994
3995         Manual test only, because the bug requires a non-trivial combination of
3996         animation pausing and transitions which take time, and the bug only shows in
3997         pixel results.
3998         
3999         * manual-tests/animation/transitions-and-paused-animations.html
4000
4001         * page/animation/AnimationBase.cpp:
4002         (WebCore::AnimationBase::updateStateMachine):
4003         * page/animation/AnimationBase.h:
4004         (WebCore::AnimationBase::startAnimation):
4005         (WebCore::AnimationBase::pauseAnimation):
4006         (WebCore::AnimationBase::endAnimation):
4007         * page/animation/ImplicitAnimation.cpp:
4008         (WebCore::ImplicitAnimation::~ImplicitAnimation):
4009         (WebCore::ImplicitAnimation::startAnimation):
4010         (WebCore::ImplicitAnimation::endAnimation):
4011         (WebCore::ImplicitAnimation::onAnimationEnd):
4012         * page/animation/ImplicitAnimation.h:
4013         (WebCore::ImplicitAnimation::pauseAnimation):
4014         * page/animation/KeyframeAnimation.cpp:
4015         (WebCore::KeyframeAnimation::~KeyframeAnimation):
4016         (WebCore::KeyframeAnimation::startAnimation):
4017         (WebCore::KeyframeAnimation::pauseAnimation):
4018         (WebCore::KeyframeAnimation::endAnimation):
4019         (WebCore::KeyframeAnimation::onAnimationEnd):
4020         * page/animation/KeyframeAnimation.h:
4021         * platform/graphics/GraphicsLayer.h:
4022         (WebCore::GraphicsLayer::addAnimation):
4023         (WebCore::GraphicsLayer::pauseAnimation):
4024         * platform/graphics/mac/GraphicsLayerCA.h:
4025         (WebCore::GraphicsLayerCA::LayerAnimation::LayerAnimation):
4026         (WebCore::GraphicsLayerCA::AnimationProcessingAction::AnimationProcessingAction):
4027         * platform/graphics/mac/GraphicsLayerCA.mm:
4028         (WebCore::GraphicsLayerCA::addAnimation):
4029         (WebCore::GraphicsLayerCA::removeAnimationsForKeyframes):
4030         (WebCore::GraphicsLayerCA::pauseAnimation):
4031         (WebCore::GraphicsLayerCA::updateLayerAnimations):
4032         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
4033         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer):
4034         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
4035         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
4036         * rendering/RenderLayerBacking.cpp:
4037         (WebCore::RenderLayerBacking::startAnimation):
4038         (WebCore::RenderLayerBacking::startTransition):
4039         (WebCore::RenderLayerBacking::animationPaused):
4040         * rendering/RenderLayerBacking.h:
4041
4042 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
4043
4044         Reviewed by Darin Adler.
4045
4046         Fixes <http://webkit.org/b/32399>.
4047         Pan Scrolling Jumps out of frames if the initial location is in a frame that can't be scrolled.
4048         
4049         When we initially figure out the layer that we should begin scrolling, don't try to jump out
4050         of frames/iFrames to look at the owner document. We don't want to jump out of frames, so we
4051         don't need that logic anymore.
4052         
4053         Added a test to make sure that we don't pan scroll if we start to scroll in an empty
4054         iFrame that has a scrollable owner document.
4055
4056         Test: platform/win/fast/events/panScroll-no-iframe-jump.html
4057
4058         * dom/Node.cpp:
4059         (WebCore::Node::defaultEventHandler):
4060
4061 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
4062
4063         Reviewed by Adam Roben.
4064
4065         Fixes <http://webkit.org/b/32303>.
4066         Middle-mouse button not firing mousedown DOM event when autoscroll happens.
4067         
4068         This fix moves the pan scrolling code into Node.cpp, as part of the default event handler.
4069         We get two wins out of this:
4070             1) Mousedown DOM events are now fired before pan scrolling.
4071             2) Calling event.preventDefault() on a middle mouse button will now prevent pan scrolling.
4072         
4073         Added tests to show that middle mousedown DOM events are fired when panscrolling happens, and
4074         that when event.preventDefault is called, pan scrolling doesn't happen.
4075
4076         Tests: platform/win/fast/events/panScroll-event-fired.html
4077                platform/win/fast/events/panScroll-preventDefault.html
4078
4079         * dom/Node.cpp:
4080         (WebCore::Node::defaultEventHandler): Moved pan scrolling starting code to here.
4081         * page/EventHandler.cpp:
4082         (WebCore::EventHandler::startPanScrolling): Function to initialize scrolling variables and start timer.
4083         (WebCore::EventHandler::handleMousePressEvent): From here.
4084         * page/EventHandler.h:
4085
4086 2009-12-11  Chris Marrin  <cmarrin@apple.com>
4087
4088         Reviewed by Adam Roben.
4089
4090         Delay load DLLs for accelerated compositing
4091         https://bugs.webkit.org/show_bug.cgi?id=31856
4092         
4093         Change calls that use the data export symbols from
4094         QuartzCore to use the functions in QuartzCoreInterface.
4095         This allows QuartzCore to be delay loaded.
4096
4097         * platform/graphics/win/GraphicsLayerCACF.cpp:
4098         (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
4099         (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
4100         (WebCore::GraphicsLayerCACF::updateContentsImage):
4101         * platform/graphics/win/WKCACFLayer.cpp:
4102         (WebCore::toCACFLayerType):
4103         (WebCore::toCACFContentsGravityType):
4104         (WebCore::fromCACFContentsGravityType):
4105         (WebCore::toCACFFilterType):
4106         (WebCore::fromCACFFilterType):
4107         (WebCore::WKCACFLayer::create):
4108         (WebCore::WKCACFLayer::WKCACFLayer):
4109         (WebCore::WKCACFLayer::setContentsGravity):
4110         (WebCore::WKCACFLayer::contentsGravity):
4111         (WebCore::WKCACFLayer::setMagnificationFilter):
4112         (WebCore::WKCACFLayer::magnificationFilter):
4113         (WebCore::WKCACFLayer::setMinificationFilter):
4114         (WebCore::WKCACFLayer::minificationFilter):
4115         * platform/graphics/win/WKCACFLayer.h:
4116         (WebCore::WKCACFLayer::):
4117         * platform/graphics/win/WKCACFLayerRenderer.cpp:
4118         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
4119         (WebCore::WKCACFLayerRenderer::createRenderer):
4120
4121 2009-12-11  Steve Block  <steveblock@google.com>
4122
4123         Reviewed by Darin Fisher.
4124
4125         Adds an Android-specific implementation of initializeMaximumHTTPConnectionCountPerHost.
4126         https://bugs.webkit.org/show_bug.cgi?id=31810
4127
4128         * platform/network/ResourceRequestBase.cpp: Modified. Disable default implementation
4129             of initializeMaximumHTTPConnectionCountPerHost for Android.
4130         * platform/network/android: Added.
4131         * platform/network/android/ResourceRequestAndroid.cpp: Added.
4132         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Android-specific implementation.
4133
4134 2009-12-11  Kent Tamura  <tkent@chromium.org>
4135
4136         Reviewed by Darin Fisher.
4137
4138         Add acceptTypes() method to FileChooser.
4139         https://bugs.webkit.org/show_bug.cgi?id=32429
4140
4141         This method returns an 'accept' attribute value of the
4142         corresponding INPUT element. A ChromeClient::runOpenPanel()
4143         implementation can refer it through a FileChooser instance to
4144         support type-restricted file selecting.
4145
4146         This makes no user-visible changes for now.
4147
4148         * platform/FileChooser.h:
4149         (WebCore::FileChooser::acceptTypes):
4150         * rendering/RenderFileUploadControl.cpp:
4151         (WebCore::RenderFileUploadControl::acceptTypes):
4152         * rendering/RenderFileUploadControl.h:
4153
4154 2009-12-11  Victor Wang  <victorw@chromium.org>
4155
4156         Reviewed by Darin Fisher.
4157
4158         Changed PopupMenuChromium to keep the value selected from
4159         keyboard when popup is closed.
4160
4161         The problem is Chromium does not fire the onchange event
4162         when the popup is closed if an item is selected via
4163         keyboard by typing the first char of the item. This makes
4164         chromium popup not having consistent behaviours and also
4165         behaves differently from other major browsers.
4166         Calling popup->hide() instead of popup->hidePopup() in
4167         PopupMenu fixes the issues as it does extra step to check
4168         whethere there is a keyboard selection changed when closing
4169         the popup.
4170
4171         https://bugs.webkit.org/show_bug.cgi?id=32403
4172     
4173         TEST: add a manual test as the current layout test shell
4174         does not support sending keyboard events to popup list.
4175
4176         * manual-tests/chromium/select-close-popup-value-change.html: Added.
4177         * platform/chromium/PopupMenuChromium.cpp:
4178         (WebCore::PopupMenu::hide):
4179
4180 2009-12-11  anton muhin  <antonm@chromium.org>
4181
4182         Reviewed by Adam Barth.
4183
4184         [v8] refactor WeakReferenceMap.
4185         Move common bits of functionality to reduce duplication.
4186
4187         https://bugs.webkit.org/show_bug.cgi?id=32389
4188
4189         Should be covered by buildbots.
4190
4191         * bindings/v8/DOMData.h:
4192         (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
4193         (WebCore::DOMData::handleWeakObject):
4194         (WebCore::DOMData::removeObjectsFromWrapperMap):
4195         * bindings/v8/DOMDataStore.cpp:
4196         (WebCore::DOMDataStore::weakDOMObjectCallback):
4197         (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
4198         (WebCore::DOMDataStore::weakNodeCallback):
4199         (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
4200         (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
4201         * bindings/v8/DOMDataStore.h:
4202         * bindings/v8/V8DOMMap.cpp:
4203         (WebCore::visitDOMNodesInCurrentThread):
4204         (WebCore::visitDOMObjectsInCurrentThread):
4205         (WebCore::visitActiveDOMObjectsInCurrentThread):
4206         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
4207         (WebCore::visitSVGObjectsInCurrentThread):
4208         * bindings/v8/V8DOMMap.h:
4209         (WebCore::WeakReferenceMap::removeIfPresent):
4210         (WebCore::WeakReferenceMap::clear):
4211         (WebCore::WeakReferenceMap::visit):
4212
4213 2009-12-11  anton muhin  <antonm@chromium.org>
4214         Reviewed by Adam Barth.
4215
4216         [v8] in Debug builds create an additional handle scope
4217         when doing debug build checks.
4218         https://bugs.webkit.org/show_bug.cgi?id=32335
4219
4220         Should be covered by buildbots.
4221
4222         * bindings/v8/V8DOMWrapper.h:
4223         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
4224         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
4225
4226 2009-12-11  Pavel Feldman  <pfeldman@chromium.org>
4227
4228         Reviewed by Timothy Hatcher.
4229
4230         Web Inspector: Do not use ContextMenuItem as value type in custom
4231         context menu implementation.
4232
4233         https://bugs.webkit.org/show_bug.cgi?id=32411
4234
4235         * GNUmakefile.am:
4236         * WebCore.gypi:
4237         * WebCore.pro:
4238         * WebCore.vcproj/WebCore.vcproj:
4239         * WebCore.xcodeproj/project.pbxproj:
4240         * bindings/js/JSInspectorFrontendHostCustom.cpp:
4241         (WebCore::JSInspectorFrontendHost::showContextMenu):
4242         * inspector/InspectorFrontendHost.cpp:
4243         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
4244         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
4245         (WebCore::InspectorFrontendHost::showContextMenu):
4246         (WebCore::InspectorFrontendHost::contextMenuCleared):
4247         * inspector/InspectorFrontendHost.h:
4248         (WebCore::InspectorFrontendHost::MenuProvider::create):
4249         (WebCore::InspectorFrontendHost::MenuProvider::~MenuProvider):
4250         (WebCore::InspectorFrontendHost::MenuProvider::disconnect):
4251         (WebCore::InspectorFrontendHost::MenuProvider::populateContextMenu):
4252         (WebCore::InspectorFrontendHost::MenuProvider::contextMenuCleared):
4253         (WebCore::InspectorFrontendHost::MenuProvider::MenuProvider):
4254         * page/ContextMenuController.cpp:
4255         (WebCore::ContextMenuController::ContextMenuController):
4256         (WebCore::ContextMenuController::clearContextMenu):
4257         (WebCore::ContextMenuController::showContextMenu):
4258         (WebCore::ContextMenuController::contextMenuItemSelected):
4259         * page/ContextMenuController.h:
4260         * page/ContextMenuProvider.h: Added.
4261         (WebCore::ContextMenuProvider::~ContextMenuProvider):
4262         * page/ContextMenuSelectionHandler.h: Removed.
4263
4264 2009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
4265
4266         Reviewed by Antti Koivisto.
4267
4268         Basic cross-platform implementation of mapping platform touch events
4269         to JavaScript touch events.
4270
4271         https://bugs.webkit.org/show_bug.cgi?id=32114
4272
4273         Test: fast/events/basic-touch-events.html
4274
4275         * page/EventHandler.cpp:
4276         (WebCore::EventHandler::handleTouchEvent):
4277         * page/EventHandler.h: