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