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