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