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