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