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