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