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