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