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