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