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