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