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