2009-12-07 Victor Wang <victorw@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-12-07  Victor Wang  <victorw@chromium.org>
2
3         Reviewed by Dimitri Glazkov.
4
5         Implement NamedPropertyEnumerator and IndexedPropertyEnumerator for
6         V8 NPObject. This should make the object enumerable and fix the
7         enumeration issue in layout test plugins/netscape-enumerate.html.
8
9         Also fix some existing style issues per webkit style guidelines.
10
11         https://bugs.webkit.org/show_bug.cgi?id=32254
12
13         Test: plugins/netscape-enumerate.html
14
15         * bindings/v8/V8NPObject.cpp:
16         (npObjectInvokeImpl):
17         (npObjectInvokeDefaultHandler):
18         (npObjectGetProperty):
19         (npObjectPropertyEnumerator):
20         (npObjectNamedPropertyEnumerator):
21         (npObjectIndexedPropertyEnumerator):
22         (createV8ObjectForNPObject):
23
24 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
25
26         Reviewed by Alexey Proskuryakov.
27
28         Fragments now make WebSocket URL parsing fail.
29         https://bugs.webkit.org/show_bug.cgi?id=32144
30
31         * websockets/WebSocket.cpp:
32         (WebCore::WebSocket::connect):
33
34 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
35
36         Reviewed by Darin Adler.
37
38         Fix wrong length parsing in WebSocket.
39         https://bugs.webkit.org/show_bug.cgi?id=32203
40
41         * websockets/WebSocketChannel.cpp:
42         (WebCore::WebSocketChannel::didReceiveData):
43
44 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
45
46         Rubber-stamped by Maciej Stachowiak.
47
48         Turn on (SVG) Filters for Qt.
49         https://bugs.webkit.org/show_bug.cgi?id=32224
50
51         * WebCore.pro:
52
53 2009-12-07  Evan Martin  <evan@chromium.org>
54
55         Reviewed by Eric Seidel.
56
57         Chromium: theme scrollbars to match GTK theme.
58         Add functions to RenderThemeChromiumLinux to change the scrollbar
59         color.
60
61         Since the change is to the Chromium WebKit API layer, testing will
62         be in Chromium's test shell.
63         http://bugs.webkit.org/show_bug.cgi?id=32048
64
65         Patch from Markus Gutschke <markus@chromium.org>.
66
67         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
68         (WebCore::saturateAndBrighten):
69         (WebCore::outlineColor):
70         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
71         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
72         * rendering/RenderThemeChromiumLinux.cpp:
73         (WebCore::RenderThemeChromiumLinux::setScrollbarColors):
74         * rendering/RenderThemeChromiumLinux.h:
75         (WebCore::RenderThemeChromiumLinux::thumbInactiveColor):
76         (WebCore::RenderThemeChromiumLinux::thumbActiveColor):
77         (WebCore::RenderThemeChromiumLinux::trackColor):
78
79 2009-12-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
80
81         Reviewed by Xan Lopez.
82
83         [GTK] Doesn't respect Content-Disposition for downloads, and provides no way for apps to do that
84         https://bugs.webkit.org/show_bug.cgi?id=32247
85
86         Allow creating a ResourceResponse from a SoupMessage.
87
88         Covered by API test.
89
90         * platform/network/soup/ResourceResponse.h:
91         (WebCore::ResourceResponse::ResourceResponse):
92         * platform/network/soup/ResourceResponseSoup.cpp:
93         (WebCore::ResourceResponse::updateFromSoupMessage):
94
95 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
96
97         Not reviewed. Reverting problematic patch, causing errors.
98
99         Revert r51789 (Avoid zero division during SVGPaintServerPattern::setup()). Crashes on all Windows slaves.
100         Reopen bug https://bugs.webkit.org/show_bug.cgi?id=29912.
101
102         * svg/graphics/SVGPaintServerPattern.cpp:
103         (WebCore::SVGPaintServerPattern::setup):
104
105 2009-12-07  Kent Tamura  <tkent@chromium.org>
106
107         Reviewed by Darin Adler.
108
109         Add support for HTMLInputElement::stepUp() and stepDown() for
110         type=number and type=range.
111         https://bugs.webkit.org/show_bug.cgi?id=27451
112
113         Our implementation of stepUp() and stepDown() rounds the resultant
114         value to conform to the step value.
115         Change the number-string conversion method for RenderSlider to be
116         consistent with type=number.
117
118         Tests: fast/forms/input-step-number.html
119                fast/forms/input-step-range.html
120                fast/forms/input-step-unsupported.html
121
122         * html/HTMLInputElement.cpp:
123         (WebCore::HTMLInputElement::rangeUnderflow): Unify the code for NUMBER and RANGE.
124         (WebCore::HTMLInputElement::rangeOverflow): Unify the code for NUMBER and RANGE.
125         (WebCore::HTMLInputElement::minimum): Renamed from rangeMinimum(), and support for NUMBER.
126         (WebCore::HTMLInputElement::maximum): Renamed from rangeMaximum(), and support for NUMBER.
127         (WebCore::HTMLInputElement::stepBase):
128         (WebCore::HTMLInputElement::stepMismatch): Use stepBase().
129         (WebCore::HTMLInputElement::applyStepForNumberOrRange):
130         (WebCore::HTMLInputElement::stepUp):
131         (WebCore::HTMLInputElement::stepDown):
132         (WebCore::HTMLInputElement::formStringFromDouble):
133         * html/HTMLInputElement.h:
134         (WebCore::HTMLInputElement::stepUp):
135         (WebCore::HTMLInputElement::stepDown):
136         * html/HTMLInputElement.idl: Add stepUp() and stepDown().
137         * rendering/RenderSlider.cpp:
138         (WebCore::SliderRange::SliderRange): Sync with rangeMinimum()/rangeMaximum() renaming.
139         (WebCore::RenderSlider::updateFromElement): Use formStringFromDouble().
140         (WebCore::RenderSlider::setValueForPosition): Use formStringFromDouble().
141
142 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
143
144         Not reviewed: Chromium build fix try 2 (dumb error).
145
146         * bindings/v8/ScriptValue.h:
147         (WebCore::ScriptValue::getString):
148
149 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
150
151         Not reviewed: Chromium build fix.
152
153         Fix Chromium build break caused by an added dependency from
154         ScriptControllerBase to JSDOMWindowShell, and an API change in
155         ScriptValue.
156
157         * bindings/ScriptControllerBase.cpp:
158         (WebCore::ScriptController::executeIfJavaScriptURL):
159         * bindings/v8/ScriptValue.h:
160         (WebCore::ScriptValue::getString):
161
162 2009-12-07  Enrica Casucci  <enrica@apple.com>
163
164         Reviewed by Darin Adler.
165
166         REGRESSION(4.0.4-42a12): Indent does not work for twice modified with background text in gmail.
167         <rdar://problem/7442387>
168         https://bugs.webkit.org/show_bug.cgi?id=32233
169         
170         Fixes problem in re-creating the correct hierarchy under the new block.
171         Added extensive testing to cover all the cases.
172
173         Test: editing/execCommand/indent-with-style2.html
174
175         * editing/CompositeEditCommand.cpp:
176         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
177
178 2009-12-07  Dmitry Titov  <dimich@chromium.org>
179
180         Rubber-stamped by Darin Adler.
181
182         Remove ENABLE_SHARED_SCRIPT flags
183         https://bugs.webkit.org/show_bug.cgi?id=32245
184         This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
185
186         * Configurations/FeatureDefines.xcconfig:
187         * GNUmakefile.am:
188         * WebCore.pro:
189
190 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
191
192         Not reviewed. Force JS binding regeneration, eventually fixing the broken tests on the bots.
193
194         * bindings/scripts/CodeGeneratorJS.pm:
195
196 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
197
198         Not reviewed. Try to fix mac builds by touching svgtags.in - I only tried from-scratch builds.
199
200         * svg/svgtags.in:
201
202 2009-12-07  Gavin Barraclough  <barraclough@apple.com>
203
204         Reviewed by Oliver Hunt.
205
206         https://bugs.webkit.org/show_bug.cgi?id=32184
207         Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
208         Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
209
210         * bindings/ScriptControllerBase.cpp:
211         (WebCore::ScriptController::executeIfJavaScriptURL):
212         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
213         (WebCore::toHTMLCanvasStyle):
214         (WebCore::JSCanvasRenderingContext2D::setFillColor):
215         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
216         (WebCore::JSCanvasRenderingContext2D::setShadow):
217         * bindings/js/ScriptCallStack.cpp:
218         (WebCore::ScriptCallStack::ScriptCallStack):
219         (WebCore::ScriptCallStack::initialize):
220         * bindings/js/ScriptValue.cpp:
221         (WebCore::ScriptValue::getString):
222         * bindings/js/ScriptValue.h:
223         * bindings/js/SerializedScriptValue.cpp:
224         (WebCore::SerializingTreeWalker::convertIfTerminal):
225         * bindings/objc/WebScriptObject.mm:
226         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
227         * page/Console.cpp:
228         (WebCore::Console::addMessage):
229
230 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
231
232         Reviewed by Holger Hans Peter Freyther.
233
234         Turn on (SVG) Filters support, by default.
235         https://bugs.webkit.org/show_bug.cgi?id=32224
236
237         Only enable filters on mac for now, skipped all affected tests on the other platforms.
238         Will enable them one after another, to minimize breakage.
239
240         * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
241
242 2009-12-07  Kent Tamura  <tkent@chromium.org>
243
244         Reviewed by Darin Adler.
245
246         Fix a bug that KURL rejects a host name which has an IPv4 address
247         inside an IPv6 form like [::127.0.0.1].
248         https://bugs.webkit.org/show_bug.cgi?id=29913
249
250         * platform/KURL.cpp:
251         (WebCore::characterClassTable): Add IPv6Char to '.'.
252
253 2009-12-07  Brady Eidson  <beidson@apple.com>
254
255         Reviewed by Sam Weinig.
256
257         <rdar://problem/7443417> - Closing a window opened with "New windows open with: Same Page" results in crash in ::~HistoryItem
258
259         The HistoryItem copy constructor has one very specific use case - to support the feature of a WebView copying another WebView's
260         BackForwardList.  That constructor wasn't initializing its m_document pointer, leading to this crash in the destructor.
261
262         * history/HistoryItem.cpp:
263         (WebCore::HistoryItem::~HistoryItem): Change the setDocument(0) to an ASSERT that the document is already 0. A HistoryItem cannot
264           outlive its Document and Documents will always clear the back-pointer in their ::detach() method.
265         (WebCore::HistoryItem::HistoryItem): Missed the m_document initializer in the copy constructor. Also remove an invalid assertion
266           about the original items m_cachedPage object (which is irrelevant to the copy).
267
268 2009-12-07  Dmitry Titov  <dimich@chromium.org>
269
270         Reviewed by Darin Adler.
271
272         Remove partial SharedScript implementation.
273         https://bugs.webkit.org/show_bug.cgi?id=32237
274         The patch was obtained by running "git revert" command and then un-reverting WebCore/ChangeLog.
275
276         * DerivedSources.make:
277         * SharedScript/SharedScriptContext.cpp: Removed.
278         * SharedScript/SharedScriptContext.h: Removed.
279         * SharedScript/SharedScriptContext.idl: Removed.
280         * SharedScript/SharedScriptController.h: Removed.
281         * SharedScript/WebKitSharedScript.cpp: Removed.
282         * SharedScript/WebKitSharedScript.h: Removed.
283         * SharedScript/WebKitSharedScript.idl: Removed.
284         * SharedScript/WebKitSharedScriptRepository.cpp: Removed.
285         * SharedScript/WebKitSharedScriptRepository.h: Removed.
286         * WebCore.vcproj/WebCore.vcproj:
287         * WebCore.xcodeproj/project.pbxproj:
288         * dom/Document.cpp:
289         (WebCore::Document::detach):
290         * dom/EventTarget.cpp:
291         * dom/EventTarget.h:
292         * dom/ScriptExecutionContext.h:
293
294 2009-12-07  Alexey Proskuryakov  <ap@apple.com>
295
296         Reviewed by Nikolas Zimmermann.
297
298         https://bugs.webkit.org/show_bug.cgi?id=32226
299         Random crashes in WebSocket tests on Leopard Debug builbot
300
301         * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::close):
302         Make sure the object still exists when setting m_state.
303
304 2009-12-07  Shiki Okasaka  <shiki@google.com>
305
306         Reviewed by Dirk Schulze.
307
308         Avoid zero division during SVGPaintServerPattern::setup()
309         https://bugs.webkit.org/show_bug.cgi?id=29912
310
311         Fix zero division bugs in SVGPaintServerPattern::setup() that occurred
312         if the tile of a pattern was bigger than the pattern and the pattern
313         size was < 0.5, and if the attribute overflow was set to visible.
314
315         Test: svg/custom/small-pattern.html
316
317         * svg/graphics/SVGPaintServerPattern.cpp:
318         (WebCore::SVGPaintServerPattern::setup):
319
320 2009-12-07  Kenneth Russell  <kbr@google.com>
321
322         Reviewed by Dimitri Glazkov.
323
324         [v8] WebCore::WebGLArrayBufferInternal::byteLengthAttrGetter NULL pointer
325         https://bugs.webkit.org/show_bug.cgi?id=31889
326
327         Fixed bug in handling of zero-argument constructor call.
328
329         Test: fast/canvas/webgl/bug-31889.html
330
331         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
332         (WebCore::CALLBACK_FUNC_DECL):
333
334 2009-12-07  Gyuyoung Kim  <gyuyoung@gmail.com>
335
336         Reviewed by Eric Seidel.
337
338         https://bugs.webkit.org/show_bug.cgi?id=32024
339         [GTK] WebKit does not compile without JAVASCRIPT_DEBUGGER
340
341         Fix build errors when javascript-debugger is disabled on GTK
342
343         * GNUmakefile.am:
344
345 2009-12-07  Dan Bernstein  <mitz@apple.com>
346
347         Reviewed by Darin Adler.
348
349         Fixed <rdar://problem/7437820> Weird selection artifacts
350
351         Tests: fast/repaint/block-selection-gap-stale-cache-2.html
352                fast/repaint/block-selection-gap-stale-cache.html
353
354         Instead of caching the block selection gaps’ bounds in the RenderView at setSelection()
355         time, cache them in each RenderLayer at paint time. This prevents the cache from getting
356         stale due to layout changes and overflow scrolling.
357
358         * rendering/RenderBlock.cpp:
359         (WebCore::RenderBlock::selectionGapRectsForRepaint): Account for overflow scroll.
360         (WebCore::RenderBlock::paintSelection): Update the enclosing layer’s selection gaps bounds.
361         * rendering/RenderLayer.cpp:
362         (WebCore::RenderLayer::addBlockSelectionGapsBounds): Added. Updates the selection gaps
363         bounds to include the given rect.
364         (WebCore::RenderLayer::clearBlockSelectionGapsBounds): Added. Recursively clears the cached
365         selection gaps bounds.
366         (WebCore::RenderLayer::repaintBlockSelectionGaps): Added. Recursively invalidates the
367         selection gaps bounds.
368         * rendering/RenderLayer.h:
369         * rendering/RenderView.cpp:
370         (WebCore::RenderView::setSelection): Clear the layer-level selection gaps bounds instead
371         of the view-level cache.
372         (WebCore::RenderView::clearSelection): Changed to call repaintBlockSelectionGaps().
373         * rendering/RenderView.h:
374
375 2009-12-07  Philippe Normand  <pnormand@igalia.com>
376
377         Reviewed by Gustavo Noronha.
378
379         Fixed whitelist comment and removed useless (tags, sdp) mimetypes
380         from it. Also, GStreamer doesn't handle directly SMIL.
381
382         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
383         (WebCore::mimeTypeCache):
384
385 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
386
387         Reviewed by Xan Lopez.
388
389         https://bugs.webkit.org/show_bug.cgi?id=25415
390         [GTK][ATK] Please implement support for get_text_at_offset
391
392         Eliminate the segfaults which occur when accessing the text interface now
393         implemented by text controls.
394
395         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
396         (getPangoLayoutForAtk):
397
398 2009-12-07  Gustavo Noronha Silva  <gns@gnome.org>
399
400         Reviewed by Xan Lopez.
401
402         Turn the MediaPlayer supported types blacklist into a whitelist
403
404         [GTK] REGRESSION: webkit thinks it can render PDFs
405         https://bugs.webkit.org/show_bug.cgi?id=32183
406
407         Covered by API test.
408
409         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
410         (WebCore::mimeTypeCache):
411
412 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
413
414         Reviewed by Xan Lopez.
415
416         https://bugs.webkit.org/show_bug.cgi?id=25524
417         [Gtk] Expose the title attribute to assistive technologies
418
419         Expose 'alt' attribute from images as accessible name.
420         Expose the 'title' core HTML attribute as accessible description.
421         This is a modified version of the original fix submitted by Mario Sanchez Prada,
422         adjusted so that it doesn't impact other platforms.
423
424         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
425         (webkit_accessible_get_name):
426         (webkit_accessible_get_description):
427
428 2009-12-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
429
430         Reviewed by Simon Hausmann.
431
432         [Qt] Fix support for generic font families
433
434         By not propagating the resolved font family in FontCacheQt and
435         only concidering the font description we ended up passing the
436         generic font families to Qt directly. Since most systems don't
437         have a mapping for these font families we ended up using the
438         default font in most cases.
439
440         * platform/graphics/qt/FontCacheQt.cpp:
441         * platform/graphics/qt/FontPlatformData.h:
442         * platform/graphics/qt/FontPlatformDataQt.cpp:
443
444 2009-12-06  Oliver Hunt  <oliver@apple.com>
445
446         Reviewed by Maciej Stachowiak.
447
448         Object.getOwnPropertyDescriptor() allows cross-frame access
449         https://bugs.webkit.org/show_bug.cgi?id=32119
450
451         Make all implementations of getOwnPropertyDescriptor that have
452         cross domain restrictions simply fail immediately on cross domain
453         access, rather than trying to mimic the behaviour of normal
454         property access.
455
456         Test: http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
457
458         * bindings/js/JSDOMWindowCustom.cpp:
459         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
460         * bindings/js/JSHistoryCustom.cpp:
461         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
462         * bindings/js/JSLocationCustom.cpp:
463         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
464         * bindings/scripts/CodeGeneratorJS.pm:
465
466 2009-12-07  Steve Block  <steveblock@google.com>
467
468         Reviewed by Adam Barth.
469
470         Moves JSC-specific functions from jni_utility and moves them to new jsc/jni_utility_private files.
471         https://bugs.webkit.org/show_bug.cgi?id=32157
472
473         Build fix only, no new tests.
474
475         * WebCore.xcodeproj/project.pbxproj: Modified. Add jni_utility_private.[cpp|h].
476         * bridge/jni/jni_instance.cpp: Modified. Include jni_utility_private.h for JSC.
477         * bridge/jni/jni_jsobject.mm: Modified. Include jni_utility_private.h for JSC.
478         * bridge/jni/jni_objc.mm: Modified. Include jni_utility_private.h for JSC.
479         * bridge/jni/jni_runtime.cpp: Modified. Include jni_utility_private.h for JSC.
480         * bridge/jni/jni_utility.cpp: Modified. Removed convertValueToJValue and convertArrayInstanceToJavaArray.
481         * bridge/jni/jni_utility.h: Modified. Removed convertValueToJValue and dispatchJNICall.
482         * bridge/jni/jsc: Added.
483         * bridge/jni/jsc/jni_utility_private.cpp: Added.
484         (JSC::Bindings::convertArrayInstanceToJavaArray):
485         (JSC::Bindings::convertValueToJValue):
486         * bridge/jni/jsc/jni_utility_private.h: Added. Header for convertValueToJValue and dispatchJNICall.
487         * platform/android/TemporaryLinkStubs.cpp: Modified. Include jni_utility_private.h for JSC.
488
489 2009-12-06  Oliver Hunt  <oliver@apple.com>
490
491         Reviewed by Maciej Stachowiak.
492
493         texImage2D pixel junk for transparency
494         https://bugs.webkit.org/show_bug.cgi?id=32188
495
496         Use kCGBlendModeCopy when drawing an image to the intermediate context
497         used to create a GL texture.
498
499         No test as we don't currently have any mechanism to retrieve pixel data
500         from the webgl context.
501
502         * platform/graphics/mac/GraphicsContext3DMac.cpp:
503         (WebCore::imageToTexture):
504
505 2009-12-03  Philippe Normand  <pnormand@igalia.com>
506
507         Reviewed by Gustavo Noronha.
508
509         Advertize audio/ogg correctly and refactored mime-type cache
510         building.
511
512         [GTK] Recognize oga as audio/ogg
513         https://bugs.webkit.org/show_bug.cgi?id=31990
514
515         Test: media/media-can-play-ogg.html
516
517         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
518         (WebCore::mimeTypeCache):
519
520 2009-12-05  Alexey Proskuryakov  <ap@apple.com>
521
522         Reviewed by Eric Seidel.
523
524         https://bugs.webkit.org/show_bug.cgi?id=32175
525         REGRESSION: websocket/tests/url-parsing.html is crashing on Leopard Bot
526
527         * platform/network/cf/SocketStreamHandleCFNet.cpp:
528         (WebCore::SocketStreamHandle::readStreamCallback): Call platformClose() to unschedule both
529         streams, guaranteeing that there will be no callbacks after SocketStreamHandle is destroyed.
530         (WebCore::SocketStreamHandle::writeStreamCallback): Edited a comment a bit.
531
532 2009-12-05  Adam Langley  <agl@google.com>
533
534         Reviewed by Adam Barth.
535
536         Check that a CSS format() argument is of a valid type.
537
538         https://bugs.webkit.org/show_bug.cgi?id=31815
539         http://code.google.com/p/chromium/issues/detail?id=28582
540
541         Test: fast/css/url-format-non-string.html
542
543         * css/CSSParser.cpp:
544         (WebCore::CSSParser::parseFontFaceSrc):
545
546 2009-12-04  Adam Langley  <agl@google.com>
547
548         Reviewed by Eric Seidel.
549
550         Chromium: make rounded borders heavier.
551
552         Skia draws its rounded corners differently from the other ports.
553         Whereas they have anti-aliased clipping regions, Skia only has 1-bit
554         regions. (Which is technically more correct, but somewhat unhelpful
555         for us.) Instead, with Skia we use a layer and collect all the
556         clipping paths in effect. When the state is popped, we paint
557         transparency outside the clipping paths and merge the layer down.
558
559         This appears to cause rounded borders to look a little thin, which is
560         addressed in this patch.
561
562         This is well covered by existing tests but will require new baselines
563         in the Chromium tree.
564
565         https://bugs.webkit.org/show_bug.cgi?id=31778
566
567         * platform/graphics/skia/GraphicsContextSkia.cpp:
568         (WebCore::GraphicsContext::addInnerRoundedRectClip):
569
570 2009-12-04  Simon Fraser  <simon.fraser@apple.com>
571
572         Reviewed by Dan Bernstein.
573
574         <rdar://problem/7441571> Hardware-backed layers are skipped when printing
575         
576         When printing, set the PaintBehaviorFlattenCompositingLayers flag so that compositing layers
577         paint. This also causes 3D transforms to be flattened to 2D.
578
579         Test: printing/compositing-layer-printing.html
580
581         * page/FrameView.cpp:
582         (WebCore::FrameView::paintContents):
583
584 2009-12-04  Oliver Hunt  <oliver@apple.com>
585
586         Reviewed by Beth Dakin.
587
588         Fix up some issues in my SVGListTraits change from yesterday.
589
590         * svg/SVGListTraits.h:
591         (WebCore::):
592
593 2009-12-04  Albert J. Wong  <ajwong@chromium.org>
594
595         Not reviewed: chromium build fix.
596
597         Fix Chromium build break caused by moving of isDefaultPortForProtocol() and
598         portAllowed() into KURL.h/KURL.cpp.  Cloning code.
599
600         * platform/KURLGoogle.cpp:
601         (WebCore::isDefaultPortForProtocol):
602         (WebCore::portAllowed):
603
604 2009-12-04  Pavel Feldman  <pfeldman@chromium.org>
605
606         Reviewed by Timothy Hatcher.
607
608         Web Inspector: Remove suppress highlight when restoring selected node.
609
610         https://bugs.webkit.org/show_bug.cgi?id=32152
611
612         * inspector/front-end/ElementsPanel.js:
613         (WebInspector.ElementsPanel.prototype.setDocument.selectNode):
614         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
615         (WebInspector.ElementsPanel.prototype.setDocument):
616
617 2009-12-04  Dirk Schulze  <krit@webkit.org>
618
619         Reviewed by Nikolas Zimmermann.
620
621         Gradient SVG animation demonstrates tearing at animation extremes
622         https://bugs.webkit.org/show_bug.cgi?id=11929
623
624         The focalPoint of a radial gradient is temporarly substracted by
625         the centralPoint, if the focalPoint is not in the radius of the
626         gradient. This is needed to calculate a new postion of the focalPoint
627         according to the specification. But the new focalPoint needs to be
628         moved by the centralPoint after this calculation, which is not the case
629         at the moment. This patch fixes this issue. It was also introduced a
630         deviation of maximal 0.2% for Cairo to get around the fixed point numbers
631         in Cairo.
632
633         W3C-SVG-1.1/pservers-grad-13-b needed an update. The missing adjustment
634         of the new focalPoint caused wrong results for the last three tests.
635
636         Test: svg/custom/radial-gradient-with-outstanding-focalPoint.svg
637
638         * svg/SVGRadialGradientElement.cpp:
639         (WebCore::SVGRadialGradientElement::buildGradient):
640
641 2009-12-04  Anton Muhin  <antonm@chromium.org>
642
643         Reviewed by Dmitry Titov.
644
645         Do not use WebCore::String::String(const UChar*, int length) to convert
646         short v8 strings.
647
648         Plus added string traits.
649         https://bugs.webkit.org/show_bug.cgi?id=31415
650
651         * bindings/v8/V8Binding.cpp:
652         (WebCore::):
653         (WebCore::v8StringToWebCoreString):
654
655 2009-12-04  Chris Fleizach  <cfleizach@apple.com>
656
657         Reviewed by Darin Adler.
658
659         REGRESSION: AX: buttons now extremely repetitive
660         https://bugs.webkit.org/show_bug.cgi?id=32164
661
662         Test: platform/mac/accessibility/button-shouldnot-have-axvalue.html
663
664         * accessibility/AccessibilityObject.h:
665         (WebCore::AccessibilityObject::isButton):
666         * accessibility/mac/AccessibilityObjectWrapper.mm:
667         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
668
669 2009-12-04  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
670
671         Reviewed by Darin Adler.
672
673         Check whether the right side of a string append is non-empty
674         https://bugs.webkit.org/show_bug.cgi?id=32151
675
676         Especially beneficial for CachedScript::script() method
677         which usually appends an empty string returned by flush()
678         to its m_script member. m_script is often hundreds of kbytes
679         which is duplated without reason.
680
681         * platform/text/String.cpp:
682         (WebCore::String::append):
683
684 2009-12-04  Enrica Casucci  <enrica@apple.com>
685
686         Reviewed by John Sullivan.
687
688         Mail.app crashes when indenting table pasted from Numbers.app.
689         <rdar://problem/7209507>
690         https://bugs.webkit.org/show_bug.cgi?id=32166
691
692         Test: LayoutTests/editing/execCommand/indent-partial-table.html
693         
694         * editing/IndentOutdentCommand.cpp:
695         (WebCore::IndentOutdentCommand::indentRegion): Added test to verify that the end of the paragraph
696         after the selection has not been moved.
697
698 2009-12-04  Alexey Proskuryakov  <ap@apple.com>
699
700         Reviewed by Darin Adler.
701
702         https://bugs.webkit.org/show_bug.cgi?id=32085
703         WebSocket should block the same ports that are blocked for resource loading
704
705         Test: websocket/tests/url-parsing.html
706
707         * page/SecurityOrigin.cpp:
708         (WebCore::SecurityOrigin::SecurityOrigin):
709         (WebCore::SecurityOrigin::localURLSchemes):
710         * page/SecurityOrigin.h:
711         Move isDefaultPortForProtocol() to KURL, because that's a better place for it (SecurityOrigin
712         is not even in WebCore/platform directory).
713
714         * html/HTMLAnchorElement.cpp:
715         (WebCore::HTMLAnchorElement::host):
716         (WebCore::HTMLAnchorElement::setHost):
717         (WebCore::HTMLAnchorElement::setPort):
718         Updated for the new location of isDefaultPortForProtocol().
719
720         * platform/KURL.cpp:
721         (WebCore::KURL::protocolIs): In an assertion, compare to "javascript" case-insensitively,
722         since the function doesn't require lower case input.
723         (WebCore::isDefaultPortForProtocol): Moved from SecurityOrigin.
724         (WebCore::portAllowed): Moved from ResourceHandle.
725         * platform/KURL.h:
726
727         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): Updated for the
728         new location of portAllowed().
729
730         * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): Per the spec, raise a SECURITY_ERR
731         if trying to connect to a blocked port.
732
733 2009-12-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
734
735         Reviewed by Kenneth Rohde Christiansen.
736
737         [Qt] WebKit crashes when loading certain SVG images
738         https://bugs.webkit.org/show_bug.cgi?id=29443
739
740         Remove FontFallbackListQt and rely on the common FontFallbackList
741         to handle the fonts. FontCache and FontPlatformData have been
742         updated to work with the common FontFallbackList.
743
744         In the previous implementation, FontPlatformDataCacheKey
745         was a clone of FontPlatformData with the hashing
746         capabilities added in order to use it as a key in the cache's
747         hashmap. FontPlatformData has been modified to handle the hashing
748         function directly so the data are not copied twice in memory.
749
750         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
751         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
752         The behavior is similar except currFamily->family().length() was
753         not tested and the fallback fonts selector were not used.
754
755         Existing tests cover the change.
756
757         * WebCore.pro:
758         * platform/graphics/qt/FontCacheQt.cpp:
759         (WebCore::FontCache::platformInit):
760         (WebCore::FontCache::getFontDataForCharacters):
761         (WebCore::FontCache::getSimilarFontPlatformData):
762         (WebCore::FontCache::getLastResortFallbackFont):
763         (WebCore::FontCache::getTraitsInFamily):
764         (WebCore::FontCache::createFontPlatformData):
765         * platform/graphics/qt/FontCustomPlatformData.cpp:
766         (WebCore::FontCustomPlatformData::fontPlatformData):
767         * platform/graphics/qt/FontFallbackListQt.cpp:
768         Removed. We now use the implementation from FontFallbackList.cpp
769         * platform/graphics/qt/FontPlatformData.h:
770         Add hashing capabilities to be able to use the data with the FontCache.
771         This was previously done in FontCacheQt.cpp
772         (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
773         (WebCore::FontPlatformData::FontPlatformData):
774         (WebCore::FontPlatformData::isHashTableDeletedValue):
775         (WebCore::FontPlatformData::font):
776         (WebCore::FontPlatformData::size):
777         (WebCore::FontPlatformData::family):
778         (WebCore::FontPlatformData::bold):
779         (WebCore::FontPlatformData::italic):
780         (WebCore::FontPlatformData::smallCaps):
781         (WebCore::FontPlatformData::pixelSize):
782         * platform/graphics/qt/FontPlatformDataQt.cpp:
783         (WebCore::FontPlatformData::FontPlatformData):
784         (WebCore::FontPlatformData::~FontPlatformData):
785         (WebCore::FontPlatformData::operator=):
786         (WebCore::FontPlatformData::operator==):
787         (WebCore::FontPlatformData::hash):
788
789 2009-12-04  Adam Treat  <atreat@rim.com>
790
791         Reviewed by Dan Bernstein.
792
793         Fix wrong assert that was only working through sheer luck.
794         https://bugs.webkit.org/show_bug.cgi?id=32162
795
796         * platform/text/BidiContext.cpp:
797         (WebCore::BidiContext::create):
798
799 2009-12-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
800
801         Reviewed by Simon Hausmann.
802
803         [Qt] Allow removing 'qrc' as a local security origin scheme
804
805         * page/SecurityOrigin.cpp:
806
807 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
808
809         Reviewed by Eric Seidel.
810
811         Allow custom memory allocation control for WebCore's CollectionCache
812         https://bugs.webkit.org/show_bug.cgi?id=32109
813
814         Inherits the following class from FastAllocBase because it is
815         instantiated by 'new':
816
817         struct name            - instantiated at: WebCore/'location'
818
819         struct CollectionCache - dom/Document.cpp:4029
820
821         * html/CollectionCache.h:
822
823 2009-12-04  Steve Block  <steveblock@google.com>
824
825         Reviewed by Darin Adler.
826
827         Fixes a crashing bug in Geolocation when a watch is cleared from some callbacks. 
828         https://bugs.webkit.org/show_bug.cgi?id=32111
829
830         In Geolocation::GeoNotifier::timerFired, a JS callback may be invoked if a
831         fatal error was registered on this GeoNotifier or if this request has timed
832         out. If the request is a watch, and is cleared by a call to clearWatch in the
833         callback, the GeoNotifier object will be destroyed. We must therefore cache the
834         m_geolocation member to allow us to call Geolocation::fatalErrorOccurred or
835         Geolocation::requestTimedOut.
836
837         Tests: fast/dom/Geolocation/permission-denied-already-clear-watch.html
838                fast/dom/Geolocation/timeout-clear-watch.html
839
840         * page/Geolocation.cpp: Modified.
841         (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Cache the m_geolocation member before invoking the JS callback.
842
843 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
844
845         Reviewed by Eric Seidel.
846
847         Allow custom memory allocation control for 2 classes of the platform directory in WebCore
848         https://bugs.webkit.org/show_bug.cgi?id=
849
850         Inherits the following class from Noncopyable because it is instantiated
851         by 'new' and no need to be copyable:
852
853         class/struct name         - instantiated at: WebCore/'location'
854
855         class SharedTimer         - (its child class) workers/WorkerRunLoop.cpp:91
856
857         Inherits the following class from FastAllocBase because it is
858         instantiated by 'new':
859
860         class TransformOperations - rendering/style/RenderStyle.h:1175
861
862         Noncopyable.h's include added to SharedTimer.h.
863
864         * platform/SharedTimer.h:
865         * platform/graphics/transforms/TransformOperations.h:
866
867 2009-12-04  Xan Lopez  <xlopez@igalia.com>
868
869         Reviewed by Gustavo Noronha.
870
871         [GTK]Enable DNS prefetching
872         https://bugs.webkit.org/show_bug.cgi?id=23846
873
874         Enable DNS prefetching.
875
876         Based on a patch by José Millán.
877
878         * platform/network/soup/DNSSoup.cpp:
879         (WebCore::prefetchDNS):
880
881 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
882
883         Reviewed by Eric Seidel.
884
885         Allow custom memory allocation control for the svg directory in WebCore
886         https://bugs.webkit.org/show_bug.cgi?id=
887
888         Inherits the following classes from Noncopyable because these are instantiated
889         by 'new' and no need to be copyable:
890
891         class/struct name           - instantiated at: WebCore/'location'
892
893         struct ResourceSet          - svg/graphics/SVGResource.cpp:148
894         class SVGFontData           - css/CSSFontFaceSource.cpp:156
895         class SVGDocumentExtensions - dom/Document.cpp:3962
896         class SVGViewSpec           - svg/SVGSVGElement.cpp:191
897
898         * svg/SVGDocumentExtensions.h:
899         * svg/SVGFontData.h:
900         * svg/SVGViewSpec.h:
901         * svg/graphics/SVGResource.cpp:
902
903 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
904
905         Reviewed by Beth Dakin.
906
907         WAI-ARIA: aria-activedescendant doesn't work as intended
908         https://bugs.webkit.org/show_bug.cgi?id=32100
909
910         Fixes a number of issues regarding the "tree" role and aria-activedescendant.
911         1. The indexes were being reported incorrectly by treeitems.
912         2. aria-activedescendant changes were not being sent to the containing item.
913         3. The tree's selected rows need to consult aria-activedescendant.
914         4. Since a tree changes what it returns as its children (it returns its rows)
915            the mac-specific array indexing methods need to correctly handle the tree case.
916
917         Tests: platform/mac/accessibility/aria-tree-activedescendant.html
918                platform/mac/accessibility/aria-tree-index-of-items.html
919
920         * accessibility/AXObjectCache.h:
921         (WebCore::AXObjectCache::):
922         * accessibility/AccessibilityRenderObject.cpp:
923         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
924         (WebCore::AccessibilityRenderObject::activeDescendant):
925         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
926         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
927         * accessibility/mac/AXObjectCacheMac.mm:
928         (WebCore::AXObjectCache::postPlatformNotification):
929         * accessibility/mac/AccessibilityObjectWrapper.mm:
930         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
931         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
932         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
933         * accessibility/win/AXObjectCacheWin.cpp:
934         (WebCore::AXObjectCache::postPlatformNotification):
935
936 2009-12-03  Zoltan Horvath  <zoltan@webkit.org>
937
938         Reviewed by Eric Seidel.
939
940         Allow custom memory allocation control for the xml directory in WebCore
941         https://bugs.webkit.org/show_bug.cgi?id=
942
943         Inherits the following class from Noncopyable because it is instantiated 
944         by 'new' and no need to be copyable:
945
946         class/struct name               - instantiated at: WebCore/'location'
947
948         struct XMLHttpRequestStaticData - xml/XMLHttpRequest.cpp:134
949
950         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
951
952         class NodeTest                  - xml/XPathGrammar.y:258
953         class NodeSet                   - xml/XPathValue.cpp:52
954         struct EvaluationContext        - xml/XPathExpressionNode.cpp:40
955
956         * xml/XMLHttpRequest.cpp:
957         * xml/XPathExpressionNode.h:
958         * xml/XPathNodeSet.h:
959         * xml/XPathStep.h:
960
961 2009-12-03  Drew Wilson  <atwilson@chromium.org>
962
963         Reviewed by Adam Barth.
964
965         New History changes do not compile for Chromium/V8
966         https://bugs.webkit.org/show_bug.cgi?id=32148
967
968         Existing tests suffice (just trying to get code to compile).
969
970         * WebCore.gypi:
971         Added V8HistoryCustom.cpp and other missing files.
972         * bindings/v8/custom/V8CustomBinding.h:
973         Added custom handlers for History.pushState()/replaceState().
974         * bindings/v8/custom/V8HistoryCustom.cpp: Added.
975         Added custom handlers for History.pushState()/replaceState().
976         * history/BackForwardListChromium.cpp:
977         (WebCore::BackForwardList::pushStateItem):
978         Stubbed out this routine for now - will implement in the future.
979
980 2009-12-03  Adam Barth  <abarth@webkit.org>
981
982         Reviewed by Eric Seidel.
983
984         OwnPtr<XBLBindingManager> Document::m_bindingManager;
985         https://bugs.webkit.org/show_bug.cgi?id=32147
986
987         The document actually owns the bindingManager.  That's what the code
988         should say.
989
990         * dom/Document.cpp:
991         (WebCore::Document::~Document):
992         * dom/Document.h:
993         (WebCore::Document::bindingManager):
994
995 2009-12-03  Adam Barth  <abarth@webkit.org>
996
997         Reviewed by Eric Seidel.
998
999         OwnPtr<Tokenizer> Document::m_tokenizer;
1000         https://bugs.webkit.org/show_bug.cgi?id=32145
1001
1002         The document actually owns the tokenizer.  That's what the code should say.
1003
1004         * dom/Document.cpp:
1005         (WebCore::Document::removedLastRef):
1006         (WebCore::Document::~Document):
1007         (WebCore::Document::cancelParsing):
1008         (WebCore::Document::implicitOpen):
1009         (WebCore::Document::implicitClose):
1010         * dom/Document.h:
1011         (WebCore::Document::tokenizer):
1012
1013 2009-12-03  Adam Barth  <abarth@webkit.org>
1014
1015         Reviewed by Eric Seidel.
1016
1017         OwnPtr<RenderArena> Document::m_renderArena;
1018         https://bugs.webkit.org/show_bug.cgi?id=32146
1019
1020         The document owns the renderArena.  That's what the code should say.
1021
1022         * dom/Document.cpp:
1023         (WebCore::Document::Document): Also, removed a redundant initialization
1024         of the tokenizer that I missed in my previous patch.
1025         (WebCore::Document::~Document):
1026         (WebCore::Document::attach):
1027         (WebCore::Document::detach):
1028         * dom/Document.h:
1029         (WebCore::Document::renderArena):
1030
1031 2009-12-03  Drew Wilson  <atwilson@chromium.org>
1032
1033         Rolling back r51633 because it causes a chromium perf regression.
1034
1035         * platform/graphics/SimpleFontData.h:
1036         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1037
1038 2009-12-03  Adam Barth  <abarth@webkit.org>
1039
1040         Reviewed by Eric Seidel.
1041
1042         The code should say that Document owns DocLoader
1043         https://bugs.webkit.org/show_bug.cgi?id=32143
1044
1045         It's the truth.
1046
1047         * dom/Document.cpp:
1048         (WebCore::Document::~Document):
1049         * dom/Document.h:
1050         (WebCore::Document::docLoader):
1051
1052 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
1053
1054         Reviewed by Eric Seidel.
1055
1056         AX: VO just says "term" on many web sites
1057         https://bugs.webkit.org/show_bug.cgi?id=32139
1058
1059         Test: platform/mac/accessibility/definition-list-term.html
1060
1061         * accessibility/AccessibilityRenderObject.cpp:
1062         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1063         * accessibility/mac/AccessibilityObjectWrapper.mm:
1064         (-[AccessibilityObjectWrapper subrole]):
1065         (-[AccessibilityObjectWrapper roleDescription]):
1066
1067 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
1068
1069         Reviewed by Beth Dakin.
1070
1071         Implement WAI-ARIA scrollbar role and related property aria-orientation
1072         https://bugs.webkit.org/show_bug.cgi?id=32126
1073
1074         Test: accessibility/aria-scrollbar-role.html
1075
1076         * accessibility/AccessibilityObject.cpp:
1077         (WebCore::createARIARoleMap):
1078         * accessibility/AccessibilityObject.h:
1079         (WebCore::AccessibilityObject::isScrollbar):
1080         * accessibility/AccessibilityRenderObject.cpp:
1081         (WebCore::AccessibilityRenderObject::valueForRange):
1082         (WebCore::AccessibilityRenderObject::orientation):
1083         (WebCore::AccessibilityRenderObject::canHaveChildren):
1084         * accessibility/AccessibilityRenderObject.h:
1085         * accessibility/mac/AccessibilityObjectWrapper.mm:
1086         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1087         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1088         * html/HTMLAttributeNames.in:
1089
1090 2009-12-03  Dan Bernstein  <mitz@apple.com>
1091
1092         Reviewed by Darin Adler.
1093
1094         Fixed <rdar://problem/7401617> Selection painting issue in hardware-
1095         accelerated layers
1096         which is another part of https://bugs.webkit.org/show_bug.cgi?id=23628
1097         Fix selection painting to do container-relative repaints
1098
1099         Test: fast/repaint/block-selection-gap-in-composited-layer.html
1100
1101         * rendering/RenderBlock.cpp:
1102         (WebCore::RenderBlock::selectionGapRectsForRepaint): Compute and paint
1103         gap rects in the coordinate space of the repaint container.
1104         * rendering/RenderLayerCompositor.cpp:
1105         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Added a
1106         FIXME.
1107         * rendering/RenderView.cpp:
1108         (WebCore::RenderView::setSelection): Map block selection gap rects from
1109         the repaint container’s coordinate space to the view’s coordinate space
1110         before adding them to the cached selection bounds.
1111         (WebCore::RenderView::clearSelection): Changed to use
1112         repaintRectangleInViewAndCompositedLayers() so that the selection rect
1113         is invalidated in composited layers as well.
1114
1115 2009-12-03  Jonathan Dixon  <joth@chromium.org>
1116
1117         Reviewed by Dimitri Glazkov.
1118
1119         Bug 32066 - Add enable geolocation flag to WebCore::Settings for Chromium
1120         https://bugs.webkit.org/show_bug.cgi?id=32066
1121
1122         Adds geolocationEnabled in Settings for runtime control of geolocaiton features. This defaults to ON
1123         as it is intended as a development and testing aid, not a user control. To completely remove geolocation
1124         from a given port, the compile time ENABLE_GEOLOCATION should still be used.
1125         Adding placeholder GeolocationServiceChromium implementation, as this is required to allows
1126         ENABLE_GEOLOCATION to be defined (in turn required for testing), even though this patch does not
1127         make that the default just yet.
1128
1129         * WebCore.gypi:
1130         * page/Settings.cpp:
1131         (WebCore::Settings::Settings): Add new m_geolocationEnabled flag default value
1132         (WebCore::Settings::setGeolocationEnabled): Setter for  m_geolocationEnabled flag
1133         * page/Settings.h:
1134         (WebCore::Settings::geolocationEnabled):  Add m_geolocationEnabled flag
1135         * platform/chromium/GeolocationServiceChromium.cpp: Added.
1136         (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): Place holder GeolocationServiceChromium)
1137         (WebCore::createGeolocationService): factory function, only required when ENABLED(GEOLOCATION) is true
1138
1139 2009-12-03  Enrica Casucci  <enrica@apple.com>
1140
1141         Reviewed by John Sullivan.
1142
1143         SpinTracer: 349 spins in Mail at WebCore::Editor::advanceToNextMisspelling(bool)
1144         <rdar://problem/7198592>
1145         https://bugs.webkit.org/show_bug.cgi?id=32129
1146
1147         Fixed the way the next paragraph is calculated.
1148         I've added a repro case in Safari and attached it to the Bugzilla bug.
1149
1150         * editing/Editor.cpp:
1151         (WebCore::findFirstMisspellingOrBadGrammarInRange): Changed the way we move to the
1152         next paragraph in the loop.
1153
1154 2009-12-03  Oliver Hunt  <oliver@apple.com>
1155
1156         Build fix
1157
1158         * svg/SVGListTraits.h:
1159         (WebCore::):
1160
1161 2009-12-03  Oliver Hunt  <oliver@apple.com>
1162
1163         Build fix
1164
1165         * svg/SVGListTraits.h:
1166         (WebCore::):
1167
1168 2009-12-03  Brady Eidson  <beidson@apple.com>
1169
1170         No wonder editing WebCore.exp repeatedly while I worked on this patch never seemed to stick.
1171
1172         Long live our auto-generated overlords that I didn't know about...  
1173
1174         * WebCore.base.exp:
1175
1176 2009-12-03  Oliver Hunt  <oliver@apple.com>
1177
1178         Reviewed by Dan Bernstein.
1179
1180         REGRESSION (r51627): 3 SVG tests are failing
1181         https://bugs.webkit.org/show_bug.cgi?id=32117
1182
1183         Null checking Items in the SVGList is insufficient as items may
1184         be floats, etc so add SVGListTraits::isNull and add appropriate
1185         specializations.
1186
1187         Test: svg/dom/svglist-exception-on-out-bounds-error.html
1188
1189         * svg/SVGList.h:
1190         (WebCore::SVGListTypeOperations::isNull):
1191         (WebCore::SVGList::initialize):
1192         (WebCore::SVGList::insertItemBefore):
1193         (WebCore::SVGList::replaceItem):
1194         (WebCore::SVGList::appendItem):
1195         * svg/SVGListTraits.h:
1196         (WebCore::):
1197
1198 2009-12-03  Brady Eidson  <beidson@apple.com>
1199
1200         No review - release build fix.
1201
1202         * history/HistoryItem.cpp:
1203         (WebCore::HistoryItem::documentDetached):
1204
1205 2009-12-03  Brady Eidson  <beidson@apple.com>
1206
1207         No review - release build fix.
1208
1209         * loader/HistoryController.cpp:
1210         (WebCore::HistoryController::pushState):
1211
1212 2009-12-03  Enrica Casucci  <enrica@apple.com>
1213
1214         Reviewed by Adele Peterson.
1215
1216         Multiple Undos removes the last posted comment and/or the ones before it.
1217         <rdar://problem/6557066>
1218         https://bugs.webkit.org/show_bug.cgi?id=32079
1219         
1220         The fix consists in preventing Undos and Redos to be applied to elements that
1221         are no longer editable. We do not attempt to remove the commands from the queue.
1222         It is a relatively simple fix that comes with a little extra overhead for the apply
1223         and unapply methods where we are now performing the editability check.
1224
1225         Test: editing/undo/undo-indent-noneditable.html
1226
1227         * editing/AppendNodeCommand.cpp:
1228         (WebCore::AppendNodeCommand::doApply):
1229         (WebCore::AppendNodeCommand::doUnapply):
1230         * editing/DeleteFromTextNodeCommand.cpp:
1231         (WebCore::DeleteFromTextNodeCommand::doApply):
1232         (WebCore::DeleteFromTextNodeCommand::doUnapply):
1233         * editing/InsertIntoTextNodeCommand.cpp:
1234         (WebCore::InsertIntoTextNodeCommand::doApply):
1235         (WebCore::InsertIntoTextNodeCommand::doUnapply):
1236         * editing/InsertNodeBeforeCommand.cpp:
1237         (WebCore::InsertNodeBeforeCommand::doApply):
1238         (WebCore::InsertNodeBeforeCommand::doUnapply):
1239         * editing/JoinTextNodesCommand.cpp:
1240         (WebCore::JoinTextNodesCommand::doApply):
1241         (WebCore::JoinTextNodesCommand::doUnapply):
1242         * editing/MergeIdenticalElementsCommand.cpp:
1243         (WebCore::MergeIdenticalElementsCommand::doApply):
1244         (WebCore::MergeIdenticalElementsCommand::doUnapply):
1245         * editing/RemoveNodeCommand.cpp:
1246         (WebCore::RemoveNodeCommand::doApply):
1247         (WebCore::RemoveNodeCommand::doUnapply):
1248         * editing/SplitElementCommand.cpp:
1249         (WebCore::SplitElementCommand::executeApply):
1250         (WebCore::SplitElementCommand::doUnapply):
1251         * editing/SplitTextNodeCommand.cpp:
1252         (WebCore::SplitTextNodeCommand::doApply):
1253         (WebCore::SplitTextNodeCommand::doUnapply):
1254         * editing/WrapContentsInDummySpanCommand.cpp:
1255         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
1256         (WebCore::WrapContentsInDummySpanCommand::doReapply):
1257
1258 2009-12-03  Brady Eidson  <beidson@apple.com>
1259
1260         Reviewed by Sam Weinig.
1261
1262         <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
1263
1264         Tests: fast/loader/stateobjects/document-destroyed-navigate-back.html
1265                fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html
1266                fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html
1267                fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html
1268                fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html
1269                fast/loader/stateobjects/pushstate-object-types.html
1270                fast/loader/stateobjects/pushstate-then-replacestate.html
1271                fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html
1272                fast/loader/stateobjects/replacestate-then-pushstate.html
1273                http/tests/loading/state-object-security-exception.html
1274
1275         Derived sources and project file changes:
1276         * DerivedSources.cpp:
1277         * DerivedSources.make:
1278         * GNUmakefile.am
1279         * WebCore.pro
1280         * WebCore.vcproj/WebCore.vcproj:
1281         * WebCore.xcodeproj/project.pbxproj:
1282
1283         Add the new PopStateEvent:
1284         * dom/PopStateEvent.cpp: Added.
1285         (WebCore::PopStateEvent::PopStateEvent):
1286         (WebCore::PopStateEvent::initPopStateEvent):
1287         * dom/PopStateEvent.h: Added.
1288         (WebCore::PopStateEvent::create):
1289         (WebCore::PopStateEvent::isPopStateEvent):
1290         (WebCore::PopStateEvent::state):
1291         * dom/PopStateEvent.idl: Added.
1292         * bindings/js/JSPopStateEventCustom.cpp: Added.
1293         (WebCore::JSPopStateEvent::initPopStateEvent):
1294         (WebCore::JSPopStateEvent::state):
1295         * bindings/js/JSEventCustom.cpp:
1296         (WebCore::toJS):
1297         * dom/Event.cpp:
1298         (WebCore::Event::isPopStateEvent):
1299         * dom/Event.h:
1300         * dom/EventNames.h:
1301
1302         Add the "onpopstate" attribute:
1303         * html/HTMLAttributeNames.in:
1304         * html/HTMLBodyElement.cpp:
1305         (WebCore::HTMLBodyElement::parseMappedAttribute):
1306         * html/HTMLBodyElement.idl:
1307         * html/HTMLFrameSetElement.cpp:
1308         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1309         * html/HTMLFrameSetElement.h:
1310         * html/HTMLFrameSetElement.idl:
1311         * page/DOMWindow.h:
1312         * page/DOMWindow.idl:
1313
1314         Add pushState and replaceState management to the loader and history machinery:
1315         * bindings/js/JSHistoryCustom.cpp:
1316         (WebCore::JSHistory::pushState):
1317         (WebCore::JSHistory::replaceState):
1318         * loader/HistoryController.cpp:
1319         (WebCore::HistoryController::updateForSameDocumentNavigation): Augmented from "scrollToAnchor()", combining
1320           both the same-document fragment scroll case with the new same-document state object activation case.
1321         (WebCore::HistoryController::pushState):
1322         (WebCore::HistoryController::replaceState):
1323         * loader/HistoryController.h:
1324         * history/BackForwardList.cpp:
1325         (WebCore::BackForwardList::addItem): Use insertItemAfterCurrent.
1326         (WebCore::BackForwardList::insertItemAfterCurrent): Optionally insert the item without clearing the forward
1327           list, as pushStateItem might've selectively cleared only certain items, with the bulk of the forward list
1328           meant to remain.
1329         (WebCore::BackForwardList::pushStateItem): Clear the forward list *only* for the state item's document, then 
1330           insert the new item.
1331         (WebCore::BackForwardList::removeItem):
1332         * history/BackForwardList.h:
1333         * page/History.cpp:
1334         (WebCore::History::urlForState):
1335         (WebCore::History::stateObjectAdded):
1336         * page/History.h:
1337         * page/History.idl:
1338
1339         Let HistoryItems and Documents associate with each other, as well as letting HistoryItems contain state objects:
1340         * history/HistoryItem.cpp:
1341         (WebCore::HistoryItem::HistoryItem):
1342         (WebCore::HistoryItem::~HistoryItem):
1343         (WebCore::HistoryItem::setStateObject):
1344         (WebCore::HistoryItem::setDocument):
1345         (WebCore::HistoryItem::documentDetached):
1346         * history/HistoryItem.h:
1347         (WebCore::HistoryItem::stateObject):
1348         (WebCore::HistoryItem::document):
1349         * dom/Document.cpp:
1350         (WebCore::Document::detach): Notify all back/forward history items owned by this Document that it
1351           is going away.
1352         (WebCore::Document::registerHistoryItem): Manage the list of back/forward history items this document owns.
1353         (WebCore::Document::unregisterHistoryItem): Ditto.
1354         * dom/Document.h:
1355
1356         Add the ability for Documents, DocumentLoaders, and FrameLoaderClients to be notified when a Documents
1357         URL changes as the result of pushState(), replaceState(), or a popstate navigation:
1358         * dom/Document.cpp:
1359         (WebCore::Document::implicitClose): If there's a pending state object, dispatch the popstate event.
1360         (WebCore::Document::updateURLForPushOrReplaceState):
1361         (WebCore::Document::statePopped): If loading is complete, dispatch the popstate event. Otherwise, set 
1362           the pending state object.
1363         * loader/DocumentLoader.cpp:
1364         (WebCore::DocumentLoader::replaceRequestURLForSameDocumentNavigation):
1365         * loader/DocumentLoader.h:
1366         * loader/FrameLoaderClient.h:
1367         * loader/EmptyClients.h:
1368         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeStateObjectForPageForFrame):
1369
1370         Change handling of "loading a HistoryItem" to distinguish between new-Document navigations and same-Document
1371         navigations, combining the old concept of anchor scrolls with the new concept of state object navigations:
1372         * loader/FrameLoader.cpp:
1373         (WebCore::FrameLoader::loadInSameDocument):
1374         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1375         (WebCore::FrameLoader::navigateWithinDocument):
1376         (WebCore::FrameLoader::navigateToDifferentDocument):
1377         (WebCore::FrameLoader::loadItem):
1378         * loader/FrameLoader.h:
1379         * page/Page.cpp:
1380         (WebCore::Page::goToItem): Changed to allow state object activations to pass through without the load stopping.
1381
1382 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
1383
1384         Not reviewed: chromium build fix.
1385         r51621 changed JS bindings only, broke v8's.
1386
1387         * bindings/v8/ScriptFunctionCall.cpp:
1388         (WebCore::ScriptFunctionCall::appendArgument):
1389         * bindings/v8/ScriptFunctionCall.h:
1390
1391 2009-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
1392
1393         Reviewed by Adam Barth.
1394
1395         [V8] Attributes and NamedNodeMaps aren't tracked correctly and may be prematurely garbage-collected.
1396         https://bugs.webkit.org/show_bug.cgi?id=32094
1397
1398         Covered by existing test: LayoutTests/fast/dom/Attr/access-after-element-destruction.html
1399
1400         * bindings/v8/DOMObjectsInclude.h:
1401         * bindings/v8/V8DOMWrapper.cpp:
1402         (WebCore::V8DOMWrapper::getTemplate):
1403         (WebCore::V8DOMWrapper::convertToV8Object):
1404         (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
1405         * bindings/v8/V8DOMWrapper.h:
1406         * bindings/v8/V8GCController.cpp:
1407         (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
1408         * bindings/v8/custom/V8CustomBinding.h:
1409
1410 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
1411
1412         Reviewed by Timothy Hatcher.
1413
1414         Chromium: Add support for settings containing ":"
1415
1416         https://bugs.webkit.org/show_bug.cgi?id=32118
1417
1418         * inspector/front-end/WatchExpressionsSidebarPane.js:
1419         (WebInspector.WatchExpressionsSection):
1420
1421 2009-12-03  Rafael Antognolli  <antognolli@profusion.mobi>, Kenneth Christiansen <kenneth@webkit.org>
1422
1423         Reviewed by Simon Fraser.
1424
1425         repaint events from outside the viewport aren't received
1426         https://bugs.webkit.org/show_bug.cgi?id=32081
1427
1428         When using a tiled backing store for painting, you need to receive
1429         event from outside the viewport. Setting the viewport to the size
1430         of the contents is not an option if you want to make use of WebCore's
1431         infrastructure for drawing scrollbars etc.
1432
1433         A new property, paintsEntireContents, has been introduced for the
1434         above use-case. It is settable, as tiling will be optional for Qt,
1435         and for the not yet upstreamed EFL port, there will be two different
1436         views, where only one of them are tiled.
1437
1438         No change in behavior, so no new tests added.
1439
1440         * page/FrameView.cpp:
1441         (WebCore::FrameView::repaintContentRectangle):
1442         * platform/ScrollView.cpp:
1443         (WebCore::ScrollView::ScrollView):
1444         (WebCore::ScrollView::setPaintsEntireContents):
1445         (WebCore::ScrollView::wheelEvent):
1446         * platform/ScrollView.h:
1447         (WebCore::ScrollView::paintsEntireContents):
1448
1449 2009-11-23  Jeremy Moskovich  <jeremy@chromium.org>
1450
1451         Reviewed by Eric Seidel.
1452
1453         Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs.
1454         https://bugs.webkit.org/show_bug.cgi?id=31802
1455
1456         No test since this is already covered by existing pixel tests.
1457
1458         * platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac .
1459         * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Provide forward declarations
1460         of Core Text functions that are public on 10.6 but SPI on 10.5.
1461
1462 2009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
1463
1464         Reviewed by Timothy Hatcher.
1465
1466         Web Inspector: Simplify the settings support in inspector controller.
1467
1468         https://bugs.webkit.org/show_bug.cgi?id=32076
1469
1470         Test: inspector/settings-set-get.html
1471
1472         * WebCore.Inspector.exp:
1473         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1474         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1475         * inspector/InspectorClient.h:
1476         * inspector/InspectorController.cpp:
1477         (WebCore::InspectorController::~InspectorController):
1478         (WebCore::InspectorController::setting):
1479         (WebCore::InspectorController::setSetting):
1480         (WebCore::InspectorController::setWindowVisible):
1481         (WebCore::InspectorController::attachWindow):
1482         (WebCore::InspectorController::setAttachedWindowHeight):
1483         (WebCore::InspectorController::storeLastActivePanel):
1484         (WebCore::InspectorController::scriptObjectReady):
1485         (WebCore::InspectorController::showWindow):
1486         (WebCore::InspectorController::enableResourceTracking):
1487         (WebCore::InspectorController::disableResourceTracking):
1488         (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
1489         (WebCore::InspectorController::enableProfiler):
1490         (WebCore::InspectorController::disableProfiler):
1491         (WebCore::InspectorController::enableDebuggerFromFrontend):
1492         (WebCore::InspectorController::disableDebugger):
1493         * inspector/InspectorController.h:
1494         * inspector/InspectorFrontendHost.cpp:
1495         (WebCore::InspectorFrontendHost::setting):
1496         (WebCore::InspectorFrontendHost::setSetting):
1497         * inspector/InspectorFrontendHost.h:
1498         * inspector/InspectorFrontendHost.idl:
1499         * loader/EmptyClients.h:
1500         (WebCore::EmptyInspectorClient::populateSetting):
1501         (WebCore::EmptyInspectorClient::storeSetting):
1502
1503 2009-12-03  Ben Murdoch  <benm@google.com>
1504
1505         Reviewed by Brady Eidson.
1506
1507         [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
1508         https://bugs.webkit.org/show_bug.cgi?id=31915
1509
1510         No change in functionality so no new tests required.
1511
1512         * history/HistoryItem.cpp:
1513         (WebCore::defaultNotifyHistoryItemChanged): Update this function to pass the HistoryItem that is being changed.
1514         (WebCore::HistoryItem::setAlternateTitle): Update call to notifyHistoryItemChanged to include the new parameter.
1515         (WebCore::HistoryItem::setURLString): ditto.
1516         (WebCore::HistoryItem::setOriginalURLString): ditto.
1517         (WebCore::HistoryItem::setReferrer): ditto.
1518         (WebCore::HistoryItem::setTitle): ditto.
1519         (WebCore::HistoryItem::setTarget): ditto.
1520         (WebCore::HistoryItem::setDocumentState): On Android, add a call to notifyHistoryItemChanged. See bug for a discussion of why this is needed.
1521         (WebCore::HistoryItem::clearDocumentState): ditto.
1522         (WebCore::HistoryItem::setIsTargetItem): ditto.
1523         (WebCore::HistoryItem::addChildItem): ditto.
1524         (WebCore::HistoryItem::setFormInfoFromRequest): ditto.
1525         * history/HistoryItem.h: Update signature of notifyHistoryItemChanged.
1526
1527 2009-12-03  Ben Murdoch  <benm@google.com>
1528
1529         Reviewed by Brady Eidson.
1530
1531         [Android] The FrameLoaderClient is unaware of BackForwardList changes.
1532         https://bugs.webkit.org/show_bug.cgi?id=31914
1533
1534         This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes.
1535
1536         No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks.
1537
1538         * history/BackForwardList.cpp:
1539         (WebCore::BackForwardList::addItem): Execute the callback.
1540         (WebCore::BackForwardList::goBack): ditto.
1541         (WebCore::BackForwardList::goForward): ditto.
1542         (WebCore::BackForwardList::goToItem): ditto.
1543         (WebCore::BackForwardList::setCapacity): dito.
1544         * loader/EmptyClients.h:
1545         (WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing.
1546         (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
1547         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
1548         * loader/FrameLoaderClient.h:
1549
1550 2009-12-03  Ben Murdoch  <benm@google.com>
1551
1552         Reviewed by Brady Eidson.
1553
1554         [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem.
1555         https://bugs.webkit.org/show_bug.cgi?id=31913
1556
1557         Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem.
1558
1559         No new tests required as this is Android specific code.
1560
1561         * history/HistoryItem.h: Add Android specific member data to HistoryItem.
1562         * history/android: Added.
1563         * history/android/AndroidWebHistoryBridge.h: Added.
1564         * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem.
1565         (WebCore::HistoryItem::bridge): Added.
1566         (WebCore::HistoryItem::setBridge): Added.
1567
1568 2009-12-03  Oliver Hunt  <oliver@apple.com>
1569
1570         Reviewed by Maciej Stachowiak.
1571
1572         NULL ptr in SVGPathSegList::getPathSegAtLength()
1573         https://bugs.webkit.org/show_bug.cgi?id=30313
1574
1575         Add exception checks to SVGPathSegList's implementation to catch (and propagate) exceptions.
1576         Add null checks to SVGList's content manipulation functions to prevent
1577         null values from entering the list in the first place.
1578
1579         Test: svg/dom/svgpath-out-of-bounds-getPathSeg.html
1580
1581         * svg/SVGList.h:
1582         (WebCore::SVGList::initialize):
1583         (WebCore::SVGList::insertItemBefore):
1584         (WebCore::SVGList::replaceItem):
1585         (WebCore::SVGList::appendItem):
1586         * svg/SVGPathElement.cpp:
1587         (WebCore::SVGPathElement::getPathSegAtLength):
1588         * svg/SVGPathElement.h:
1589         * svg/SVGPathElement.idl:
1590         * svg/SVGPathSegList.cpp:
1591         (WebCore::SVGPathSegList::getPathSegAtLength):
1592         (WebCore::SVGPathSegList::toPathData):
1593         (WebCore::SVGPathSegList::createAnimated):
1594         * svg/SVGPathSegList.h:
1595
1596 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
1597
1598         Reviewed by Eric Seidel.
1599
1600         Sanitize web fonts using the OTS library 
1601         https://bugs.webkit.org/show_bug.cgi?id=31106
1602
1603         Add support for OpenType sanitizer (OTS). It parses OpenType files (from @font-face)
1604         and attempts to validate and sanitize them. We hope this reduces the attack surface
1605         of the system font libraries.
1606
1607         * WebCore.gyp/WebCore.gyp: Added dependency to (chromium_src_dir)/third_party/ots/ library.
1608         * WebCore.gypi: Added new files below.
1609         * WebCore.xcodeproj/project.pbxproj: Ditto.
1610         * platform/graphics/chromium/FontCustomPlatformData.cpp: Validate and transcode a web font.
1611         (WebCore::createFontCustomPlatformData):
1612         * platform/graphics/mac/FontCustomPlatformData.cpp: Ditto.
1613         (WebCore::createFontCustomPlatformData):
1614         * platform/graphics/opentype/OpenTypeSanitizer.cpp: Added.
1615         (WebCore::OpenTypeSanitizer::sanitize):
1616         * platform/graphics/opentype/OpenTypeSanitizer.h: Added.
1617         (WebCore::OpenTypeSanitizer::OpenTypeSanitizer):
1618
1619 2009-12-02  Oliver Hunt  <oliver@apple.com>
1620
1621         Reviewed by Sam Weinig.
1622
1623         Web Inspector frontend heap allocates ScriptFunctionCall which is unsafe
1624         https://bugs.webkit.org/show_bug.cgi?id=32098
1625
1626         Fix is simply to make the ScriptFunctionCall stack allocated as nature intended.
1627         Doing this required adding an appendArgument(char*) to ScriptFunctionCall so
1628         that an explicit String cast would not be necessary.
1629
1630         To prevent something like this happening again in future i've added private
1631         operator new implementations to ScriptFunctionCall making this type of mistake
1632         produce errors when compiling.
1633
1634         Test case: Inspector tests now pass with GC on every alloc enabled.
1635
1636         * bindings/js/ScriptFunctionCall.cpp:
1637         (WebCore::ScriptFunctionCall::appendArgument):
1638         * bindings/js/ScriptFunctionCall.h:
1639         (WebCore::ScriptFunctionCall::operator new):
1640         (WebCore::ScriptFunctionCall::operator new[]):
1641         * inspector/InspectorFrontend.cpp:
1642         (WebCore::InspectorFrontend::addConsoleMessage):
1643         (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
1644         (WebCore::InspectorFrontend::addResource):
1645         (WebCore::InspectorFrontend::updateResource):
1646         (WebCore::InspectorFrontend::removeResource):
1647         (WebCore::InspectorFrontend::updateFocusedNode):
1648         (WebCore::InspectorFrontend::setAttachedWindow):
1649         (WebCore::InspectorFrontend::addRecordToTimeline):
1650         (WebCore::InspectorFrontend::parsedScriptSource):
1651         (WebCore::InspectorFrontend::failedToParseScriptSource):
1652         (WebCore::InspectorFrontend::addProfileHeader):
1653         (WebCore::InspectorFrontend::setRecordingProfile):
1654         (WebCore::InspectorFrontend::didGetProfileHeaders):
1655         (WebCore::InspectorFrontend::didGetProfile):
1656         (WebCore::InspectorFrontend::pausedScript):
1657         (WebCore::InspectorFrontend::setDocument):
1658         (WebCore::InspectorFrontend::setDetachedRoot):
1659         (WebCore::InspectorFrontend::setChildNodes):
1660         (WebCore::InspectorFrontend::childNodeCountUpdated):
1661         (WebCore::InspectorFrontend::childNodeInserted):
1662         (WebCore::InspectorFrontend::childNodeRemoved):
1663         (WebCore::InspectorFrontend::attributesUpdated):
1664         (WebCore::InspectorFrontend::didRemoveNode):
1665         (WebCore::InspectorFrontend::didGetChildNodes):
1666         (WebCore::InspectorFrontend::didApplyDomChange):
1667         (WebCore::InspectorFrontend::didGetEventListenersForNode):
1668         (WebCore::InspectorFrontend::didGetCookies):
1669         (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
1670         (WebCore::InspectorFrontend::addDatabase):
1671         (WebCore::InspectorFrontend::selectDatabase):
1672         (WebCore::InspectorFrontend::didGetDatabaseTableNames):
1673         (WebCore::InspectorFrontend::addDOMStorage):
1674         (WebCore::InspectorFrontend::selectDOMStorage):
1675         (WebCore::InspectorFrontend::didGetDOMStorageEntries):
1676         (WebCore::InspectorFrontend::didSetDOMStorageItem):
1677         (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
1678         (WebCore::InspectorFrontend::updateDOMStorage):
1679         (WebCore::InspectorFrontend::addNodesToSearchResult):
1680         (WebCore::InspectorFrontend::evaluateForTestInFrontend):
1681         * inspector/InspectorFrontend.h:
1682
1683 2009-12-02  Dave Hyatt  <hyatt@apple.com>
1684
1685         Reviewed by Darin Adler.
1686
1687         https://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling so that we
1688         pass more CSS test suite stuff.  Make the grammar stop enforcing the ordering of @namespace vs.
1689         @variables vs. @import.  Just let the parser handle that instead.  This simplifies the grammar and
1690         makes error handling deal with more cases correctly.
1691
1692         Added fast/css/namespaces/namespaces-invalid-at-rules.xml
1693
1694         * css/CSSGrammar.y:
1695         * css/CSSParser.cpp:
1696         (WebCore::CSSParser::CSSParser):
1697         (WebCore::CSSParser::parseRule):
1698         (WebCore::CSSParser::createCharsetRule):
1699         (WebCore::CSSParser::createImportRule):
1700         (WebCore::CSSParser::createMediaRule):
1701         (WebCore::CSSParser::createKeyframesRule):
1702         (WebCore::CSSParser::createStyleRule):
1703         (WebCore::CSSParser::createFontFaceRule):
1704         (WebCore::CSSParser::addNamespace):
1705         (WebCore::CSSParser::createVariablesRule):
1706         * css/CSSParser.h:
1707
1708 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
1709
1710         Reviewed by Dan Bernstein.
1711
1712         Safari/Chromium for Windows fails to load CJK WebFonts
1713         https://bugs.webkit.org/show_bug.cgi?id=31804
1714         
1715         * platform/graphics/opentype/OpenTypeUtilities.cpp:
1716         (WebCore::renameAndActivateFont): Load a remote font even if the font has 2 or more faces.
1717
1718 2009-12-02  Avi Drissman  <avi@chromium.org>
1719
1720         Reviewed by Darin Fisher.
1721
1722         Chromium: Need tickmarks in scrollbar
1723         https://bugs.webkit.org/show_bug.cgi?id=32069
1724
1725         * WebCore.gyp/WebCore.gyp:
1726         * WebCore.gypi:
1727         * platform/chromium/ScrollbarThemeChromiumMac.h: Added.
1728         * platform/chromium/ScrollbarThemeChromiumMac.mm: Added.
1729
1730 2009-11-13  Timothy Hatcher  <timothy@apple.com>
1731
1732         Expose a function to set the value of an input element on behalf of the user.
1733         This function will dispatch the change event so the page is notified when autofill
1734         happens. Also dispatch a change event when a select element is changed by autofill.
1735
1736         <rdar://problem/6760590> Would like a way to detect a login form AutoFill from JavaScript
1737
1738         Reviewed by Darin Adler.
1739
1740         * WebCore.xcodeproj/project.pbxproj: Added the DOMHTMLInputElementPrivate.h header.
1741         * bindings/objc/DOMHTML.mm:
1742         (-[DOMHTMLSelectElement _activateItemAtIndex:]): Call setSelectedIndexByUser instead so
1743         a change event is fired. This method is called by Safari autofill.
1744         * dom/Document.cpp:
1745         (WebCore::Document::setFocusedNode): Use dispatchFormControlChangeEvent instead
1746         of dispatching the change event directly to be consistent.
1747         * html/HTMLFormControlElement.cpp:
1748         (WebCore::HTMLInputElement::setValueForUser): Added. Calls setValue with the sendChangeEvent
1749         (WebCore::HTMLInputElement::setValue): Added the optional sendChangeEvent argument. Mimics setChecked.
1750         * html/HTMLInputElement.h:
1751         * html/HTMLInputElement.idl: Added setValueForUser for non-JS languages.
1752         * html/InputElement.h: Added setValueForUser.
1753
1754 2009-12-02  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
1755
1756         Reviewed by Timothy Hatcher.
1757
1758         Web Inspector: DOM tree selection disappears upon page refresh.
1759
1760         https://bugs.webkit.org/show_bug.cgi?id=31142
1761
1762         Test: inspector/elements-panel-selection-on-refresh.html
1763
1764         * inspector/InjectedScriptHost.cpp:
1765         (WebCore::InjectedScriptHost::pushNodeByPathToFrontend):
1766         * inspector/InjectedScriptHost.h:
1767         * inspector/InjectedScriptHost.idl:
1768         * inspector/InspectorBackend.h:
1769         * inspector/InspectorController.cpp:
1770         (WebCore::InspectorController::close):
1771         (WebCore::InspectorController::releaseDOMAgent):
1772         (WebCore::InspectorController::resetScriptObjects):
1773         * inspector/InspectorDOMAgent.cpp:
1774         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
1775         (WebCore::InspectorDOMAgent::reset):
1776         (WebCore::InspectorDOMAgent::setDocument):
1777         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
1778         (WebCore::InspectorDOMAgent::nodeForPath):
1779         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
1780         * inspector/InspectorDOMAgent.h:
1781         * inspector/front-end/DOMAgent.js:
1782         (WebInspector.DOMNode.prototype._renumber):
1783         (WebInspector.DOMAgent.prototype._setDocument):
1784         * inspector/front-end/ElementsPanel.js:
1785         (WebInspector.ElementsPanel.prototype.reset):
1786         (WebInspector.ElementsPanel.prototype.setDocument.selectDefaultNode):
1787         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
1788         (WebInspector.ElementsPanel.prototype.setDocument):
1789         * inspector/front-end/InjectedScript.js:
1790         (InjectedScript.pushNodeByPathToFrontend):
1791         * inspector/front-end/InjectedScriptAccess.js:
1792
1793 2009-12-01  Dave Hyatt  <hyatt@apple.com>
1794
1795         Reviewed by Dan Bernstein.
1796
1797         https://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with
1798         all the @-rules we support.  When escape sequences are present, the lexical scanner
1799         just returns a generic token name: ATKEYWORD.  We have to process the escape sequences
1800         and then recheck against the rules we support with the final processed name.  If we
1801         find a match, we mutate the token value to the appropriate rule name token, e.g.,
1802         NAMESPACE_SYM.
1803
1804         Added fast/css/namespaces/namespaces-escapes.xml
1805
1806         * css/CSSParser.cpp:
1807         (WebCore::CSSParser::lex):
1808         (WebCore::CSSParser::recheckAtKeyword):
1809         (WebCore::CSSParser::text):
1810         * css/CSSParser.h:
1811
1812 2009-12-02  Anton Muhin  <antonm@chromium.org>
1813
1814         Reviewed by Adam Barth.:w
1815
1816         Allow to skip thread checks when accessing DOMDataStore for processes
1817         which run V8 in single thread mode.
1818         https://bugs.webkit.org/show_bug.cgi?id=31877
1819
1820         Should be covered by buildbots.
1821
1822         * bindings/v8/V8DOMMap.cpp:
1823         (WebCore::getDOMDataStore):
1824         (WebCore::enableFasterDOMStoreAccess):
1825         (WebCore::getDOMNodeMap):
1826         (WebCore::getDOMObjectMap):
1827         (WebCore::getActiveDOMObjectMap):
1828         (WebCore::getDOMSVGElementInstanceMap):
1829         (WebCore::getDOMSVGObjectWithContextMap):
1830         * bindings/v8/V8DOMMap.h:
1831
1832 2009-12-02  Yury Semikhatsky  <yurys@chromium.org>
1833
1834         Reviewed by Pavel Feldman.
1835
1836         Code clean up: remove ScriptObjectQuarantine.* as a whole.
1837
1838         https://bugs.webkit.org/show_bug.cgi?id=32060
1839
1840         * GNUmakefile.am:
1841         * WebCore.gypi:
1842         * WebCore.pro:
1843         * WebCore.vcproj/WebCore.vcproj:
1844         * WebCore.xcodeproj/project.pbxproj:
1845         * WebCoreSources.bkl:
1846         * bindings/js/JSBindingsAllInOne.cpp:
1847         * bindings/js/ScriptObjectQuarantine.cpp: Removed.
1848         * bindings/js/ScriptObjectQuarantine.h: Removed.
1849         * bindings/js/ScriptValue.cpp:
1850         (WebCore::ScriptValue::quarantineValue):
1851         * bindings/js/ScriptValue.h:
1852         * bindings/v8/ScriptObjectQuarantine.cpp: Removed.
1853         * bindings/v8/ScriptObjectQuarantine.h: Removed.
1854         * bindings/v8/ScriptValue.h:
1855         (WebCore::ScriptValue::quarantineValue):
1856         * inspector/ConsoleMessage.cpp:
1857         (WebCore::ConsoleMessage::ConsoleMessage):
1858         * inspector/InspectorController.cpp:
1859         * inspector/InspectorDatabaseResource.cpp:
1860         (WebCore::InspectorDatabaseResource::bind):
1861         * inspector/InspectorFrontend.cpp:
1862
1863 2009-12-02  Fumitoshi Ukai  <ukai@chromium.org>
1864
1865         Reviewed by Alexey Proskuryakov.
1866
1867         WebSocket handshake check query component of URL
1868         https://bugs.webkit.org/show_bug.cgi?id=31617
1869
1870         Tests: websocket/tests/url-with-credential.html
1871                websocket/tests/url-with-empty-query.html
1872                websocket/tests/url-with-fragment.html
1873                websocket/tests/url-with-query-for-no-query.html
1874                websocket/tests/url-with-query.html
1875
1876         * platform/KURLGoogle.cpp:
1877         (WebCore::KURL::query): returns a null if query is not specified and returns an empty if query is specified but empty.
1878         * websockets/WebSocketHandshake.cpp:
1879         (WebCore::resourceName): added. add query component to path if specified.
1880         (WebCore::WebSocketHandshake::clientLocation):
1881         (WebCore::WebSocketHandshake::clientHandshakeMessage):
1882
1883 2009-12-01  David Levin  <levin@chromium.org>
1884
1885         Reviewed by Eric Seidel.
1886
1887         Incorrect code in WebGLRenderingContext.cpp
1888         https://bugs.webkit.org/show_bug.cgi?id=32046
1889
1890         Fix incorrect code that happened to work. != has higher precendence than &.
1891         The simplest fix is to remove the "!= 0" which violates WebKit style
1892         guidelines anyway.
1893
1894         Also added periods to few comments in the same function.
1895
1896         * html/canvas/WebGLRenderingContext.cpp:
1897         (WebCore::WebGLRenderingContext::validateIndexArray):
1898
1899 2009-12-01  Kent Tamura  <tkent@chromium.org>
1900
1901         Reviewed by Darin Adler.
1902
1903         Change [Reflect] to [ConvertNullToNullString, Reflect] for min, max,
1904         pattern and step attributes of HTMLInputElement.
1905         https://bugs.webkit.org/show_bug.cgi?id=31708
1906
1907         * html/HTMLInputElement.idl:
1908
1909 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
1910
1911         Reviewed by Darin Adler.
1912
1913         WAI-ARIA: implement support for ARIA drag and drop
1914         https://bugs.webkit.org/show_bug.cgi?id=32007
1915
1916         Test: platform/mac/accessibility/aria-drag-drop.html
1917
1918         * accessibility/AccessibilityObject.h:
1919         (WebCore::AccessibilityObject::supportsARIADropping):
1920         (WebCore::AccessibilityObject::supportsARIADragging):
1921         (WebCore::AccessibilityObject::isARIAGrabbed):
1922         (WebCore::AccessibilityObject::setARIAGrabbed):
1923         (WebCore::AccessibilityObject::determineARIADropEffects):
1924         * accessibility/AccessibilityRenderObject.cpp:
1925         (WebCore::AccessibilityRenderObject::supportsARIADropping):
1926         (WebCore::AccessibilityRenderObject::supportsARIADragging):
1927         (WebCore::AccessibilityRenderObject::isARIAGrabbed):
1928         (WebCore::AccessibilityRenderObject::setARIAGrabbed):
1929         (WebCore::AccessibilityRenderObject::determineARIADropEffects):
1930         * accessibility/AccessibilityRenderObject.h:
1931         * accessibility/mac/AccessibilityObjectWrapper.mm:
1932         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1933         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1934         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
1935         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1936         * html/HTMLAttributeNames.in:
1937
1938 2009-12-01  Adam Barth  <abarth@webkit.org>
1939
1940         https://bugs.webkit.org/show_bug.cgi?id=21288
1941
1942         Unreviewed port of @sandbox to V8.
1943
1944         * bindings/v8/ScriptController.cpp:
1945         (WebCore::ScriptController::isEnabled):
1946         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1947         (WebCore::createWindow):
1948
1949 2009-12-01  Patrik Persson  <patrik.j.persson@ericsson.com>
1950
1951         Reviewed by Darin Adler.
1952
1953         Implement HTML5 sandbox attribute for iframes.
1954         http://www.w3.org/TR/html5/text-level-semantics.html#attr-iframe-sandbox
1955         https://bugs.webkit.org/show_bug.cgi?id=21288
1956
1957         Tests: fast/frames/sandboxed-iframe-attribute-parsing.html
1958                fast/frames/sandboxed-iframe-forms.html
1959                fast/frames/sandboxed-iframe-navigation-allowed.html
1960                fast/frames/sandboxed-iframe-navigation-parent.html
1961                fast/frames/sandboxed-iframe-navigation-targetlink.html
1962                fast/frames/sandboxed-iframe-navigation-windowopen.html
1963                fast/frames/sandboxed-iframe-plugins.html
1964                fast/frames/sandboxed-iframe-scripting.html
1965                fast/frames/sandboxed-iframe-storage.html
1966                http/tests/security/sandboxed-iframe-document-cookie.html
1967                http/tests/security/sandboxed-iframe-modify-self.html
1968                http/tests/security/xss-DENIED-sandboxed-iframe.html
1969                http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow.html
1970                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard.html
1971                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied.html
1972
1973         * bindings/js/JSDOMWindowCustom.cpp: sandboxing navigation
1974         (WebCore::createWindow):
1975         * bindings/js/ScriptController.cpp: sandboxing scripts
1976         (WebCore::ScriptController::isEnabled):
1977         * dom/Document.cpp:
1978         (WebCore::Document::processHttpEquiv):
1979         (WebCore::Document::cookie): raise exception when accessed from sandbox
1980         (WebCore::Document::setCookie): raise exception when accessed from sandbox
1981         (WebCore::Document::initSecurityContext): updae sandbox status
1982         (WebCore::Document::updateSandboxFlags):
1983         * dom/Document.h:
1984         * dom/Document.idl:
1985         * html/HTMLAppletElement.cpp: sandboxing applets
1986         (WebCore::HTMLAppletElement::createRenderer):
1987         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
1988         (WebCore::HTMLAppletElement::canEmbedJava):
1989         * html/HTMLAppletElement.h:
1990         * html/HTMLAttributeNames.in:
1991         * html/HTMLFrameOwnerElement.cpp: management of sandbox flags as stated in attribute
1992         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
1993         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
1994         * html/HTMLFrameOwnerElement.h:
1995         (WebCore::HTMLFrameOwnerElement::sandboxFlags):
1996         * html/HTMLIFrameElement.cpp: sandbox attribute parsing
1997         (WebCore::parseSandboxAttribute):
1998         (WebCore::HTMLIFrameElement::parseMappedAttribute):
1999         * html/HTMLIFrameElement.idl:
2000         * inspector/InspectorController.cpp:
2001         (WebCore::InspectorController::getCookies):
2002         * loader/CrossOriginAccessControl.cpp:
2003         (WebCore::passesAccessControlCheck):
2004         * loader/FrameLoader.cpp:
2005         (WebCore::FrameLoader::FrameLoader):
2006         (WebCore::FrameLoader::init):
2007         (WebCore::FrameLoader::submitForm): sandboxing forms
2008         (WebCore::FrameLoader::requestObject): sandboxing plugins
2009         (WebCore::FrameLoader::shouldAllowNavigation): sandboxing navigation
2010         (WebCore::FrameLoader::updateSandboxFlags): propagation of sandbox flags
2011         * loader/FrameLoader.h:
2012         (WebCore::FrameLoader::ownerElementSandboxFlagsChanged):
2013         (WebCore::FrameLoader::isSandboxed):
2014         (WebCore::FrameLoader::sandboxFlags):
2015         * loader/FrameLoaderTypes.h:
2016         (WebCore::):
2017         * page/DOMWindow.cpp: disable storage and databases in sandboxed frames
2018         (WebCore::DOMWindow::sessionStorage):
2019         (WebCore::DOMWindow::localStorage):
2020         (WebCore::DOMWindow::openDatabase):
2021         * page/SecurityOrigin.cpp: added sandboxing status
2022         (WebCore::SecurityOrigin::SecurityOrigin):
2023         (WebCore::SecurityOrigin::canAccess):
2024         (WebCore::SecurityOrigin::canRequest):
2025         (WebCore::SecurityOrigin::toString):
2026         * page/SecurityOrigin.h:
2027         (WebCore::SecurityOrigin::setSandboxFlags):
2028         (WebCore::SecurityOrigin::isSandboxed):
2029         (WebCore::SecurityOrigin::canAccessDatabase):
2030         (WebCore::SecurityOrigin::canAccessStorage):
2031         * websockets/WebSocketChannel.cpp:
2032         (WebCore::WebSocketChannel::didReceiveData):
2033
2034 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
2035
2036         Reviewed by David Kilzer.
2037
2038         ARIA: support a way to create a static text object
2039         https://bugs.webkit.org/show_bug.cgi?id=32030
2040
2041         Test: accessibility/aria-text-role.html
2042
2043         * accessibility/AccessibilityObject.cpp:
2044         (WebCore::createARIARoleMap):
2045         * accessibility/AccessibilityRenderObject.cpp:
2046         (WebCore::AccessibilityRenderObject::stringValue):
2047         (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
2048         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2049         (WebCore::AccessibilityRenderObject::text):
2050         * accessibility/AccessibilityRenderObject.h:
2051
2052 2009-12-01  Oliver Hunt  <oliver@apple.com>
2053
2054         Reviewed by Maciej Stachowiak.
2055
2056         Inspector crashes when collecting on every allocation
2057         https://bugs.webkit.org/show_bug.cgi?id=32044
2058
2059         The crash is caused by the prototype wrapper object getting collected
2060         when allocating the object that is going to use it as a prototype.
2061         Because the only reference to the prototype wrapper is through the
2062         new object's Structure it does not get marked automatically.
2063
2064         * bindings/js/JSInspectedObjectWrapper.cpp:
2065         (WebCore::JSInspectedObjectWrapper::wrap):
2066         * bindings/js/JSInspectorCallbackWrapper.cpp:
2067         (WebCore::JSInspectorCallbackWrapper::wrap):
2068
2069 2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2070
2071         Reviewed by Simon Fraser.
2072
2073         Add SVG animation test framework with 'snapshot' functionality
2074         https://bugs.webkit.org/show_bug.cgi?id=31897
2075
2076         Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController,
2077         for the use within the new SVG animation test framework (LayoutTests/svg/animations/)
2078
2079         layoutTestController.sampleAnimationAtTime(<svg animation id>, <absolute time>, <svg element id>);
2080         to sample a svg animateMotion/animateColor/animate/set element at certain times.
2081
2082         After the desired SVG animation starts and calling the method above, it's immediately forwarded to
2083         the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method
2084         a callback is fired used to sample the animation value at the target time. It's modelled similar
2085         to the CSS animation/transition testing framework, inspired by
2086         LayoutTests/animations/animation-test-helpers.js.
2087
2088         Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for
2089         the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only.
2090
2091         Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal
2092         interaction, while animating.
2093
2094         Test: svg/animations/animVal-basics.html
2095
2096         * WebCore.base.exp:
2097         * WebCore.xcodeproj/project.pbxproj:
2098         * svg/SVGDocumentExtensions.cpp:
2099         (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
2100         * svg/SVGDocumentExtensions.h:
2101         * svg/animation/SMILTimeContainer.cpp:
2102         (WebCore::SMILTimeContainer::SMILTimeContainer):
2103         (WebCore::SMILTimeContainer::sampleAnimationAtTime):
2104         (WebCore::SMILTimeContainer::updateAnimations):
2105         * svg/animation/SMILTimeContainer.h:
2106
2107 2009-12-01  Jens Alfke  <snej@chromium.org>
2108
2109         Reviewed by Darin Adler.
2110
2111         Add convenience methods to Element and QualifiedName that take
2112         char* instead of AtomicString, in preparation for removing the
2113         implicit conversion between the two types (30187).
2114         https://bugs.webkit.org/show_bug.cgi?id=31749
2115
2116         * dom/Element.cpp:
2117         (WebCore::Element::setCStringAttribute):  Equivalent to setAttribute.
2118         * dom/Element.h:
2119         * dom/QualifiedName.cpp:
2120         (WebCore::QualifiedName::init):  Shared impl of both constructors
2121         (WebCore::QualifiedName::QualifiedName):  New c'tor taking char*.
2122         * dom/QualifiedName.h:
2123         * platform/network/HTTPHeaderMap.cpp:
2124         (WebCore::CaseFoldingCStringTranslator):  Enables lookup by C string
2125         (WebCore::HTTPHeaderMap::get):  New variant that takes C string
2126         (WebCore::HTTPHeaderMap::contains):  New variant that takes C string
2127         (WebCore::HTTPHeaderMap::add):  New variant that takes C string
2128         * platform/network/HTTPHeaderMap.h:
2129         (WebCore::HTTPHeaderMap::get):
2130         (WebCore::HTTPHeaderMap::add):
2131         * platform/network/ResourceRequestBase.cpp:
2132         (WebCore::ResourceRequestBase::httpHeaderField):  New variant that takes C string
2133         * platform/network/ResourceRequestBase.h:
2134         (WebCore::ResourceRequestBase::setHTTPHeaderField):  Use symbolic names for headers
2135         * platform/network/ResourceResponseBase.cpp:
2136         (WebCore::ResourceResponseBase::httpHeaderField):  New variant that takes C string
2137         * platform/network/ResourceResponseBase.h:
2138
2139 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
2140
2141         More Windows build fix.
2142
2143         * platform/network/cf/CredentialStorageCFNet.cpp:
2144         (WebCore::CredentialStorage::getFromPersistentStorage):
2145
2146 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
2147
2148         Windows build fix.
2149
2150         * platform/network/cf/CredentialStorageCFNet.cpp: Include RetainPtr.h.
2151
2152 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
2153
2154         Reviewed by Darin Adler.
2155
2156         https://bugs.webkit.org/show_bug.cgi?id=32036
2157         Implement CredentialStorage::getFromPersistentStorage for CFNetwork
2158
2159         * platform/network/cf/CredentialStorageCFNet.cpp:
2160         (WebCore::CredentialStorage::getFromPersistentStorage):
2161
2162 2009-12-01  Daniel Bates  <dbates@webkit.org>
2163
2164         Reviewed by Pavel Feldman.
2165
2166         https://bugs.webkit.org/show_bug.cgi?id=32001
2167
2168         Added missing localized strings (that I left out of the patch for bug #21554):
2169         %d × %d pixels
2170         %d × %d pixels (Natural: %d × %d pixels)
2171
2172         Also, changed formatting of these stings to conform with existing ones (added
2173         a space on both sides of the multiply sign).
2174
2175         * English.lproj/localizedStrings.js: Added stings.
2176         * inspector/front-end/ElementsTreeOutline.js:
2177         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
2178
2179 2009-12-01  Dave Hyatt  <hyatt@apple.com>
2180
2181         Reviewed by Simon Fraser.
2182
2183         Fix for bug 32032, empty namespaces should be allowed in @namespace directives in CSS.
2184
2185         Added fast/css/namespaces/namespaces-empty.xml
2186
2187         * css/CSSStyleSheet.cpp:
2188         (WebCore::CSSStyleSheet::addNamespace):
2189         (WebCore::CSSStyleSheet::determineNamespace):
2190
2191 2009-12-01  Joseph Pecoraro  <joepeck@webkit.org>
2192
2193         Reviewed by Timothy Hatcher.
2194
2195         Web Inspector: Escape key in the Search Field should be more User Friendly
2196         https://bugs.webkit.org/show_bug.cgi?id=32005
2197
2198         * inspector/front-end/inspector.js:
2199         (WebInspector.loaded): add mousedown listener on the search field
2200         (WebInspector.searchFieldManualFocus): user clicked to focus on the search field
2201         (WebInspector.searchKeyDown): handle escape
2202
2203 2009-12-01  Dave Hyatt  <hyatt@apple.com>
2204
2205         Reviewed by David Kilzer.
2206
2207         @namespace directives need to use "maybe_space" in the "maybe_ns_prefix" portion of the grammar to match
2208         the spec.  Not doing so prevent comments from being used immmediately after the namespace prefix.
2209
2210         Added fast/css/namespaces-comments.xml
2211
2212         * css/CSSGrammar.y:
2213
2214 2009-12-01  Yael Aharon  <yael.aharon@nokia.com>
2215
2216         Reviewed by Timothy Hatcher.
2217
2218         Reloading WebInspector from context menu is closing it instead of reloading.
2219         https://bugs.webkit.org/show_bug.cgi?id=32004
2220
2221         When reloading WebInspector, don't delete its m_page.
2222
2223         * inspector/InspectorController.cpp:
2224         (WebCore::InspectorController::close):
2225
2226 2009-12-01  Steve Block  <steveblock@google.com>
2227
2228         Reviewed by Dimitri Glazkov.
2229
2230         Adds V8 bindings for Geolocation.
2231         https://bugs.webkit.org/show_bug.cgi?id=30206
2232
2233         Also adds Geolocation files to Chrome build files.
2234
2235         * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files.
2236         * WebCore.gypi: Modified. Adds Geolocation files.
2237         * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes.
2238         * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files.
2239         * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers.
2240         * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES.
2241         * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties.
2242         * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters.
2243         * bindings/v8/custom/V8CustomPositionCallback.cpp: Added.
2244         (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor.
2245         (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor.
2246         (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback.
2247         * bindings/v8/custom/V8CustomPositionCallback.h: Added.
2248         (WebCore::V8CustomPositionCallback::create): Added. Factory method.
2249         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added.
2250         (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor.
2251         (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor.
2252         (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback.
2253         * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added.
2254         (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method.
2255         * bindings/v8/custom/V8GeolocationCustom.cpp: Added.
2256         (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error.
2257         (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument.
2258         (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument.
2259         (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument.
2260
2261 2009-12-01  Yury Semikhatsky  <yurys@chromium.org>
2262
2263         Reviewed by Adam Barth.
2264
2265         Provide a way to get ScriptState for the inspected page.
2266
2267         https://bugs.webkit.org/show_bug.cgi?id=32020
2268
2269         * bindings/v8/ScriptController.cpp:
2270         (WebCore::ScriptController::mainWorldScriptState):
2271         * bindings/v8/ScriptController.h:
2272         * bindings/v8/ScriptState.cpp:
2273         (WebCore::scriptStateFromPage):
2274
2275 2009-12-01  Chris Marrin  <cmarrin@apple.com>
2276
2277         Reviewed by Adam Roben.
2278
2279         Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns
2280         https://bugs.webkit.org/show_bug.cgi?id=30778
2281
2282         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2283         (WebCore::GraphicsContext3D::getProgramInfoLog):
2284         (WebCore::GraphicsContext3D::getShaderInfoLog):
2285         (WebCore::GraphicsContext3D::getShaderSource):
2286         (WebCore::imageToTexture):
2287
2288 2009-12-01  Mads Ager  <ager@chromium.org>
2289
2290         Reviewed by Eric Seidel.
2291
2292         [V8] Don't crash in DOMWindow event getter in OOM situations
2293         https://bugs.webkit.org/show_bug.cgi?id=32017
2294
2295         Add missing null handle checks in DOMWindow event property
2296         accessors.  V8Proxy::context(frame) can return a null handle in
2297         OOM situations either if failing to initialize a context or if an
2298         OOM is handled gracefully and javascript is disabled.
2299
2300         No new tests because we don't have a good way to test
2301         out-of-memory bugs.
2302
2303         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2304         (WebCore::ACCESSOR_GETTER):
2305         (WebCore::ACCESSOR_SETTER):
2306
2307 2009-12-01  Chris Marrin  <cmarrin@apple.com>
2308
2309         Reviewed by Oliver Hunt.
2310
2311         Updated HTMLCanvasElement to accept "experimental-webgl" as the context name.
2312         https://bugs.webkit.org/show_bug.cgi?id=31672
2313
2314         * html/HTMLCanvasElement.cpp:
2315         (WebCore::HTMLCanvasElement::getContext):
2316
2317 2009-12-01  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
2318
2319         Not reviewed: chromium build fix, added missing import.
2320
2321         * inspector/InspectorFrontendHost.cpp:
2322
2323 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
2324
2325         Not reviewed: fix windows build via unexcluding generated files from
2326         project.
2327
2328         * WebCore.vcproj/WebCore.vcproj:
2329
2330 2009-12-01  Mark Rowe  <mrowe@apple.com>
2331
2332         Stop copying IDL files in to the WebCore framework wrapper.
2333
2334         * WebCore.xcodeproj/project.pbxproj:
2335
2336 2009-12-01  Mark Rowe  <mrowe@apple.com>
2337
2338         Fix the Tiger build by making the Xcode project compatible with Xcode 2.4.
2339
2340         This was probably broken by hand-editing the project file as Xcode itself
2341         knows how to keep project files to a backwards-compatible subset of its format.
2342
2343         * WebCore.xcodeproj/project.pbxproj:
2344
2345 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
2346
2347         Not reviewed: windows build fix (bad vcproj in r51528).
2348
2349         * WebCore.vcproj/WebCore.vcproj:
2350
2351 2009-11-27  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
2352
2353         Reviewed by Timothy Hatcher.
2354
2355         Web Inspector: Split InspectorBackend into three parts: backend,
2356         injected script host and frontend host.
2357         
2358         https://bugs.webkit.org/show_bug.cgi?id=31888
2359
2360         * DerivedSources.make:
2361         * GNUmakefile.am:
2362         * WebCore.gypi:
2363         * WebCore.pro:
2364         * WebCore.vcproj/WebCore.vcproj:
2365         * WebCore.xcodeproj/project.pbxproj:
2366         * WebCoreSources.bkl:
2367         * bindings/js/JSBindingsAllInOne.cpp:
2368         * bindings/js/JSInspectorBackendCustom.cpp: Removed.
2369         * bindings/js/JSInspectorFrontendHostCustom.cpp: Added.
2370         (WebCore::JSInspectorFrontendHost::search):
2371         (WebCore::JSInspectorFrontendHost::setting):
2372         (WebCore::JSInspectorFrontendHost::setSetting):
2373         * bindings/js/ScriptObject.cpp:
2374         (WebCore::ScriptGlobalObject::set):
2375         * bindings/js/ScriptObject.h:
2376         * bindings/v8/DOMObjectsInclude.h:
2377         * bindings/v8/DerivedSourcesAllInOne.cpp:
2378         * bindings/v8/ScriptObject.cpp:
2379         (WebCore::ScriptGlobalObject::set):
2380         * bindings/v8/ScriptObject.h:
2381         * bindings/v8/V8Index.cpp:
2382         * bindings/v8/V8Index.h:
2383         * bindings/v8/custom/V8CustomBinding.h:
2384         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added.
2385         (WebCore::CALLBACK_FUNC_DECL):
2386         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed.
2387         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added.
2388         (WebCore::CALLBACK_FUNC_DECL):
2389         * inspector/InjectedScriptHost.cpp: Added.
2390         (WebCore::InjectedScriptHost::InjectedScriptHost):
2391         (WebCore::InjectedScriptHost::~InjectedScriptHost):
2392         (WebCore::InjectedScriptHost::copyText):
2393         (WebCore::InjectedScriptHost::nodeForId):
2394         (WebCore::InjectedScriptHost::wrapObject):
2395         (WebCore::InjectedScriptHost::unwrapObject):
2396         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
2397         (WebCore::InjectedScriptHost::addNodesToSearchResult):
2398         (WebCore::InjectedScriptHost::currentCallFrame):
2399         (WebCore::InjectedScriptHost::databaseForId):
2400         (WebCore::InjectedScriptHost::selectDatabase):
2401         (WebCore::InjectedScriptHost::selectDOMStorage):
2402         (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
2403         (WebCore::InjectedScriptHost::inspectorDOMAgent):
2404         (WebCore::InjectedScriptHost::inspectorFrontend):
2405         * inspector/InjectedScriptHost.h: Added.
2406         (WebCore::InjectedScriptHost::create):
2407         (WebCore::InjectedScriptHost::inspectorController):
2408         (WebCore::InjectedScriptHost::disconnectController):
2409         * inspector/InjectedScriptHost.idl: Added.
2410         * inspector/InspectorBackend.cpp:
2411         (WebCore::InspectorBackend::InspectorBackend):
2412         (WebCore::InspectorBackend::storeLastActivePanel):
2413         (WebCore::InspectorBackend::toggleNodeSearch):
2414         (WebCore::InspectorBackend::resourceTrackingEnabled):
2415         (WebCore::InspectorBackend::debuggerEnabled):
2416         (WebCore::InspectorBackend::enableDebugger):
2417         (WebCore::InspectorBackend::disableDebugger):
2418         (WebCore::InspectorBackend::addBreakpoint):
2419         (WebCore::InspectorBackend::updateBreakpoint):
2420         (WebCore::InspectorBackend::removeBreakpoint):
2421         (WebCore::InspectorBackend::pauseInDebugger):
2422         (WebCore::InspectorBackend::resumeDebugger):
2423         (WebCore::InspectorBackend::stepOverStatementInDebugger):
2424         (WebCore::InspectorBackend::stepIntoStatementInDebugger):
2425         (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
2426         (WebCore::InspectorBackend::pauseOnExceptions):
2427         (WebCore::InspectorBackend::setPauseOnExceptions):
2428         (WebCore::InspectorBackend::profilerEnabled):
2429         (WebCore::InspectorBackend::enableProfiler):
2430         (WebCore::InspectorBackend::disableProfiler):
2431         (WebCore::InspectorBackend::startProfiling):
2432         (WebCore::InspectorBackend::stopProfiling):
2433         (WebCore::InspectorBackend::getProfileHeaders):
2434         (WebCore::InspectorBackend::getProfile):
2435         (WebCore::InspectorBackend::currentCallFrame):
2436         (WebCore::InspectorBackend::highlightDOMNode):
2437         (WebCore::InspectorBackend::hideDOMNodeHighlight):
2438         (WebCore::InspectorBackend::getCookies):
2439         (WebCore::InspectorBackend::deleteCookie):
2440         (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
2441         (WebCore::InspectorBackend::nodeForId):
2442         * inspector/InspectorBackend.h:
2443         (WebCore::InspectorBackend::create):
2444         * inspector/InspectorBackend.idl:
2445         * inspector/InspectorController.cpp:
2446         (WebCore::InspectorController::InspectorController):
2447         (WebCore::InspectorController::~InspectorController):
2448         (WebCore::InspectorController::inspectedPageDestroyed):
2449         (WebCore::InspectorController::windowScriptObjectAvailable):
2450         * inspector/InspectorController.h:
2451         (WebCore::InspectorController::inspectorFrontendHost):
2452         (WebCore::InspectorController::injectedScriptHost):
2453         * inspector/InspectorFrontendHost.cpp: Added.
2454         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
2455         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
2456         (WebCore::InspectorFrontendHost::loaded):
2457         (WebCore::InspectorFrontendHost::attach):
2458         (WebCore::InspectorFrontendHost::detach):
2459         (WebCore::InspectorFrontendHost::closeWindow):
2460         (WebCore::InspectorFrontendHost::windowUnloading):
2461         (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
2462         (WebCore::InspectorFrontendHost::moveWindowBy):
2463         (WebCore::InspectorFrontendHost::localizedStringsURL):
2464         (WebCore::InspectorFrontendHost::hiddenPanels):
2465         (WebCore::InspectorFrontendHost::platform):
2466         (WebCore::InspectorFrontendHost::port):
2467         (WebCore::InspectorFrontendHost::addResourceSourceToFrame):
2468         (WebCore::InspectorFrontendHost::addSourceToFrame):
2469         * inspector/InspectorFrontendHost.h: Added.
2470         (WebCore::InspectorFrontendHost::create):
2471         (WebCore::InspectorFrontendHost::inspectorController):
2472         (WebCore::InspectorFrontendHost::disconnectController):
2473         * inspector/InspectorFrontendHost.idl: Added.
2474         * inspector/front-end/Breakpoint.js:
2475         (WebInspector.Breakpoint.prototype.set condition):
2476         * inspector/front-end/BreakpointsSidebarPane.js:
2477         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
2478         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
2479         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
2480         * inspector/front-end/ConsoleView.js:
2481         (WebInspector.ConsoleView.prototype.clearMessages):
2482         * inspector/front-end/CookieItemsView.js:
2483         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
2484         * inspector/front-end/DOMAgent.js:
2485         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
2486         (WebInspector.DOMAgent.prototype.setAttributeAsync):
2487         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
2488         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
2489         (WebInspector.Cookies.getCookiesAsync):
2490         (WebInspector.EventListeners.getEventListenersForNodeAsync):
2491         * inspector/front-end/DOMStorage.js:
2492         (WebInspector.DOMStorage.prototype.getEntries):
2493         (WebInspector.DOMStorage.prototype.setItem):
2494         (WebInspector.DOMStorage.prototype.removeItem):
2495         * inspector/front-end/Database.js:
2496         (WebInspector.Database.prototype.getTableNames):
2497         * inspector/front-end/ElementsPanel.js:
2498         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2499         (WebInspector.ElementsPanel.prototype.hide):
2500         (WebInspector.ElementsPanel.prototype.reset):
2501         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
2502         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
2503         * inspector/front-end/ElementsTreeOutline.js:
2504         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
2505         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
2506         ():
2507         * inspector/front-end/EventListenersSidebarPane.js:
2508         (WebInspector.EventListenersSidebarPane.prototype):
2509         * inspector/front-end/InjectedScript.js:
2510         (InjectedScript._evaluateAndWrap):
2511         (InjectedScript.performSearch.addNodesToResults):
2512         (InjectedScript.getCallFrames):
2513         (InjectedScript._callFrameForId):
2514         (InjectedScript._clearConsoleMessages):
2515         (InjectedScript._inspectObject):
2516         (InjectedScript._copy):
2517         (InjectedScript._ensureCommandLineAPIInstalled):
2518         (InjectedScript._window):
2519         (InjectedScript._nodeForId):
2520         (InjectedScript._objectForId):
2521         (InjectedScript.pushNodeToFrontend):
2522         (InjectedScript.executeSql):
2523         (InjectedScript.executeSql.errorCallback):
2524         (InjectedScript.executeSql.queryTransaction):
2525         * inspector/front-end/InjectedScriptAccess.js:
2526         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
2527         (InjectedScriptAccess._installHandler):
2528         * inspector/front-end/InspectorBackendStub.js: Added.
2529         (.WebInspector.InspectorBackendStub):
2530         (.WebInspector.InspectorBackendStub.prototype.wrapCallback):
2531         (.WebInspector.InspectorBackendStub.prototype.platform):
2532         (.WebInspector.InspectorBackendStub.prototype.port):
2533         (.WebInspector.InspectorBackendStub.prototype.closeWindow):
2534         (.WebInspector.InspectorBackendStub.prototype.attach):
2535         (.WebInspector.InspectorBackendStub.prototype.detach):
2536         (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel):
2537         (.WebInspector.InspectorBackendStub.prototype.clearMessages):
2538         (.WebInspector.InspectorBackendStub.prototype.searchingForNode):
2539         (.WebInspector.InspectorBackendStub.prototype.search):
2540         (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch):
2541         (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
2542         (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted):
2543         (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame):
2544         (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame):
2545         (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode):
2546         (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode):
2547         (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight):
2548         (.WebInspector.InspectorBackendStub.prototype.inspectedWindow):
2549         (.WebInspector.InspectorBackendStub.prototype.loaded):
2550         (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL):
2551         (.WebInspector.InspectorBackendStub.prototype.windowUnloading):
2552         (.WebInspector.InspectorBackendStub.prototype.hiddenPanels):
2553         (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled):
2554         (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
2555         (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
2556         (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled):
2557         (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
2558         (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
2559         (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
2560         (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint):
2561         (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint):
2562         (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger):
2563         (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions):
2564         (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions):
2565         (.WebInspector.InspectorBackendStub.prototype.resumeDebugger):
2566         (.WebInspector.InspectorBackendStub.prototype.profilerEnabled):
2567         (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
2568         (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
2569         (.WebInspector.InspectorBackendStub.prototype.startProfiling):
2570         (.WebInspector.InspectorBackendStub.prototype.stopProfiling):
2571         (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders):
2572         (.WebInspector.InspectorBackendStub.prototype.getProfile):
2573         (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot):
2574         (.WebInspector.InspectorBackendStub.prototype.databaseTableNames):
2575         (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger):
2576         (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger):
2577         (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger):
2578         (.WebInspector.InspectorBackendStub.prototype.setSetting):
2579         (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript):
2580         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
2581         (.WebInspector.InspectorBackendStub.prototype.setting):
2582         * inspector/front-end/InspectorControllerStub.js:
2583         * inspector/front-end/InspectorFrontendHostStub.js: Added.
2584         (.WebInspector.InspectorFrontendHostStub):
2585         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
2586         (.WebInspector.InspectorFrontendHostStub.prototype.port):
2587         (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
2588         (.WebInspector.InspectorFrontendHostStub.prototype.attach):
2589         (.WebInspector.InspectorFrontendHostStub.prototype.detach):
2590         (.WebInspector.InspectorFrontendHostStub.prototype.search):
2591         (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
2592         (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
2593         (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame):
2594         (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame):
2595         (.WebInspector.InspectorFrontendHostStub.prototype.loaded):
2596         (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
2597         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
2598         (.WebInspector.InspectorFrontendHostStub.prototype.setSetting):
2599         (.WebInspector.InspectorFrontendHostStub.prototype.setting):
2600         * inspector/front-end/ProfileView.js:
2601         (WebInspector.CPUProfileView):
2602         (WebInspector.CPUProfileType.prototype.buttonClicked):
2603         * inspector/front-end/ProfilesPanel.js:
2604         (WebInspector.ProfilesPanel.prototype._updateInterface):
2605         (WebInspector.ProfilesPanel.prototype._enableProfiling):
2606         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
2607         * inspector/front-end/ResourcesPanel.js:
2608         (WebInspector.ResourcesPanel.prototype.reset):
2609         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
2610         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
2611         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
2612         * inspector/front-end/ScriptView.js:
2613         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
2614         * inspector/front-end/ScriptsPanel.js:
2615         (WebInspector.ScriptsPanel.prototype.show):
2616         (WebInspector.ScriptsPanel.prototype.addScript):
2617         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
2618         (WebInspector.ScriptsPanel.prototype.reset):
2619         (WebInspector.ScriptsPanel.prototype.canShowResource):
2620         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2621         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
2622         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
2623         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
2624         (WebInspector.ScriptsPanel.prototype._enableDebugging):
2625         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
2626         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
2627         (WebInspector.ScriptsPanel.prototype._togglePause):
2628         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
2629         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
2630         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
2631         * inspector/front-end/SourceView.js:
2632         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2633         (WebInspector.SourceView.prototype.performSearch.findSearchMatches):
2634         (WebInspector.SourceView.prototype.performSearch):
2635         * inspector/front-end/StylesSidebarPane.js:
2636         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
2637         * inspector/front-end/TestController.js:
2638         (WebInspector.TestController.prototype.notifyDone):
2639         * inspector/front-end/TimelinePanel.js:
2640         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
2641         * inspector/front-end/WatchExpressionsSidebarPane.js:
2642         (WebInspector.WatchExpressionsSection.prototype.update):
2643         (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
2644         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
2645         * inspector/front-end/WebKit.qrc:
2646         * inspector/front-end/inspector.html:
2647         * inspector/front-end/inspector.js:
2648         (WebInspector.pendingDispatches.0.get platform):
2649         (WebInspector.get port):
2650         (WebInspector.set currentPanel):
2651         (WebInspector._createPanels):
2652         (WebInspector._loadPreferences):
2653         (WebInspector.set attached):
2654         (WebInspector._updateHoverHighlight):
2655         (WebInspector.loaded):
2656         (windowLoaded):
2657         (WebInspector.windowUnload):
2658         (WebInspector.close):
2659         (WebInspector.toolbarDrag):
2660         (WebInspector.UIString):
2661
2662 2009-11-30  Shinichiro Hamaji  <hamaji@chromium.org>
2663
2664         Reviewed by Dan Bernstein.
2665
2666         css2.1/t1205-c566-list-stl-00-e-ag.html is failing
2667         https://bugs.webkit.org/show_bug.cgi?id=23264
2668         css2.1/t1205-c565-list-pos-00-b.html is failing
2669         https://bugs.webkit.org/show_bug.cgi?id=23263
2670
2671         Ignore whitespaces after list markers.
2672         Rendering of this was already done for the case where inside=false.
2673         This fixes the rendering of inside=true case and calcInlinePrefWidths.
2674
2675         Test: fast/lists/calc-width-with-space.html
2676
2677         * rendering/RenderBlock.cpp:
2678         (WebCore::RenderBlock::calcInlinePrefWidths):
2679         * rendering/RenderBlockLineLayout.cpp:
2680         (WebCore::RenderBlock::findNextLineBreak):
2681
2682 2009-11-30  Fumitoshi Ukai  <ukai@chromium.org>
2683
2684         Unreviewed Chromium build fix introduced by r51212
2685
2686         Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld
2687         as the first argument.
2688         Move mainThreadNormalWorld() to ScriptState.{h,cpp}.
2689         Add debuggerWorld() and pluginWorld() in ScriptState.h.
2690
2691         * bindings/v8/ScriptController.cpp:
2692         * bindings/v8/ScriptController.h:
2693         * bindings/v8/ScriptState.cpp:
2694         (WebCore::scriptStateFromNode):
2695         (WebCore::scriptStateFromPage):
2696         (WebCore::mainThreadNormalWorld):
2697         * bindings/v8/ScriptState.h:
2698         (WebCore::debuggerWorld):
2699         (WebCore::pluginWorld):
2700
2701 2009-11-30  Enrica Casucci  <enrica@apple.com>
2702
2703         Reviewed by Darin Adler.
2704
2705         Can focus but not type into content editable block that contains only non-editable content.
2706         <rdar://problem/5982901>
2707         https://bugs.webkit.org/show_bug.cgi?id=31750
2708         
2709         The goal is to change the way we choose a visible position
2710         after hit detection, by preferring a visually equivalent editable
2711         position if available. By doing this, it is possible to add content
2712         to an editable block that initially contains only non editable elements.
2713
2714         Test: editing/selection/mixed-editability-10.html
2715
2716         * WebCore.base.exp: Changed to match the new signature of downstream
2717         and upstream in the Position class.
2718         * dom/Position.cpp:
2719         (WebCore::Position::atEditingBoundary): Added.
2720         (WebCore::Position::upstream): Modified to allow to cross the boundary
2721         between editable and non editable content if required.
2722         (WebCore::Position::downstream): Modified to allow to cross the boundary
2723         between editable and non editable content if required.
2724         (WebCore::Position::isCandidate): Modified to qualify as candidates positions
2725         that are at the editability boundary.
2726         (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box
2727         to be used in calculating the caret rectangle.
2728         * dom/Position.h:
2729         (WebCore::Position::):
2730         * dom/PositionIterator.cpp:
2731         (WebCore::PositionIterator::atEditingBoundary): Added.
2732         (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions
2733         that are at the editability boundary.
2734         * dom/PositionIterator.h:
2735         * editing/htmlediting.cpp:
2736         (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only
2737         descendants of the editable container, but the container itself.
2738         (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only
2739         descendants of the editable container, but the container itself.
2740         * rendering/RenderObject.cpp:
2741         (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position,
2742         if available.
2743         * rendering/RenderText.cpp:
2744         (WebCore::RenderText::isAllCollapsibleWhitespace): Added.
2745         * rendering/RenderText.h:
2746
2747 2009-11-30  Kevin Ollivier  <kevino@theolliviers.com>
2748
2749         wx build fix, add header needed for wx build.
2750
2751         * css/CSSFontFaceSrcValue.cpp:
2752
2753 2009-11-30  Mark Rowe  <mrowe@apple.com>
2754
2755         Reviewed by David Kilzer.
2756
2757         <rdar://problem/7424387> WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries
2758
2759         The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine.
2760         If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined.  We work around this by forcing the check to
2761         be performed against the x86_64 architecture.
2762
2763         * DerivedSources.make:
2764
2765 2009-11-30  Beth Dakin  <bdakin@apple.com>
2766
2767         Reviewed by Oliver Hunt.
2768
2769         Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in 
2770         Safari caused by extreme column-gap and column-width values 
2771         -and corresponding-
2772         <rdar://problem/7425433>
2773
2774         Prevent desiredColumnCount from being less than 1 since it is used 
2775         as a divisor.
2776         * rendering/RenderBlock.cpp:
2777         (WebCore::RenderBlock::calcColumnWidth):
2778
2779 2009-11-30  Alexey Proskuryakov  <ap@apple.com>
2780
2781         Reviewed by Oliver Hunt.
2782
2783         https://bugs.webkit.org/show_bug.cgi?id=31659
2784         Connection must be closed in case of Web Socket handshake error
2785
2786         The network connection was closed, but the close event wasn't dispatched.
2787
2788         Tested by websocket/tests/handshake-error.html, which is un-skipped now.
2789
2790         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose):
2791         Call client didHandle() method. This looks strange in CFNetwork implementation, because
2792         it's the client that asked to close the stream, so it shouldn't need the callback. It makes
2793         more sense in cross-process implementation, because closing is async there.
2794
2795 2009-11-30  Gavin Barraclough  <barraclough@apple.com>
2796
2797         Reviewed by Geoff Garen.
2798
2799         Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
2800
2801         WebCore presently has to explicitly specify the world before entering into JSC,
2802         which is a little fragile (particularly since property access via a
2803         getter/setter might invoke execution). Instead derive the current world from
2804         the lexical global object.
2805
2806         Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via
2807         currentWorld().  Switch this to obtain the world from the ExecsState's lexical global
2808         object instead.  Remove the call/construct/evaluate 'InWorld' methods, since these
2809         are no longer necessary.
2810
2811         * WebCore.base.exp:
2812         * bindings/js/JSCallbackData.cpp:
2813         (WebCore::JSCallbackData::invokeCallback):
2814         * bindings/js/JSCallbackData.h:
2815         (WebCore::JSCallbackData::JSCallbackData):
2816         * bindings/js/JSCustomXPathNSResolver.cpp:
2817         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2818         * bindings/js/JSDOMBinding.cpp:
2819         (WebCore::currentWorld):
2820         (WebCore::mainThreadNormalWorld):
2821         * bindings/js/JSDOMBinding.h:
2822         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
2823         * bindings/js/JSDOMWindowBase.cpp:
2824         (WebCore::JSDOMWindowBase::updateDocument):
2825         * bindings/js/JSDOMWindowBase.h:
2826         * bindings/js/JSEventListener.cpp:
2827         (WebCore::JSEventListener::handleEvent):
2828         (WebCore::JSEventListener::reportError):
2829         * bindings/js/JSHTMLDocumentCustom.cpp:
2830         (WebCore::JSHTMLDocument::open):
2831         * bindings/js/JSNodeFilterCondition.cpp:
2832         (WebCore::JSNodeFilterCondition::acceptNode):
2833         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2834         (WebCore::JSQuarantinedObjectWrapper::construct):
2835         (WebCore::JSQuarantinedObjectWrapper::call):
2836         * bindings/js/ScheduledAction.cpp:
2837         (WebCore::ScheduledAction::executeFunctionInContext):
2838         * bindings/js/ScriptController.cpp:
2839         (WebCore::ScriptController::evaluateInWorld):
2840         (WebCore::ScriptController::initScript):
2841         (WebCore::ScriptController::updateDocument):
2842         * bindings/js/ScriptFunctionCall.cpp:
2843         (WebCore::ScriptFunctionCall::call):
2844         (WebCore::ScriptFunctionCall::construct):
2845         * bindings/js/ScriptObjectQuarantine.cpp:
2846         (WebCore::getQuarantinedScriptObject):
2847         * bindings/js/ScriptState.cpp:
2848         (WebCore::scriptStateFromNode):
2849         (WebCore::scriptStateFromPage):
2850         * bindings/js/ScriptState.h:
2851         * bindings/js/WorkerScriptController.cpp:
2852         (WebCore::WorkerScriptController::evaluate):
2853         * bindings/objc/WebScriptObject.mm:
2854         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2855         (-[WebScriptObject evaluateWebScript:]):
2856         * bridge/NP_jsobject.cpp:
2857         (_NPN_InvokeDefault):
2858         (_NPN_Invoke):
2859         (_NPN_Evaluate):
2860         (_NPN_Construct):
2861         * bridge/jni/jni_jsobject.mm:
2862         (JavaJSObject::call):
2863         (JavaJSObject::eval):
2864         * dom/NodeFilter.h:
2865         (WebCore::NodeFilter::acceptNode):
2866         * dom/NodeIterator.h:
2867         (WebCore::NodeIterator::nextNode):
2868         (WebCore::NodeIterator::previousNode):
2869         * dom/TreeWalker.h:
2870         (WebCore::TreeWalker::parentNode):
2871         (WebCore::TreeWalker::firstChild):
2872         (WebCore::TreeWalker::lastChild):
2873         (WebCore::TreeWalker::previousSibling):
2874         (WebCore::TreeWalker::nextSibling):
2875         (WebCore::TreeWalker::previousNode):
2876         (WebCore::TreeWalker::nextNode):
2877         * inspector/InspectorController.cpp:
2878         (WebCore::InspectorController::windowScriptObjectAvailable):
2879         (WebCore::InspectorController::didEvaluateForTestInFrontend):
2880         * inspector/JavaScriptCallFrame.cpp:
2881         (WebCore::JavaScriptCallFrame::evaluate):
2882
2883 2009-11-30  Eric Carlson  <eric.carlson@apple.com>
2884
2885         Reviewed by Simon Fraser.
2886
2887         All HTML5 media element events should be regular events
2888         https://bugs.webkit.org/show_bug.cgi?id=30513
2889
2890         * html/HTMLMediaElement.cpp:
2891         (WebCore::HTMLMediaElement::selectMediaResource):
2892         (WebCore::HTMLMediaElement::noneSupported):
2893         (WebCore::HTMLMediaElement::mediaEngineError):
2894         (WebCore::HTMLMediaElement::setNetworkState):
2895         (WebCore::HTMLMediaElement::userCancelledLoad):
2896             Call scheduleEvent instead of scheduleProgressEvent.
2897         (WebCore::HTMLMediaElement::progressEventTimerFired):
2898             Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement
2899             after scheduling a 'progress' event so the controller will update download
2900             progress indicator.
2901         * html/HTMLMediaElement.h:
2902             Remove scheduleProgressEvent prototype.
2903
2904 2009-11-30  Joseph Pecoraro  <joepeck@webkit.org>
2905
2906         Reviewed by Pavel Feldman.
2907
2908         Web Inspector: Wrong console output for Regexp escape sequence
2909         https://bugs.webkit.org/show_bug.cgi?id=31538
2910
2911         Updated inspector/console-format.html
2912
2913         * inspector/front-end/ConsoleView.js:
2914         (WebInspector.ConsoleView.createDividerElement): style issues.
2915         (WebInspector.ConsoleView.createFilterElement): style issues.
2916         (WebInspector.ConsoleView): added _customFormatters table.
2917         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses.
2918         (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues.
2919         (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic.
2920         (WebInspector.ConsoleView.prototype._formatobject):
2921         (WebInspector.ConsoleView.prototype._formatnode):
2922         (WebInspector.ConsoleView.prototype._printArray):
2923         (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts.
2924         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting.
2925         (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting.
2926         (WebInspector.ConsoleCommandResult):
2927         * inspector/front-end/InjectedScript.js: simplified regex formatting.
2928         * inspector/front-end/inspector.js:
2929         (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits.
2930         * inspector/front-end/utilities.js: 
2931         (Element.prototype.hasStyleClass): update inaccurate comment.
2932         (String.prototype.trimURL): converted new RegExp to literal for performance benefits.
2933
2934 2009-11-30  Erik Arvidsson  <arv@chromium.org>
2935
2936         Reviewed by Adam Barth.
2937
2938         Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration
2939         https://bugs.webkit.org/show_bug.cgi?id=31895
2940
2941         No new tests. This is already covered by:
2942                 fast/dom/CSSStyleDeclaration/css-computed-style-item.html
2943                 fast/dom/CSSStyleDeclaration/css-style-item.html
2944
2945         * bindings/v8/V8Collection.h:
2946         (WebCore::collectionStringIndexedPropertyGetter):
2947         (WebCore::setCollectionStringIndexedGetter):
2948         * bindings/v8/V8DOMWrapper.cpp:
2949         (WebCore::V8DOMWrapper::getTemplate):
2950
2951 2009-11-30  Steve Block  <steveblock@google.com>
2952
2953         Reviewed by Eric Seidel.
2954
2955         Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController.
2956         https://bugs.webkit.org/show_bug.cgi?id=31932
2957
2958         Build fix only, no new tests.
2959
2960         * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h.
2961
2962 2009-11-30  Steve Block  <steveblock@google.com>
2963
2964         Reviewed by Eric Seidel.
2965
2966         Adds PassOwnPtr include to ScriptExecutionContext.h.
2967         https://bugs.webkit.org/show_bug.cgi?id=31929
2968
2969         Build fix only, no new tests.
2970
2971         * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include.
2972
2973 2009-11-30  Dirk Schulze  <krit@webkit.org>
2974
2975         Reviewed by Nikolas Zimmermann.
2976
2977         REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly
2978         [https://bugs.webkit.org/show_bug.cgi?id=31980]
2979
2980         It turns out, that we did not handle maskUnits="userSpaceOnUse"
2981         correctly. We just need to move the context of the maskImage
2982         if maskContentUnits="objectBoundingBox". The context gets scaled
2983         on this unit combination, so we have to substract the position of
2984         the targetRect. On userSpaceOnUse the position just depends on the
2985         position of the mask element.
2986         I added a test with some senseless and reasonable values for size
2987         and postion of the mask and it's contents. I also used every
2988         combination of maskUnits and maskContentUnits to be sure, that it
2989         is fixed this time.
2990
2991         Test: svg/custom/mask-with-all-units.svg
2992
2993         * svg/SVGMaskElement.cpp:
2994         (WebCore::SVGMaskElement::drawMaskerContent):
2995
2996 2009-11-30  Steve Block  <steveblock@google.com>
2997
2998         Reviewed by Eric Seidel.
2999
3000         Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
3001         https://bugs.webkit.org/show_bug.cgi?id=31928
3002
3003         Build fix only, no new tests.
3004
3005         * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
3006
3007 2009-11-30  Steve Block  <steveblock@google.com>
3008
3009         Reviewed by Eric Seidel.
3010
3011         Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy.
3012         https://bugs.webkit.org/show_bug.cgi?id=31926
3013
3014         Build fix only, no new tests.
3015
3016         * bindings/v8/WorkerContextExecutionProxy.cpp:
3017         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3018         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
3019         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
3020
3021 2009-11-30  Benjamin Poulain  <benjamin.poulain@nokia.com>
3022
3023         Reviewed by Kenneth Rohde Christiansen.
3024
3025         Chrome::contentsSizeChanged() is called when the content size has not changed
3026         https://bugs.webkit.org/show_bug.cgi?id=31978
3027
3028         Do not trigger contentsSizeChaned() is the new size is the same as the old one.
3029
3030         * page/FrameView.cpp:
3031         (WebCore::FrameView::setContentsSize):
3032
3033 2009-11-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3034
3035         Reviewed by Kenneth Rohde Christiansen.
3036
3037         [Qt] Fix some compiler warnings seen on QtWebKit/Mac
3038         https://bugs.webkit.org/show_bug.cgi?id=31962
3039
3040         No new tests as there is no functional change.
3041
3042         * platform/network/ResourceHandle.h: Make destructor virtual as 
3043         after r50772 ResourceHandle has virtual functions.
3044
3045         * plugins/mac/PluginPackageMac.cpp: 
3046         (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace
3047         not a label
3048
3049         * plugins/mac/PluginViewMac.cpp:
3050         (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format
3051         specifier
3052
3053 2009-11-30  Xan Lopez  <xlopez@igalia.com>
3054
3055         Reviewed by Gustavo Noronha.
3056
3057         Add new headers to sources list.
3058
3059         * GNUmakefile.am:
3060
3061 2009-11-30  Girish Ramakrishnan  <girish@forwardbias.in>
3062
3063         Reviewed by Holger Freyther.
3064
3065         [Qt] Mac Plugins : Get context menu to work in QGraphicsView
3066         
3067         Flash expects the value in record.where to be the global position for
3068         displaying the context menu.
3069         
3070         https://bugs.webkit.org/show_bug.cgi?id=31979
3071
3072         * plugins/mac/PluginViewMac.cpp:
3073         (WebCore::PluginView::handleMouseEvent):
3074
3075 2009-11-30  Steve Block  <steveblock@google.com>
3076
3077         Reviewed by Eric Seidel.
3078
3079         Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController.
3080         https://bugs.webkit.org/show_bug.cgi?id=31925
3081
3082         This code uses ChromiumBridge and Chromium-specific constant values not
3083         appropriate for other platforms such as Android.
3084
3085         Build fix only, no new tests.
3086
3087         * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code.
3088
3089 2009-11-29  Brent Fulgham  <bfulgham@webkit.org>
3090
3091         Build fix.
3092
3093         Correct draw signature used in ImageCairoWin.cpp.
3094
3095         * platform/graphics/win/ImageCairoWin.cpp:
3096         (WebCore::BitmapImage::getHBITMAPOfSize):
3097         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
3098
3099 2009-11-28  Oliver Hunt  <oliver@apple.com>
3100
3101         Reviewed by Sam Weinig.
3102
3103         postMessage should serialize File objects
3104         https://bugs.webkit.org/show_bug.cgi?id=31955
3105
3106         Update SerializedScriptValue to include support for
3107         File objects in the serialized object graph.
3108
3109         * bindings/js/SerializedScriptValue.cpp:
3110         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
3111         (WebCore::SerializingTreeWalker::convertIfTerminal):
3112         (WebCore::DeserializingTreeWalker::convertIfTerminal):
3113         * bindings/js/SerializedScriptValue.h:
3114         (WebCore::SerializedScriptValueData::):
3115         (WebCore::SerializedScriptValueData::asString):
3116
3117 2009-11-29  Simon Fraser  <simon.fraser@apple.com>
3118
3119         Reviewed by Dan Bernstein.
3120
3121         Optimize the hierarchy rebuilding of compositing layers
3122         https://bugs.webkit.org/show_bug.cgi?id=31879
3123         
3124         When updating the compositing layer hierarchy, instead of removing all
3125         child layers and then re-adding them one by one, build a vector of child
3126         layers, and set them in one go.
3127         
3128         * platform/graphics/GraphicsLayer.h:
3129         * platform/graphics/GraphicsLayer.cpp:
3130         (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child
3131         GraphicsLayers.
3132         
3133         * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren().
3134         * platform/graphics/win/GraphicsLayerCACF.h: Ditto.
3135         * platform/graphics/mac/GraphicsLayerCA.mm: 
3136         (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to 
3137         set the bit that notes that sublayers changed.
3138         * platform/graphics/win/GraphicsLayerCACF.cpp:
3139         (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to 
3140         udpate sublayers, with a note that this is not efficient.
3141         
3142         * rendering/RenderLayerCompositor.h:
3143         * rendering/RenderLayerCompositor.cpp:
3144         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3145         When updating compositing layers, use the faster updateLayerTreeGeometry() if
3146         we know that no layer hierarchy changes are needed, and, at the root, use
3147         the vector returned from rebuildCompositingLayerTree() to attach the root
3148         layer.
3149         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to
3150         collect child layers into Vectors of GraphicsLayers, which can be set as
3151         layer children in one go.
3152         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from
3153         rebuildCompositingLayerTree() for simplicity, and called when we just need to
3154         update layer geometry, without doing any reparenting.
3155
3156 2009-11-29  Daniel Bates  <dbates@webkit.org>
3157
3158         Reviewed by Adam Barth.
3159
3160         https://bugs.webkit.org/show_bug.cgi?id=31971
3161
3162         Updated comment to reflect latest XSSAuditor bindings.
3163
3164         No functionality was changed. So, no new tests.
3165
3166         * page/XSSAuditor.h:
3167
3168 2009-11-29  Daniel Bates  <dbates@webkit.org>
3169
3170         Reviewed by Eric Seidel.
3171
3172         https://bugs.webkit.org/show_bug.cgi?id=31969
3173
3174         Removes unnecessary #include files.
3175
3176         No functionality was changed. So, no new tests.
3177
3178         * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and
3179         Pair.h
3180         * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h
3181         * css/CSSFontFaceSrcValue.cpp: Removed include Node.h
3182         * css/CSSFontSelector.cpp: Removed include NodeList.h
3183         * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h
3184         * css/CSSImageValue.cpp: Removed include RenderStyle.h
3185         * css/CSSImportRule.cpp: Removed include MediaList.h
3186         * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h
3187         * css/CSSRule.cpp: Removed include CSSStyleSheet.h
3188         * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h,
3189         CSSFontFaceSource.h, and CSSProperty.h
3190         * page/EventSource.h: Removed include EventListener.h
3191
3192 2009-11-29  Daniel Bates  <dbates@webkit.org>
3193
3194         Reviewed by Eric Seidel.
3195
3196         https://bugs.webkit.org/show_bug.cgi?id=31965
3197
3198         Removed #include KeyframeList.h from CSSStyleSelector.h. Instead,
3199         forward declared it.
3200
3201         As a side effect, we need to #include KeyframeList.h in
3202         RenderLayerBacking.cpp.
3203
3204         No functionality was changed. So, no new tests.
3205
3206         * css/CSSStyleSelector.cpp:
3207         * css/CSSStyleSelector.h: Removed #include KeyframeList.h
3208         * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h
3209
3210 2009-11-29  Shu Chang  <Chang.Shu@nokia.com>
3211
3212         Reviewed by Eric Seidel.
3213
3214         Continue to search for matching node in the case where multiple nodes
3215         have the same id.
3216         https://bugs.webkit.org/show_bug.cgi?id=31428
3217
3218         Test: fast/dom/Element/id-in-node-list-index01.html
3219
3220         * dom/DynamicNodeList.cpp:
3221         (WebCore::DynamicNodeList::itemWithName):
3222
3223 2009-11-29  Daniel Bates  <dbates@webkit.org>
3224
3225         Reviewed by Eric Seidel.
3226
3227         https://bugs.webkit.org/show_bug.cgi?id=31966
3228
3229         Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead,
3230         forward declared it.
3231
3232         No functionality was changed. So, no new tests.
3233
3234         * page/animation/KeyframeAnimation.cpp:
3235         * page/animation/KeyframeAnimation.h:
3236
3237 2009-11-29  Daniel Bates  <dbates@webkit.org>
3238
3239         Unreviewed, fix change log entry date.
3240
3241         For some reason, bugzilla-tool did not update the date in the change
3242         log entry for my last commit (r51468). So, this commit fixes the date
3243         of that entry.
3244
3245 2009-11-29  Daniel Bates  <dbates@webkit.org>
3246
3247         Reviewed by Dan Bernstein.
3248
3249         https://bugs.webkit.org/show_bug.cgi?id=31964
3250
3251         Removed #include StringImpl, StyleImage. Instead, forward declared them.
3252         Also, we can substitute #include <wtf/PassRefPtr.h> for #include PlatformString.h,
3253         since it seems we only really used it to include PassRefPtr.h.
3254
3255         No functionality was changed. So, no new tests.
3256
3257         * rendering/style/ContentData.h:
3258
3259 2009-11-29  Zoltan Horvath  <zoltan@webkit.org>
3260
3261         Reviewed by Eric Seidel.
3262
3263         Allow custom memory allocation control for classes of the rendering and storage directory in WebCore
3264         https://bugs.webkit.org/show_bug.cgi?id=31906
3265
3266         Inherits the following classes from Noncopyable because these are instantiated
3267         by 'new' and no need to be copyable:
3268
3269         class/struct name               - instantiated at: WebCore/'location'
3270
3271         class SQLTransactionClient      - storage/DatabaseThread.cpp:45
3272         class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46
3273         class OriginUsageRecord         - storage/OriginQuotaManager.cpp:66
3274         class DatabaseTracker           - storage/DatabaseTracker.cpp:62
3275         class ScrollbarTheme            - (its child class) rendering/RenderScrollbarTheme.cpp:35
3276         class RenderSelectionInfoBase   - (its child class) rendering/RenderView.cpp:310
3277         class RenderOverflow            - rendering/RenderBox.cpp:2846
3278
3279         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
3280
3281         struct FillLayer                - css/CSSStyleSelector.cpp:197
3282         struct ShadowData               - rendering/style/ShadowData.cpp:35
3283         class CounterContent            - css/CSSStyleSelector.cpp:4111
3284
3285         * platform/ScrollbarTheme.h:
3286         * rendering/RenderOverflow.h:
3287         * rendering/RenderSelectionInfo.h:
3288         * rendering/style/CounterContent.h:
3289         * rendering/style/FillLayer.h:
3290         * rendering/style/ShadowData.h:
3291         * storage/DatabaseTracker.h:
3292         * storage/OriginUsageRecord.h:
3293         * storage/SQLTransactionClient.h:
3294         * storage/SQLTransactionCoordinator.h:
3295
3296 2009-11-28  Adam Barth  <abarth@webkit.org>
3297
3298         Reviewed by Dimitri Glazkov.
3299
3300         [Chromium] Sify compose button alerts error
3301         https://bugs.webkit.org/show_bug.cgi?id=31394
3302
3303         Test: http/tests/security/calling-versus-current.html
3304
3305         We're supposed to use the calling context for security checks.  In JSC
3306         land, this is the lexicalGlobalObject.
3307
3308         * bindings/v8/V8Proxy.cpp:
3309         (WebCore::V8Proxy::canAccessPrivate):
3310
3311 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
3312
3313         Unreviewed Chromium build fix introduced by r51428.
3314
3315         [Chromium] Ignore line-height CSS property for PushButton
3316         https://bugs.webkit.org/show_bug.cgi?id=31712
3317
3318         * rendering/RenderThemeChromiumSkia.cpp:
3319         (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
3320
3321 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
3322
3323         Unreviewed Chromium test fix by reverting r51413.
3324
3325         [v8] Do not check the thread when accessing DOMDataStore
3326         https://bugs.webkit.org/show_bug.cgi?id=31877
3327
3328         * bindings/v8/V8DOMMap.cpp:
3329         (WebCore::getDOMNodeMap):
3330         (WebCore::getDOMObjectMap):
3331         (WebCore::getActiveDOMObjectMap):
3332         (WebCore::getDOMSVGElementInstanceMap):
3333         (WebCore::getDOMSVGObjectWithContextMap):
3334
3335 2009-11-27  Daniel Bates  <dbates@webkit.org>
3336
3337         Unreviewed, comment fix.
3338
3339         Corrected misspelling of the word "implemented".
3340
3341         * inspector/front-end/InjectedScriptAccess.js:
3342
3343 2009-11-27  Daniel Bates  <dbates@webkit.org>
3344
3345         Reviewed by Adam Barth.
3346
3347         https://bugs.webkit.org/show_bug.cgi?id=31940
3348
3349         Makes the error messages more descriptive when we refuse to load an object/embed or
3350         refuse to load from the document base URL.
3351
3352         * page/XSSAuditor.cpp:
3353         (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive.
3354         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
3355
3356 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
3357
3358         Reviewed by Pavel Feldman.
3359
3360         This is a WebCore part of the fix that allows to view plugin
3361         resources loaded by plugins.
3362
3363         https://bugs.webkit.org/show_bug.cgi?id=31832
3364
3365         * inspector/InspectorController.cpp:
3366         (WebCore::InspectorController::willSendRequest):
3367         (WebCore::InspectorController::didReceiveResponse):
3368         (WebCore::InspectorController::didReceiveContentLength):
3369         (WebCore::InspectorController::didFinishLoading):
3370         (WebCore::InspectorController::didFailLoading):
3371         * inspector/InspectorController.h:
3372         * inspector/InspectorResource.cpp:
3373         (WebCore::InspectorResource::addLength):
3374         * loader/ResourceLoadNotifier.cpp:
3375         (WebCore::ResourceLoadNotifier::didFailToLoad):
3376         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
3377         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
3378         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
3379         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
3380
3381 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
3382
3383         Reviewed by Pavel Feldman.
3384
3385         Instead of generating negative identifiers for cached resources in
3386         InspectorController and extending identifier type from 'unsigned long' to 'long
3387         long' reuse progress tracker from the inspected page to generate those
3388         identifiers. It guarantees that InspectorResources have unique ids since
3389         all of them are generated by that progress tracker.
3390
3391         Added a couple new overloaded methods to Script* objects that accept
3392         long and unsigned long arguments. These types of argumens have already
3393         been passed as long long.
3394
3395         https://bugs.webkit.org/show_bug.cgi?id=31921
3396
3397         * bindings/js/ScriptFunctionCall.cpp:
3398         (WebCore::ScriptFunctionCall::appendArgument):
3399         * bindings/js/ScriptFunctionCall.h:
3400         * bindings/js/ScriptObject.cpp:
3401         (WebCore::ScriptObject::set):
3402         * bindings/js/ScriptObject.h:
3403         * bindings/v8/ScriptFunctionCall.cpp:
3404         (WebCore::ScriptFunctionCall::appendArgument):
3405         * bindings/v8/ScriptFunctionCall.h:
3406         * bindings/v8/ScriptObject.cpp:
3407         (WebCore::ScriptObject::set):
3408         * bindings/v8/ScriptObject.h:
3409         * inspector/InspectorBackend.cpp:
3410         (WebCore::InspectorBackend::dispatchOnInjectedScript):
3411         * inspector/InspectorController.cpp:
3412         (WebCore::InspectorController::InspectorController):
3413         (WebCore::InspectorController::getTrackedResource):
3414         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController.
3415         * inspector/InspectorController.h:
3416         * inspector/InspectorDOMAgent.cpp:
3417         (WebCore::InspectorDOMAgent::buildObjectForNode):
3418         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3419         * inspector/InspectorFrontend.cpp:
3420         (WebCore::InspectorFrontend::addResource):
3421         (WebCore::InspectorFrontend::updateResource):
3422         (WebCore::InspectorFrontend::removeResource):
3423         (WebCore::InspectorFrontend::updateFocusedNode):
3424         * inspector/InspectorFrontend.h:
3425         * inspector/InspectorResource.cpp:
3426         (WebCore::InspectorResource::InspectorResource):
3427         (WebCore::InspectorResource::createCached):
3428         * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'.
3429         (WebCore::InspectorResource::create):
3430         (WebCore::InspectorResource::identifier):
3431         * inspector/TimelineRecordFactory.cpp:
3432         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
3433         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
3434         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
3435
3436 2009-11-26  Shinichiro Hamaji  <hamaji@chromium.org>
3437
3438         Reviewed by Dan Bernstein.
3439
3440         Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html
3441         https://bugs.webkit.org/show_bug.cgi?id=29966
3442
3443         When an empty inline element is clicked, the root inline box has
3444         no leaf children. Use the renderer of a normal child instead.
3445
3446         This change resolves Windows port's assertion failure in a layout test.
3447         Also, this fixes the behavior when a user drags the mouse from an
3448         empty inline element to above texts.
3449
3450         Test: editing/selection/last-empty-inline.html
3451
3452         * rendering/RenderBlock.cpp:
3453         (WebCore::RenderBlock::positionForPointWithInlineChildren):
3454
3455 2009-11-26  Kent Tamura  <tkent@chromium.org>
3456
3457         Reviewed by Eric Seidel.
3458
3459         [Chromium] Ignore line-height CSS property specified to push buttons on
3460         Windows and Linux.
3461         https://bugs.webkit.org/show_bug.cgi?id=31712
3462
3463         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
3464         following controls should ignore line-height CSS property.
3465          - <select>
3466          - <input type=button>
3467          - <input type=search>
3468         This change addresses the <input type=button> issue with Chromium/Windows
3469         and Chromium/Linux.
3470         
3471         * rendering/RenderThemeChromiumSkia.cpp: Implement adjustButtonStyle() to ignore line-height.
3472         * rendering/RenderThemeChromiumSkia.h: Declare adjustButtonStyle().
3473
3474 2009-11-26  Kinuko Yasuda  <kinuko@chromium.com>
3475
3476         Reviewed by Eric Seidel.
3477
3478         Remove the special charset meta tag in the clipboard so that
3479         copy-and-paste with interchange breaklines/spaces works correctly
3480         within WebKit.
3481
3482         No new tests.  Layout tests that involve copy-and-paste with
3483         interchange breaklines (like editing/pasteboard/paste-line-endings-00?)
3484         should pass on Mac/Chromium with this fix.
3485
3486         * platform/chromium/ClipboardChromium.cpp:
3487         * platform/chromium/PasteboardChromium.cpp:
3488         (WebCore::Pasteboard::documentFragment):
3489
3490 2009-11-26  İsmail Dönmez  <ismail@namtrac.org>
3491
3492         Reviewed by Eric Seidel.
3493
3494         Compile with QT_NO_WHEELEVENT defined.
3495
3496         * platform/qt/WheelEventQt.cpp:
3497         (WebCore::PlatformWheelEvent::applyDelta):
3498
3499 2009-11-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3500
3501         Reviewed by Oliver Hunt.
3502
3503         Move GOwnPtr* from wtf to wtf/gtk
3504         https://bugs.webkit.org/show_bug.cgi?id=31793
3505
3506         No new tests as there is no functional change.
3507
3508         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Change the
3509           path for GOwnPtr.h.
3510         * platform/text/TextEncoding.cpp: Ditto.
3511         * platform/text/gtk/TextCodecGtk.cpp: Ditto.
3512
3513 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
3514
3515         Not reviewed. Build fix: revert r51421.
3516
3517         * inspector/InspectorController.cpp:
3518         (WebCore::InspectorController::willSendRequest):
3519         (WebCore::InspectorController::didReceiveResponse):
3520         (WebCore::InspectorController::didReceiveContentLength):
3521         (WebCore::InspectorController::didFinishLoading):
3522         (WebCore::InspectorController::didFailLoading):
3523         * inspector/InspectorController.h:
3524         * inspector/InspectorResource.cpp:
3525         (WebCore::InspectorResource::addLength):
3526         * loader/ResourceLoadNotifier.cpp:
3527         (WebCore::ResourceLoadNotifier::didFailToLoad):
3528         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
3529         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
3530         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
3531         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
3532
3533 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
3534
3535         Reviewed by Pavel Feldman.
3536
3537         This is a WebCore part of the fix that allows to view plugin
3538         resources loaded by plugins.
3539
3540         https://bugs.webkit.org/show_bug.cgi?id=31832
3541
3542         * inspector/InspectorController.cpp:
3543         (WebCore::InspectorController::willSendRequest):
3544         (WebCore::InspectorController::didReceiveResponse):
3545         (WebCore::InspectorController::didReceiveContentLength):
3546         (WebCore::InspectorController::didFinishLoading):
3547         (WebCore::InspectorController::didFailLoading):
3548         * inspector/InspectorController.h: Remove unused DocumentLoader parameters from inspector methods.
3549         * inspector/InspectorResource.cpp:
3550         (WebCore::InspectorResource::addLength): Update loading end time when new data are received.
3551         * loader/ResourceLoadNotifier.cpp:
3552         (WebCore::ResourceLoadNotifier::didFailToLoad): Notify InspectorController about the failure.
3553         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
3554         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
3555         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
3556         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
3557
3558 2009-11-26  Daniel Bates  <dbates@webkit.org>
3559
3560         Reviewed by Pavel Feldman.
3561
3562         https://bugs.webkit.org/show_bug.cgi?id=21554
3563
3564         Implements support for hovering over <img> src to display the height and width of that image
3565         in a tooltip. Displays both the displayable and natural dimensions of the image.
3566
3567         Test: inspector/elements-img-tooltip.html
3568
3569         * inspector/front-end/ElementsTreeOutline.js:
3570         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added.
3571         (WebInspector.ElementsTreeElement.prototype._updateTitle.callback):
3572         (WebInspector.ElementsTreeElement.prototype._updateTitle):
3573         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
3574         * inspector/front-end/ObjectProxy.js:
3575         (WebInspector.ObjectProxy.getPropertiesAsync): Added.
3576         * inspector/front-end/inspector.js:
3577         (WebInspector.linkifyURLAsNode): Added tooltipText argument.
3578         (WebInspector.linkifyURL): Ditto.