[Qt] Split the build process in two different .pro files.
[WebKit-https.git] / WebCore / ChangeLog
1 2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2
3         Reviewed by Simon Hausmann.
4
5         [Qt] Split the build process in two different .pro files.
6         This allows qmake to be run once all source files are available.
7
8         * DerivedSources.pro: Added.
9         * WebCore.pri: Added. Contains common logic between source generation and compilation.
10         * WebCore.pro: Moved source generation to DerivedSources.pro.
11
12 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
13
14         Reviewed by Timothy Hatcher.
15
16         Web Inspector: Scrolling editor to the 20Kth line is not smooth.
17
18         https://bugs.webkit.org/show_bug.cgi?id=33587
19
20         * inspector/front-end/TextEditor.js:
21         (WebInspector.TextEditor):
22         (WebInspector.TextEditor.prototype._textChanged):
23         (WebInspector.TextEditor.prototype._highlightChanged):
24         (WebInspector.TextEditor.prototype._paintLinesContinuation):
25         * inspector/front-end/TextEditorHighlighter.js:
26         (WebInspector.TextEditorHighlighter):
27         (WebInspector.TextEditorHighlighter.prototype.highlight):
28         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
29         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
30         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
31         (WebInspector.TextEditorHighlighter.prototype._lex):
32         * inspector/front-end/TextEditorModel.js:
33         (WebInspector.TextEditorModel.prototype._setLine):
34         (WebInspector.TextEditorModel.prototype.setAttribute):
35         (WebInspector.TextEditorModel.prototype.getAttribute):
36         (WebInspector.TextEditorModel.prototype.removeAttribute):
37
38 2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
39
40         Reviewed by Simon Hausmann.
41
42         [Qt] Fix the build on Windows.
43
44         PluginViewWin.cpp requires the conversion operator from TransformationMatrix to XFORM.
45
46         * WebCore.pro: Build TransformationMatrixWin.cpp.
47         * platform/graphics/transforms/TransformationMatrix.h: Enable the conversion operator to XFORM.
48
49 2010-01-13  Miikka Heikkinen <miikka.heikkinen@digia.com>
50
51         Reviewed by Simon Hausmann.
52
53         [Qt/Symbian] Added missing vendor information to qtwebkit.sis
54
55         This information is necessary to Symbian sign the package.
56
57         http://bugreports.qt.nokia.com/browse/QTBUG-7290
58
59         * WebCore.pro:
60
61 2010-01-11  Jeremy Orlow  <jorlow@chromium.org>
62
63         Reviewed by Darin Fisher.
64
65         [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
66         https://bugs.webkit.org/show_bug.cgi?id=33492
67
68         * page/Page.cpp:
69         (WebCore::Page::sessionStorage):
70         * storage/StorageNamespace.cpp:
71         (WebCore::StorageNamespace::sessionStorageNamespace):
72         * storage/StorageNamespace.h:
73         (WebCore::StorageNamespace::~StorageNamespace):
74
75 2010-01-12  Dumitru Daniliuc  <dumi@chromium.org>
76
77         Reviewed by Adam Barth.
78
79         Adding a list of whitelisted sqlite functions that users are
80         allowed to use.
81
82         https://bugs.webkit.org/show_bug.cgi?id=33549
83
84         * platform/sql/SQLiteDatabase.cpp:
85         (WebCore::SQLiteDatabase::authorizerFunction):
86         * storage/DatabaseAuthorizer.cpp:
87         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
88         (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
89         (WebCore::DatabaseAuthorizer::allowFunction):
90         * storage/DatabaseAuthorizer.h:
91
92 2010-01-12  Fumitoshi Ukai  <ukai@chromium.org>
93
94         Reviewed by Simon Hausmann.
95
96         [Qt][WebSocket] SocketStreamHandleSoup.cpp is misnamed
97         https://bugs.webkit.org/show_bug.cgi?id=33077
98
99         * WebCore.pro:
100         * platform/network/qt/SocketStreamHandleQt.cpp: Copied from WebCore/platform/network/qt/SocketStreamHandleSoup.cpp.
101         * platform/network/qt/SocketStreamHandleSoup.cpp: Removed.
102
103 2010-01-12  Simon Fraser  <simon.fraser@apple.com>
104
105         Reviewed by Dan Bernstein.
106
107         position:fixed and transform on same element breaks fixed behavior
108         https://bugs.webkit.org/show_bug.cgi?id=31283
109
110         Fix interactions of transforms and fixed positioning, namely that fixed position
111         elements with a transformed ancestor are positioned relative to that ancestor,
112         and an element with both a transform and fixed position respects that positioning.
113         
114         Test: transforms/2d/transform-fixed-container.html
115
116         * rendering/RenderBox.cpp:
117         (WebCore::RenderBox::mapLocalToContainer):
118         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
119         Transforms should not unconditionally stop the propagation of the 'fixed' flag to ancestors,
120         but only if the transformed element is not itself fixed.
121         
122         * rendering/RenderLayer.cpp:
123         (WebCore::RenderLayer::convertToLayerCoords):
124         Fix this method to behave correctly for fixed position layers whose container is not
125         the root, but some other (probably transformed) ancestor. In that case, we can fall into
126         the "position: absolute" code path.
127
128 2010-01-12  Tony Chang  <tony@chromium.org>
129
130         Reviewed by Adam Barth.
131
132         Fix an assert being triggered by how the Chromium port sets the
133         replacing flag for error pages.  This was caused by r53143.
134
135         Covered by existing Chromium UI tests.
136
137         * loader/FrameLoader.cpp:
138         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
139
140 2010-01-12  Kent Hansen  <kent.hansen@nokia.com>
141
142         Reviewed by Geoffrey Garen.
143
144         [ES5] Implement Object.getOwnPropertyNames
145         https://bugs.webkit.org/show_bug.cgi?id=32242
146
147         Add new argument to reimplementations of getPropertyNames()
148         and getOwnPropertyNames(), and update the JS bindings generator.
149
150         Test: fast/js/Object-getOwnPropertyNames.html
151
152         * bindings/js/JSDOMWindowCustom.cpp:
153         (WebCore::JSDOMWindow::getPropertyNames):
154         (WebCore::JSDOMWindow::getOwnPropertyNames):
155         * bindings/js/JSDOMWindowShell.cpp:
156         (WebCore::JSDOMWindowShell::getPropertyNames):
157         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
158         * bindings/js/JSDOMWindowShell.h:
159         * bindings/js/JSHistoryCustom.cpp:
160         (WebCore::JSHistory::getOwnPropertyNames):
161         * bindings/js/JSLocationCustom.cpp:
162         (WebCore::JSLocation::getOwnPropertyNames):
163         * bindings/js/JSQuarantinedObjectWrapper.cpp:
164         (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
165         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
166         * bindings/js/JSQuarantinedObjectWrapper.h:
167         * bindings/js/JSStorageCustom.cpp:
168         (WebCore::JSStorage::getOwnPropertyNames):
169         * bindings/scripts/CodeGeneratorJS.pm:
170         * bridge/runtime_array.cpp:
171         (JSC::RuntimeArray::getOwnPropertyNames):
172         * bridge/runtime_array.h:
173         * bridge/runtime_object.cpp:
174         (JSC::RuntimeObjectImp::getPropertyNames):
175         (JSC::RuntimeObjectImp::getOwnPropertyNames):
176         * bridge/runtime_object.h:
177
178 2010-01-12  Brian Weinstein  <bweinstein@apple.com>
179
180         Reviewed by Dave Hyatt.
181
182         Safari shows an unneeded horizontal scrollbar on many websites.
183         Fixes <rdar://6321041> and <http://webkit.org/b/33555>.
184         
185         If a div has no children, and its height or width are 0, we can ignore
186         it in our calculation of lowest, rightmost, and leftmost positions. This
187         calculation was causing horizontal scrollbars to be drawn when they weren't needed.
188
189         Test: fast/block/positioning/absolute-positioning-no-scrollbar.html
190
191         * rendering/RenderBlock.cpp:
192         (WebCore::RenderBlock::lowestPosition): Added check for no children and width or height 0.
193         (WebCore::RenderBlock::rightmostPosition): Ditto.
194         (WebCore::RenderBlock::leftmostPosition): Ditto.
195
196 2010-01-12  Alexander Pavlov  <apavlov@chromium.org>
197
198         Reviewed by Timothy Hatcher.
199
200         Optimize WebInspector.TimelineGrid.prototype.updateDividers()
201
202         DOM element property access and modification are slow and should be done as lazily as possible.
203         https://bugs.webkit.org/show_bug.cgi?id=33536
204
205         * inspector/front-end/TimelineGrid.js:
206         (WebInspector.TimelineGrid.prototype.updateDividers):
207         (WebInspector.TimelineGrid.prototype._setDividerAndBarLeft):
208
209 2010-01-12  Beth Dakin  <bdakin@apple.com>
210
211         Reviewed by Sam Weinig.
212
213         Fix for https://bugs.webkit.org/show_bug.cgi?id=33550 REGRESSION: -
214         webkit-svg-shadow with opacity still over-clipped
215
216         We need to call inflateForShadow() on the repaintRect before we 
217         clip for opacity or we will over-clip.
218         * rendering/SVGRenderSupport.cpp:
219         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
220
221 2010-01-12  Steve Falkenburg  <sfalken@apple.com>
222
223         Reviewed by Sam Weinig.
224
225         Update all-in-one derived sources for Geolocation.
226
227         * DerivedSources.cpp: Add JSCoordinates.cpp, JSGeolocation.cpp, JSGeoposition.cpp, JSPositionError.cpp
228
229 2010-01-12  Nate Chapin  <japhet@chromium.org>
230
231         Reviewed by Dimitri Glazkov.
232
233         Remove static const ints from V8CustomBinding.h
234
235         https://bugs.webkit.org/show_bug.cgi?id=33547
236
237         * bindings/scripts/CodeGeneratorV8.pm: Generate and use custom 
238             internal field indices from lists of custom internal fields.
239         * bindings/v8/NPV8Object.cpp:
240         * bindings/v8/NPV8Object.h:
241         * bindings/v8/V8Binding.cpp:
242         * bindings/v8/V8DOMWindowShell.cpp:
243         * bindings/v8/V8DOMWindowShell.h:
244         * bindings/v8/V8DOMWrapper.cpp: Remove a bunch of now unnecessary
245             manually calls to setInternalFieldCount().
246         * bindings/v8/V8DOMWrapper.h:
247         * bindings/v8/V8Index.h:
248         * bindings/v8/V8IsolatedContext.cpp:
249         * bindings/v8/V8IsolatedContext.h:
250         * bindings/v8/V8NPObject.cpp:
251         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
252         * bindings/v8/custom/V8CustomBinding.h: Remove the static const ints.
253         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
254         * bindings/v8/custom/V8DOMWindowCustom.cpp:
255         * bindings/v8/custom/V8DocumentCustom.cpp:
256         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
257         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
258         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
259         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
260         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
261         * bindings/v8/custom/V8MessagePortCustom.cpp:
262         * bindings/v8/custom/V8NodeCustom.cpp:
263         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
264         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
265         * bindings/v8/custom/V8WebSocketCustom.cpp:
266         * bindings/v8/custom/V8WorkerContextCustom.cpp:
267         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
268         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
269
270 2010-01-12  Darin Fisher  <darin@chromium.org>
271
272         Fixing chromium build bustage.
273
274         * bindings/v8/custom/V8PopStateEventCustom.cpp: Add V8Proxy.h include.
275
276 2010-01-12  Darin Fisher  <darin@chromium.org>
277
278         Reviewed by Dimitri Glazkov.
279
280         Add V8 bindings for PopStateEvent.
281         https://bugs.webkit.org/show_bug.cgi?id=33546
282         
283         This is covered by existing tests for PopStateEvent.
284
285         * WebCore.gypi:
286         * bindings/v8/DOMObjectsInclude.h:
287         * bindings/v8/DerivedSourcesAllInOne.cpp:
288         * bindings/v8/V8DOMWrapper.cpp:
289         (WebCore::V8DOMWrapper::convertEventToV8Object):
290         * bindings/v8/V8Index.cpp:
291         * bindings/v8/V8Index.h:
292         * bindings/v8/custom/V8PopStateEventCustom.cpp: Added.
293         (WebCore::V8PopStateEvent::initPopStateEventCallback):
294         (WebCore::V8PopStateEvent::stateAccessorGetter):
295
296 2010-01-12  Kelly Norton  <knorton@google.com>
297
298         Reviewed by Timothy Hatcher.
299
300         Adds source length to ParseHTMLRecords in the inspector timeline.
301         https://bugs.webkit.org/show_bug.cgi?id=33548
302
303         Test: inspector/timeline-parse-html.html
304
305         * html/HTMLTokenizer.cpp:
306         (WebCore::HTMLTokenizer::write):
307         * inspector/InspectorTimelineAgent.cpp:
308         (WebCore::InspectorTimelineAgent::willWriteHTML):
309         * inspector/InspectorTimelineAgent.h:
310         * inspector/TimelineRecordFactory.cpp:
311         (WebCore::TimelineRecordFactory::createParseHTMLRecord):
312         * inspector/TimelineRecordFactory.h:
313
314 2010-01-12  Jungshik Shin  <jshin@chromium.org>
315
316         Reviewed by Darin Adler
317
318         https://bugs.webkit.org/show_bug.cgi?id=31597
319
320         Make ICU's text breakiterator and string search use Chrome's UI
321         language instead of 'en-US' or the OS UI language.
322
323         As long as the webkit layout tests are run in en-US locale, there'd be 
324         no visible change.
325
326         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
327         (UILanguage):
328         (WebCore::currentSearchLocaleID):
329         (WebCore::currentTextBreakLocaleID):
330
331 2010-01-12  Beth Dakin  <bdakin@apple.com>
332
333         Rubber-stamped by Dave Hyatt.
334
335         This patch changes the name of -webkit-shadow to -webkit-svg-shadow 
336         to avoid giving a custom property an overly-general name.
337         <rdar://problem/7534590>
338
339         * css/CSSComputedStyleDeclaration.cpp:
340         (WebCore::):
341         * css/CSSParser.cpp:
342         (WebCore::CSSParser::parseShadow):
343         * css/SVGCSSComputedStyleDeclaration.cpp:
344         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
345         * css/SVGCSSParser.cpp:
346         (WebCore::CSSParser::parseSVGValue):
347         * css/SVGCSSPropertyNames.in:
348         * css/SVGCSSStyleSelector.cpp:
349         (WebCore::CSSStyleSelector::applySVGProperty):
350
351 2010-01-12  Peter Kasting  <pkasting@google.com>
352
353         Not reviewed, build fix.
354
355         * WebCore.vcproj/WebCore.vcproj:
356
357 2010-01-12  Nate Chapin  <japhet@chromium.org>
358
359         Reviewed by Dimitri Glazkov.
360
361         Add a null check in case of an event handler with invalid syntax.
362
363         Should make fast/js/invalid-syntax--for-function.html not crash in
364         Chromium's test shell.
365
366         * bindings/v8/V8LazyEventListener.cpp:
367         (WebCore::V8LazyEventListener::callListenerFunction): Check the listener object before using it.
368
369 2010-01-12  Peter Kasting  <pkasting@google.com>
370
371         Reviewed by Dimitri Glazkov.
372
373         Remove XBM support from the open-source image decoders.
374         https://bugs.webkit.org/show_bug.cgi?id=27823
375
376         * GNUmakefile.am:
377         * WebCore.gypi:
378         * WebCore.vcproj/WebCore.vcproj:
379         * WebCoreSources.bkl:
380         * platform/image-decoders/ImageDecoder.cpp:
381         (WebCore::ImageDecoder::create):
382         * platform/image-decoders/xbm: Removed.
383         * platform/image-decoders/xbm/XBMImageDecoder.cpp: Removed.
384         * platform/image-decoders/xbm/XBMImageDecoder.h: Removed.
385
386 2010-01-12  Alexey Proskuryakov  <ap@apple.com>
387
388         Reviewed by Darin Adler.
389
390         https://bugs.webkit.org/show_bug.cgi?id=33540
391         Make it possible to build in debug mode with assertions disabled
392
393         * dom/Element.cpp: (WebCore::Element::getURLAttribute):
394         * dom/SelectElement.cpp: (WebCore::SelectElementData::checkListItems):
395         * editing/TextIterator.cpp:
396         * loader/Cache.cpp: (WebCore::Cache::removeFromLRUList):
397         * rendering/RenderArena.cpp: (WebCore::RenderArena::free):
398
399 2010-01-12  Eric Carlson  <eric.carlson@apple.com>
400
401         Reviewed by Darin Adler and Simon Fraser.
402
403         rdar://problem/5684062
404         https://bugs.webkit.org/show_bug.cgi?id=23094
405         Flash of white when switching from poster image to video playback
406         
407         https://bugs.webkit.org/show_bug.cgi?id=23140
408         <video> poster should scale like a video frame
409
410         * html/HTMLMediaElement.cpp:
411         (WebCore::HTMLMediaElement::setReadyState): Only call updatePosterImage from one place
412
413         * html/HTMLVideoElement.cpp:
414         (WebCore::HTMLVideoElement::HTMLVideoElement): m_shouldShowPosterImage -> m_shouldDisplayPoster.
415         (WebCore::HTMLVideoElement::createRenderer): Always create a RenderVideo.
416         (WebCore::HTMLVideoElement::attach): Call updatePosterImage before checking to see if we
417             should display the poster image. renderer() is never a RenderImage, don't need to check.
418             m_shouldShowPosterImage -> m_shouldDisplayPoster.
419         (WebCore::HTMLVideoElement::detach): m_shouldShowPosterImage -> m_shouldDisplayPoster.
420         (WebCore::HTMLVideoElement::parseMappedAttribute): Cache poster attribute when it is set since
421             it is checked frequently. m_shouldShowPosterImage -> m_shouldDisplayPoster.
422         (WebCore::HTMLVideoElement::updatePosterImage): Don't bother looking at the network state, 
423             display the poster as long as the attribute is valid and the media engine says it hasn't
424             rendered a video frame. m_shouldShowPosterImage -> m_shouldDisplayPoster.
425         (WebCore::HTMLVideoElement::hasAvailableVideoFrame): New, ask the media engine if a video frame
426             is available to render.
427         * html/HTMLVideoElement.h:
428         (WebCore::HTMLVideoElement::poster):
429         (WebCore::HTMLVideoElement::shouldDisplayPoster):
430
431         * loader/ImageLoader.cpp:
432         (WebCore::ImageLoader::updateRenderer): Call setCachedImage for render video too.
433
434         * manual-tests/video-player.html: Remove bit-rot from manual test so it works again.
435
436         * platform/graphics/MediaPlayer.cpp:
437         (WebCore::MediaPlayer::hasAvailableVideoFrame): New, ask the media engine if a video frame
438             is available to render.
439
440         * platform/graphics/MediaPlayer.h: Prototype for hasAvailableVideoFrame.
441         * platform/graphics/MediaPlayerPrivate.h: Ditto.
442
443         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Declare hasAvailableVideoFrame, declare
444             all bool variables to aid packing.
445         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 
446         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_videoFrameHasDrawn. Cleanup
447             floating point initializers to match coding guidelines.
448         (WebCore::MediaPlayerPrivate::load): Initialize m_videoFrameHasDrawn.
449         (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame): New.
450         (WebCore::MediaPlayerPrivate::repaint): Set m_videoFrameHasDrawn.
451
452         (WebCore::RenderImage::paintReplaced): Split part out into paint method.
453         (WebCore::RenderImage::paint): New.
454         * rendering/RenderImage.h: Declare paint. Make isWidthSpecified and isHeightSpecified protected
455             instead of private so RenderVideo can use them.
456
457         * rendering/RenderMedia.cpp:
458         (WebCore::RenderMedia::RenderMedia): Inherit from RenderImage, not RenderReplaced
459         (WebCore::RenderMedia::destroy): Ditto.
460         (WebCore::RenderMedia::styleDidChange): Ditto.
461         (WebCore::RenderMedia::layout): Ditto.
462         (WebCore::RenderMedia::lowestPosition): Ditto.
463         (WebCore::RenderMedia::rightmostPosition): Ditto.
464         (WebCore::RenderMedia::leftmostPosition): Ditto.
465         * rendering/RenderMedia.h: Declare isImage and isRenderImage.
466
467         * rendering/RenderVideo.cpp:
468         (WebCore::RenderVideo::intrinsicSizeChanged): New, call RenderVideo::intrinsicSizeChanged
469             when displaying a poster so it is sized correctly.
470         (WebCore::RenderVideo::imageChanged): Override so we can cache the image's intrisic size and
471         use it when we also know the movie's intrinsic size but still need to draw the poster.
472         (WebCore::RenderVideo::videoBox): Use the poster's intrinsic size when drawing the poster,
473         use the movie's intrinsic size when drawing frames.
474         (WebCore::RenderVideo::paintReplaced): Call RenderImage::paint when drawing the poster.
475         (WebCore::RenderVideo::videoElement): New.
476         (WebCore::RenderVideo::updatePlayer):
477         * rendering/RenderVideo.h:
478         (WebCore::RenderVideo::minimumReplacedHeight): Added.
479
480 2010-01-12  Tony Chang  <tony@chromium.org>
481
482         Reviewed by Maciej Stachowiak.
483
484         Fix a crash in Chromium when receiving multipart/x-mixed-replace data.
485         If we stop a multipart load after ResourceLoader::didReceiveResponse
486         but before ResourceLoader::didReceiveData, we have a NULL document
487         loader because it has been moved back to the provisional state.  New
488         loads that happen after this will dereference the NULL document
489         loader.
490
491         Work around this by moving the provisional document loader back as
492         the document loader when the request is stopped.
493
494         https://bugs.webkit.org/show_bug.cgi?id=31446
495
496         Test: http/tests/multipart/multipart-wait-before-boundary.html
497
498         * loader/FrameLoader.cpp:
499         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
500
501 2010-01-12  Enrica Casucci  <enrica@apple.com>
502
503         Reviewed by Darin Adler.
504
505         WebKit returns incorrect match count when first string match is on an element with user-select-none style
506         https://bugs.webkit.org/show_bug.cgi?id=33508
507         <rdar://problem/7482143>
508
509         If we use VisiblePosition to calculate the start of the new search range,
510         we skip all the nodes with user-select-none style, producing an incorrect
511         match count.
512         
513         No new tests: there are no API's available to Javascript to verify the
514         number of matches found.
515
516         * page/Frame.cpp:
517         (WebCore::Frame::markAllMatchesForText): Changed to use the end of the previous
518         result range as the start of the new search range.
519
520 2010-01-12  Mikhail Naganov  <mnaganov@chromium.org>
521
522         Reviewed by Timothy Hatcher.
523
524         Changed ".sidebar" style to allow v-scroll to appear in
525         "Profiles" panel sidebar.
526
527         https://bugs.webkit.org/show_bug.cgi?id=33470
528
529         No new tests -- no code changed.
530
531         * inspector/front-end/inspector.css:
532
533 2010-01-12  Adam Roben  <aroben@apple.com>
534
535         Windows accelerated compositing build fix after r53110
536
537         * plugins/PluginWidget.h:
538         (WebCore::PluginWidget::platformLayer): Define platformLayer() for
539         non-Mac platforms that have accelerated compositing turned on. It
540         would probably be better to make PluginWidget not be used at all on
541         non-Mac platforms, but this fix is much simpler.
542
543 2010-01-12  Yury Semikhatsky  <yurys@chromium.org>
544
545         Reviewed by Pavel Feldman.
546
547         Support injection of inspector scripts into the inspected context.
548
549         https://bugs.webkit.org/show_bug.cgi?id=33523
550
551         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
552         (WebCore::WeakReferenceCallback):
553         (WebCore::createInjectedScriptHostV8Wrapper):
554         (WebCore::createInjectedScript):
555         (WebCore::InjectedScriptHost::injectedScriptFor):
556
557 2010-01-12  Ben Murdoch  <benm@google.com>
558
559         Reviewed by Darin Adler.
560
561         Form Reset : Press Back Button and Reset , TextareaElemnt is not set to Default Value
562         https://bugs.webkit.org/show_bug.cgi?id=31539
563
564         Added manual test: manual-tests/textarea-reset-default-value.html.
565
566         * html/HTMLTextAreaElement.cpp:
567         (WebCore::HTMLTextAreaElement::restoreFormControlState): set the value, rather than default value of a text area when restoring its state. This allows resetting a form with a textarea to work correctly after its state has been restored.
568         * manual-tests/resources/textarea-form-back-on-submit.html: Added.
569         * manual-tests/textarea-reset-default-value.html: Added.
570
571 2010-01-12  Simon Hausmann  <simon.hausmann@nokia.com>
572
573         Reviewed by Holger Freyther.
574
575         [Qt] WebCore::Path allocates QPainterPath unnecessarily on the heap
576         https://bugs.webkit.org/show_bug.cgi?id=33466
577
578         WebCore::Path is a pointer to a PlatformPath. In case of Qt that's a
579         QPainterPath, which itself is a pointer to the elements (QVector).
580         That creates unecessary allocations in PathQt.cpp.
581
582         Replaced the "PlatformPath* m_path;" with a PlatformPathPtr, which
583         is a plain QPainterPath.
584
585         * platform/graphics/Path.h:
586         (WebCore::Path::platformPath):
587         * platform/graphics/qt/GraphicsContextQt.cpp:
588         (WebCore::drawFilledShadowPath):
589         (WebCore::GraphicsContext::fillPath):
590         (WebCore::GraphicsContext::fillRoundedRect):
591         (WebCore::GraphicsContext::addPath):
592         (WebCore::GraphicsContext::clip):
593         (WebCore::GraphicsContext::clipOut):
594         * platform/graphics/qt/PathQt.cpp:
595         (WebCore::Path::~Path):
596         (WebCore::Path::operator=):
597         (WebCore::Path::contains):
598         (WebCore::Path::strokeContains):
599         (WebCore::Path::translate):
600         (WebCore::Path::boundingRect):
601         (WebCore::Path::strokeBoundingRect):
602         (WebCore::Path::moveTo):
603         (WebCore::Path::addLineTo):
604         (WebCore::Path::addQuadCurveTo):
605         (WebCore::Path::addBezierCurveTo):
606         (WebCore::Path::addArcTo):
607         (WebCore::Path::closeSubpath):
608         (WebCore::Path::addArc):
609         (WebCore::Path::addRect):
610         (WebCore::Path::addEllipse):
611         (WebCore::Path::clear):
612         (WebCore::Path::isEmpty):
613         (WebCore::Path::debugString):
614         (WebCore::Path::apply):
615         (WebCore::Path::transform):
616
617 2010-01-12  Jakub Wieczorek  <faw217@gmail.com>
618
619         Reviewed by Adam Barth.
620
621         [Qt] XSL stylesheets can load documents from a different origin
622
623         https://bugs.webkit.org/show_bug.cgi?id=33423
624
625         * xml/XSLTProcessorQt.cpp:
626         (WebCore::XSLTUriResolver::XSLTUriResolver):
627         (WebCore::XSLTUriResolver::resolve):
628         (WebCore::XSLTProcessor::transformToString):
629
630 2010-01-12  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
631
632         Reviewed by Gustavo Noronha Silva.
633
634         https://bugs.webkit.org/show_bug.cgi?id=30883
635         [Gtk] Implement AtkText for HTML elements which contain text
636
637         Tweak/correction: Eliminate a needless variable.
638
639         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
640         (webkit_accessible_text_get_caret_offset):
641
642 2010-01-12  Yury Semikhatsky  <yurys@chromium.org>
643
644         Reviewed by Geoffrey Garen.
645
646         Allow creating injected script for the inspected script state. The InjectedScript is
647         cached on the inspected ExecState global object and will be garbage collected when the
648         object is collected. Each InjectedScript object is assigned unique id.
649
650         https://bugs.webkit.org/show_bug.cgi?id=33469
651
652         * bindings/js/JSDOMGlobalObject.cpp:
653         (WebCore::JSDOMGlobalObject::markChildren):
654         (WebCore::JSDOMGlobalObject::setInjectedScript):
655         (WebCore::JSDOMGlobalObject::injectedScript):
656         * bindings/js/JSDOMGlobalObject.h: InjectedScript is cached on the global object as a
657         field that is not visible from the inspected code. This InjectedScript should be alive as long as
658         the global object is alive and should be accessible from Web Inspector's native code.
659         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
660         * bindings/js/JSInjectedScriptHostCustom.cpp:
661         (WebCore::createInjectedScript): Creates injected script using the lexical global object of the
662         inspected ScriptState. Reference to the object is stored on the global DOM object.
663         (WebCore::InjectedScriptHost::injectedScriptFor):
664         * inspector/InjectedScriptHost.cpp:
665         (WebCore::InjectedScriptHost::InjectedScriptHost):
666         (WebCore::InjectedScriptHost::injectedScriptForId):
667         (WebCore::InjectedScriptHost::discardInjectedScripts): This method is expected to be called when the
668         the InjectedScript are no longer needed. In particular, this should be called before frame navigation. 
669         * inspector/InjectedScriptHost.h:
670         (WebCore::InjectedScriptHost::setInjectedScriptSource): This allows to provide injected script source.
671         The source may be loaded in a platform specific way.
672
673 2010-01-11  Darin Adler  <darin@apple.com>
674
675         Reviewed by Dan Bernstein.
676
677         Fix handling of unusual kana sequences in search
678         https://bugs.webkit.org/show_bug.cgi?id=33506
679
680         * editing/TextIterator.cpp:
681         (WebCore::composedVoicedSoundMark): Removed unnnecessary case for a
682         non-kana-letter character. This function only works for kana letters.
683         (WebCore::SearchBuffer::isBadMatch): Fixed voiced sound mark code to
684         properly handle cases where one character has a shorter list of
685         combining voiced sound marks than the other.
686
687 2010-01-11  Victor Wang  <victorw@chromium.org>
688
689         Reviewed by Dimitri Glazkov.
690
691         Clear m_acceptedIndexOnAbandon flag when user accepts the selected index.
692
693         https://bugs.webkit.org/show_bug.cgi?id=33499
694
695         TEST: manual-tests/chromium/onchange-reload-popup.html
696         It should be covered by the above test. The current
697         test shell does not support sending keyboard events to popup
698         list so use manual test for it.
699
700         * platform/chromium/PopupMenuChromium.cpp:
701         (WebCore::PopupListBox::acceptIndex):
702
703 2010-01-11  Gustavo Noronha Silva  <gns@gnome.org>
704
705         Reviewed by Eric Seidel.
706
707         [GTK] Debug bots crashing in plugins/iframe-shims.html
708         https://bugs.webkit.org/show_bug.cgi?id=33472
709
710         Call computeOffsetInContainerNode() instead of
711         offsetInContainerNode(), since we are not sure this is always
712         parent-anchored.
713
714         plugins/iframe-shims.html no longer ASSERTS
715
716         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
717         (objectAndOffsetUnignored):
718
719 2010-01-11  Simon Fraser  <simon.fraser@apple.com>
720
721         Reviewed by Kevin Decker.
722
723         https://bugs.webkit.org/show_bug.cgi?id=33455
724         Allows plugins to participate in accelerated compositing
725
726         For plugins using the CoreAnimation rendering mode, host their CALayers in the
727         accelerated compositing layer tree.
728         
729         This requires making normal flow RenderLayers for RenderEmbeddedObjects when they represent
730         a plugin using this mode.
731         
732         * WebCore.base.exp: Export Node::setNeedsStyleRecalc() for use by WebKit.
733         * WebCore.xcodeproj/project.pbxproj: Re-order files for sorting.
734
735         * rendering/RenderEmbeddedObject.h:
736         * rendering/RenderEmbeddedObject.cpp:
737         (WebCore::RenderEmbeddedObject::requiresLayer): Make a layer if the plugin is using
738         accelerated compositing mode.
739         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Asks whether the plugin has
740         a layer, via PluginWidget.
741
742         * rendering/RenderLayer.cpp:
743         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
744         (WebCore::RenderLayer::isSelfPaintingLayer):
745         RenderEmbeddedObjects should be normal flow layers, and self-painting layers.
746         
747         * rendering/RenderLayerBacking.cpp:
748         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
749         Parent the plugin's layer in the GraphicsLayer when updating the layer configuration.
750         
751         * rendering/RenderLayerCompositor.h:
752         * rendering/RenderLayerCompositor.cpp:
753         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
754         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
755         RenderEmbeddedObjects that allow accelerated compositing trip accelerated compositing mode
756         for the page.
757
758 2010-01-11  Andreas Kling  <andreas.kling@nokia.com>
759
760         Reviewed by Darin Adler.
761
762         Fixed an uninitialized PluginView member (m_mode) which wasn't
763         set when constructed with a null PluginPackage*
764
765         https://bugs.webkit.org/show_bug.cgi?id=33468
766
767         * plugins/PluginView.cpp:
768         (WebCore::PluginView::PluginView):
769
770 2010-01-11  Dirk Schulze  <krit@webkit.org>
771
772         Reviewed by Nikolas Zimmermann.
773
774         SVG radialGradient example radial-gradient-with-outstanding-focalPoint.svg fails
775         https://bugs.webkit.org/show_bug.cgi?id=32201
776
777         This patch moves every focalPoint that lies outside the circle defined by the radial
778         gradients central point and its radius to stay inside this circle, as demanded by the
779         SVG 1.1 specification.
780         We use r * 0.99 as maximum radius for the aforementioned circle, when determining where
781         the focalPoint is lying, to achieve compatibility with Firefox.
782
783         * svg/SVGRadialGradientElement.cpp:
784         (WebCore::SVGRadialGradientElement::buildGradient):
785
786 2010-01-11  Alexey Proskuryakov  <ap@apple.com>
787
788         Reviewed by Oliver Hunt.
789
790         https://bugs.webkit.org/show_bug.cgi?id=33493
791         Log redirect details to Network channel
792
793         * platform/network/mac/ResourceHandleMac.mm:
794         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
795         Log response code and Location header field value. Also, removed a redundant null check.
796
797 2010-01-11  Beth Dakin  <bdakin@apple.com>
798
799         Reviewed by Oliver Hunt.
800
801         Fix for https://bugs.webkit.org/show_bug.cgi?id=33491 REGRESSION: 
802         Many SVG -webkit-shadow tests are currently failing (in the pixel 
803         tests)
804         -and-
805         <rdar://problem/7501200>
806
807         The real fix here is to call inflateForShadow() on the repaintRect 
808         in prepareToRenderSVGContent(). But in order to do that, I had to 
809         move inflateForShadow() to a different class since functions in 
810         SVGRenderBase cannot call each other. inflateForShadow() now exists 
811         in SVGRenderStyle which I think makes some sense because a similar 
812         function that returns a box shadow's extent exists on RenderStyle.
813
814         Now call inflateForShadow() through the SVGRenderStyle.
815         * rendering/RenderForeignObject.cpp:
816         (WebCore::RenderForeignObject::computeRectForRepaint):
817         * rendering/RenderSVGImage.cpp:
818         (WebCore::RenderSVGImage::computeRectForRepaint):
819         * rendering/RenderSVGModelObject.cpp:
820         (WebCore::RenderSVGModelObject::computeRectForRepaint):
821         * rendering/RenderSVGRoot.cpp:
822         (WebCore::RenderSVGRoot::computeRectForRepaint):
823         * rendering/RenderSVGText.cpp:
824         (WebCore::RenderSVGText::computeRectForRepaint):
825
826         No longer implement inflateForShadow() here.
827         * rendering/SVGRenderSupport.cpp:
828         (WebCore::SVGRenderBase::prepareToRenderSVGContent): Call new 
829         inflateForShadow() through the SVGRenderStyle
830         * rendering/SVGRenderSupport.h:
831
832         Implementation of inflateForShadow() now lives here.
833         * rendering/style/SVGRenderStyle.cpp:
834         (WebCore::getSVGShadowExtent):
835         (WebCore::SVGRenderStyle::inflateForShadow):
836         * rendering/style/SVGRenderStyle.h:
837
838 2010-01-11  Alexander Pavlov  <apavlov@chromium.org>
839
840         Reviewed by Pavel Feldman.
841
842         Rewrite relative URLs in the ElementsTreeOutline to make them navigable
843
844         Targets for "src" and "href" attribute values in the Elements outline tree
845         are rewritten to full URLs whenever possible.
846         https://bugs.webkit.org/show_bug.cgi?id=33024
847
848         Test: inspector/elements-panel-rewrite-href.html
849
850         * inspector/front-end/ElementsTreeOutline.js:
851         (WebInspector.ElementsTreeElement.prototype._rewriteAttrHref):
852         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
853         * inspector/front-end/inspector.js:
854
855 2010-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
856
857         Not reviewed. Attempt to fix windows builds, by removing the no-longer existant JSSVGPointListCustom.cpp from JSBindingsAllInOne.cpp.
858
859         * bindings/js/JSBindingsAllInOne.cpp:
860
861 2010-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
862
863         Reviewed by Adam Roben & Dirk Schulze.
864
865         svg <text> fails to update when setting x/y
866         https://bugs.webkit.org/show_bug.cgi?id=22384
867
868         Introduce JSSVGPODListCustom, refactoring the existing custom code for SVG POD type lists.
869         (Currently SVGTransformList/SVGPointList was handled correctly, and SVGLengthList/SVGNumberList not)
870
871         Remove the need for custom JSSVG*List.cpp implementations, but instead tweak CodeGeneratorJS.pm,
872         to call into the new JSSVGPODListCustom methods. Fixes dynamic updates of the SVGTextElement
873         'rotate' & 'x'/'y' SVG DOM properties.
874
875         Tests: svg/custom/text-xy-updates-SVGList.xhtml
876                svg/dynamic-updates/SVGTextElement-svgdom-rotate-prop.html
877   
878         * Android.jscbindings.mk: Remove old files from build, add the new header.
879         * GNUmakefile.am: Ditto.
880         * WebCore.gypi: Ditto.
881         * WebCore.pro: Ditto.
882         * WebCore.vcproj/WebCore.vcproj: Ditto.
883         * WebCore.xcodeproj/project.pbxproj: Ditto.
884         * bindings/js/JSSVGPODListCustom.h: Copied from bindings/js/JSSVGTransformListCustom.cpp. Refactored code to be sharable between all JSSVG*List classes.
885         (WebCore::JSSVGPODListCustom::finishGetter):
886         (WebCore::JSSVGPODListCustom::finishSetter):
887         (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult):
888         (WebCore::JSSVGPODListCustom::clear):
889         (WebCore::JSSVGPODListCustom::initialize):
890         (WebCore::JSSVGPODListCustom::getItem):
891         (WebCore::JSSVGPODListCustom::insertItemBefore):
892         (WebCore::JSSVGPODListCustom::replaceItem):
893         (WebCore::JSSVGPODListCustom::removeItem):
894         (WebCore::JSSVGPODListCustom::appendItem):
895         * bindings/js/JSSVGPointListCustom.cpp: Removed.
896         * bindings/js/JSSVGTransformListCustom.cpp: Removed.
897         * bindings/scripts/CodeGeneratorJS.pm: Forward any SVGList call on POD list types to the new JSSVGPODListCustom.
898         * svg/SVGNumberList.cpp: Make SVGNumberList a SVGPODList, instead of a SVGList, to make dynamic updates work.
899         (WebCore::SVGNumberList::SVGNumberList):
900         * svg/SVGNumberList.h:
901         * svg/SVGPointList.idl: Remove JSCCustom markers everywhere.
902         * svg/SVGTransformList.idl: Ditto.
903
904 2010-01-08  Enrica Casucci  <enrica@apple.com>
905
906         Reviewed by Darin Adler.
907
908         Cannot focus on an empty editable span in a non editable div.
909         https://bugs.webkit.org/show_bug.cgi?id=33411
910         <rdar://problem/5982901>
911
912         We now allow to set the focus inside an empty inline element if it is the only
913         editable element inside non-editable content.
914
915         * dom/Position.cpp:
916         (WebCore::Position::isCandidate): Extended to allow positions in inline elements when
917         at the border between editable and non editable content.
918         (WebCore::Position::getInlineBoxAndOffset): Modified to be able to calculate the caret
919         position inside an empty inline.
920         * editing/DeleteSelectionCommand.cpp:
921         (WebCore::DeleteSelectionCommand::mergeParagraphs): When merging, we don't always find a break
922         element, since now an editable inline is a VisiblePosition if it is at editability boundary.
923         * editing/VisibleSelection.h: Updated comment on the use of Position member variables
924         instead of VisiblePosition.
925         * page/Frame.cpp:
926         (WebCore::Frame::selectionLayoutChanged): Changed to avoid multiple calls to upstream and
927         downstream on the same position.
928
929 2010-01-06  Dimitri Glazkov  <dglazkov@chromium.org>
930
931         Reviewed by Nikolas Zimmermann.
932
933         [V8] IsRefPtrType() in CodeGeneratorV8.pm increases maintenance burden.
934         https://bugs.webkit.org/show_bug.cgi?id=32994
935
936         Refactoring, covered by existings tests.
937
938         * bindings/scripts/CodeGeneratorV8.pm: Reversed testing for ref-counted objects,
939             since there's a much smaller (and more stable) set of non-ref-counted ones.
940
941 2010-01-06  Kelly Norton  <knorton@google.com>
942
943         Reviewed by Pavel Feldman.
944
945         Fixes the fact that timeline panel results are skewed by the use of DOM mutation events.
946         https://bugs.webkit.org/show_bug.cgi?id=32846
947
948         Instead of using DOM mutation events in InspectorDOMAgent, InspectorController is now called
949         directly when the DOM is mutated.
950
951         * dom/ContainerNode.cpp: Calls InspectorController directly when child nodes are added/removed.
952         (WebCore::dispatchChildInsertionEvents):
953         (WebCore::dispatchChildRemovalEvents):
954         * dom/Element.cpp: Calls InspectorController directly when attributes are added/removed.
955         (WebCore::Element::dispatchAttrRemovalEvent):
956         (WebCore::Element::dispatchAttrAdditionEvent):
957         * inspector/InspectorController.cpp:
958         (WebCore::InspectorController::didInsertDOMNode):
959         (WebCore::InspectorController::didRemoveDOMNode):
960         (WebCore::InspectorController::didModifyDOMAttr):
961         * inspector/InspectorController.h:
962         * inspector/InspectorDOMAgent.cpp:
963         (WebCore::InspectorDOMAgent::startListening):
964         (WebCore::InspectorDOMAgent::stopListening):
965         (WebCore::InspectorDOMAgent::handleEvent):
966         (WebCore::InspectorDOMAgent::didInsertDOMNode):
967         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
968         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
969         * inspector/InspectorDOMAgent.h:
970
971 2010-01-10  Darin Adler  <darin@apple.com>
972
973         Reviewed by Alexey Proskuryakov.
974
975         REGRESSION: Japanese text search ignores small vs. large and voicing mark differences
976         https://bugs.webkit.org/show_bug.cgi?id=30437
977         rdar://problem/7214058
978
979         Test: fast/text/find-kana.html
980
981         * editing/TextIterator.cpp:
982         (WebCore::isKanaLetter): Added.
983         (WebCore::isSmallKanaLetter): Added.
984         (WebCore::composedVoicedSoundMark): Added.
985         (WebCore::isCombiningVoicedSoundMark): Added.
986         (WebCore::containsKanaLetters): Added.
987         (WebCore::normalizeCharacters): Added.
988         (WebCore::SearchBuffer::SearchBuffer): Initialize the data members
989         m_targetRequiresKanaWorkaround and m_normalizedTarget.
990         (WebCore::SearchBuffer::isBadMatch): Added. Checks for matches that
991         ICU's default collation considers correct, but we consider incorrect.
992         (WebCore::SearchBuffer::search): Added code to call isBadMatch and
993         move to the next match with usearch_next if the result is true.
994
995 2010-01-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
996
997         Reviewed by Xan Lopez.
998
999         https://bugs.webkit.org/show_bug.cgi?id=30883
1000         [Gtk] Implement AtkText for HTML elements which contain text
1001
1002         * accessibility/gtk/AccessibilityObjectWrapperAtk.h
1003         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1004         (objectAndOffsetUnignored):
1005         (webkit_accessible_text_get_caret_offset):
1006         * editing/gtk/SelectionControllerGtk.cpp:
1007         (SelectionController::notifyAccessibilityForSelectionChange)
1008
1009         Adjust the caret offset and object with focus to reflect the
1010         unignored parent of the static text object which contains the
1011         caret. This is necessary because the static text objects are
1012         no longer being exposed to ATs.
1013
1014 2010-01-11  Kim Grönholm  <kim.gronholm@nomovok.com>
1015
1016         Reviewed by Antti Koivisto.
1017
1018         Touchevent coordinates are incorrect after page zoom and page scroll
1019         https://bugs.webkit.org/show_bug.cgi?id=32899
1020
1021         Test: fast/events/touch-coords-in-zoom-and-scroll.html
1022
1023         * dom/Touch.cpp:
1024         (WebCore::contentsX):
1025         (WebCore::contentsY):
1026         * page/EventHandler.cpp:
1027         (WebCore::EventHandler::handleTouchEvent):
1028
1029 2010-01-11  Tony Chang  <tony@chromium.org>
1030
1031         Reviewed by Eric Seidel.
1032
1033         Have "Paste and Match Style" fire the dom paste event.
1034         https://bugs.webkit.org/show_bug.cgi?id=30639
1035
1036         Test: editing/execCommand/paste-and-match-style-event.html
1037
1038         * editing/Editor.cpp:
1039         (WebCore::Editor::pasteAsPlainText):
1040
1041 2010-01-10  Oliver Hunt  <oliver@apple.com>
1042
1043         Reviewed by NOBODY (Build fix).
1044
1045         Rollout renderpath culling as it once again breaks pixel tests.
1046
1047         * rendering/RenderPath.cpp:
1048         (WebCore::RenderPath::paint):
1049         (WebCore::RenderPath::nodeAtFloatPoint):
1050
1051 2010-01-10  Simon Fraser  <simon.fraser@apple.com>
1052
1053         Reviewed by Darin Adler.
1054
1055         Allows plugins to participate in accelerated compositing
1056         https://bugs.webkit.org/show_bug.cgi?id=33455
1057
1058         Part 1: rename setContentsToVideo() on GraphicsLayer to setContentsToMedia()
1059         to make it more general. Rename associated enums and methods similarly.
1060
1061         * platform/graphics/GraphicsLayer.h:
1062         (WebCore::GraphicsLayer::setContentsToMedia):
1063         * platform/graphics/mac/GraphicsLayerCA.h:
1064         (WebCore::GraphicsLayerCA::):
1065         * platform/graphics/mac/GraphicsLayerCA.mm:
1066         (WebCore::GraphicsLayerCA::setContentsToMedia):
1067         (WebCore::GraphicsLayerCA::commitLayerChanges):
1068         (WebCore::GraphicsLayerCA::updateContentsMediaLayer):
1069         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1070         (WebCore::MediaPlayerPrivate::createQTMovieLayer):
1071         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
1072
1073 2010-01-10  Oliver Hunt  <oliver@apple.com>
1074
1075         Reviewed by Nikolas Zimmerman.
1076
1077         Bad DOM performance in large SVG files
1078         https://bugs.webkit.org/show_bug.cgi?id=30055
1079
1080         Cull RenderPaths before passing on to the underlying graphics system.
1081
1082         * rendering/RenderPath.cpp:
1083         (WebCore::RenderPath::paint):
1084         (WebCore::RenderPath::nodeAtFloatPoint):
1085
1086 2010-01-10  Adam Barth  <abarth@webkit.org>
1087
1088         Reviewed by Darin Adler.
1089
1090         Add defensive initialization of iframe sandbox flags
1091         https://bugs.webkit.org/show_bug.cgi?id=32368
1092
1093         We now initialize the SecurityOrigin's sandbox state directly duing
1094         construction.  This lets us properly set the isUnique bit.
1095
1096         Tests: http/tests/security/sandboxed-iframe-origin-add.html
1097                http/tests/security/sandboxed-iframe-origin-remove.html
1098
1099         * WebCore.base.exp:
1100         * dom/Document.cpp:
1101         (WebCore::Document::initSecurityContext):
1102         * page/SecurityOrigin.cpp:
1103         (WebCore::SecurityOrigin::SecurityOrigin):
1104         (WebCore::SecurityOrigin::create):
1105         (WebCore::SecurityOrigin::setSandboxFlags):
1106         * page/SecurityOrigin.h:
1107
1108 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
1109
1110         Reviewed by Timothy Hatcher.
1111
1112         Web Inspector: Inspect Element selects the wrong element.
1113         Drive-by fix that focuses dom tree upon settting focuesDOMNode.
1114
1115         https://bugs.webkit.org/show_bug.cgi?id=33449
1116
1117         * inspector/front-end/ElementsPanel.js:
1118         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
1119         (WebInspector.ElementsPanel.prototype.setDocument):
1120         * inspector/front-end/treeoutline.js:
1121         (TreeElement.prototype.select):
1122
1123 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
1124
1125         Reviewed by Timothy Hatcher.
1126
1127         Web Inspector: Introduce support for flexible line height in the text editor.
1128
1129         https://bugs.webkit.org/show_bug.cgi?id=33431
1130
1131         * inspector/front-end/TextEditor.js:
1132         (WebInspector.TextEditor):
1133         (WebInspector.TextEditor.prototype._offsetToLineNumber):
1134         (WebInspector.TextEditor.prototype._lineNumberToOffset):
1135         (WebInspector.TextEditor.prototype._lineHeight):
1136         (WebInspector.TextEditor.prototype.reveal):
1137         (WebInspector.TextEditor.prototype._textChanged):
1138         (WebInspector.TextEditor.prototype._selectionChanged):
1139         (WebInspector.TextEditor.prototype._updateSize):
1140         (WebInspector.TextEditor.prototype._paintLines):
1141         (WebInspector.TextEditor.prototype._paintLinesContinuation):
1142         (WebInspector.TextEditor.prototype._paintLineNumbers):
1143         (WebInspector.TextEditor.prototype._paintCurrentLine):
1144         (WebInspector.TextEditor.prototype._scroll):
1145         (WebInspector.TextEditor.prototype._repaintOnScroll):
1146         (WebInspector.TextEditor.prototype._caretForMouseEvent):
1147         (WebInspector.TextEditor.prototype._handleNavigationKey):
1148         (WebInspector.TextEditor.prototype._updateCursor):
1149         (WebInspector.TextEditor.prototype._invalidateHighlight):
1150         (WebInspector.TextEditor.prototype._paintSelection):
1151         (WebInspector.TextEditor.prototype._initFont):
1152         (WebInspector.TextCursor.prototype.setTextLineHeight):
1153
1154 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
1155
1156         Reviewed by Timothy Hatcher.
1157
1158         Web Inspector: Do not repaint line numbers while editing within line.
1159
1160         https://bugs.webkit.org/show_bug.cgi?id=33427
1161
1162         * inspector/front-end/TextEditor.js:
1163         (WebInspector.TextEditor.prototype._textChanged):
1164         (WebInspector.TextEditor.prototype._selectionChanged):
1165         (WebInspector.TextEditor.prototype._repaintAll):
1166         (WebInspector.TextEditor.prototype._paintLines):
1167         (WebInspector.TextEditor.prototype._paintLinesContinuation):
1168         (WebInspector.TextEditor.prototype._paintLineNumbers):
1169         (WebInspector.TextEditor.prototype._updateCursor):
1170         (WebInspector.TextEditor.prototype._copy):
1171
1172 2010-01-10  Adam Barth  <abarth@webkit.org>
1173
1174         Unreviewed whitespace fixes.
1175
1176         * html/HTMLFrameOwnerElement.cpp:
1177         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
1178         * loader/FrameLoader.cpp:
1179         (WebCore::FrameLoader::updateSandboxFlags):
1180         * loader/FrameLoader.h:
1181
1182 2010-01-09  Adam Barth  <abarth@webkit.org>
1183
1184         Reviewed by Darin Adler.
1185
1186         Unify origin sandbox flag with m_noAccess in SecurityOrigin
1187         https://bugs.webkit.org/show_bug.cgi?id=32372
1188
1189         It turns out the SandboxOrigin bit is slightly different than the
1190         unique origin concept because the sandbox bit is inherited by iframes.
1191         These concepts are separate in the spec, so I think it's ok to keep
1192         them separate in the implementation as well.
1193
1194         No new tests because there is no behavior change.
1195
1196         * dom/Document.cpp:
1197         (WebCore::Document::cookie):
1198         (WebCore::Document::setCookie):
1199         * loader/CrossOriginAccessControl.cpp:
1200         (WebCore::passesAccessControlCheck):
1201         * page/SecurityOrigin.cpp:
1202         (WebCore::schemesWithUniqueOrigins):
1203         (WebCore::SecurityOrigin::SecurityOrigin):
1204         (WebCore::SecurityOrigin::canAccess):
1205         (WebCore::SecurityOrigin::canRequest):
1206         (WebCore::SecurityOrigin::taintsCanvas):
1207         (WebCore::SecurityOrigin::setSandboxFlags):
1208         (WebCore::SecurityOrigin::toString):
1209         (WebCore::SecurityOrigin::registerURLSchemeAsNoAccess):
1210         (WebCore::SecurityOrigin::shouldTreatURLSchemeAsNoAccess):
1211         * page/SecurityOrigin.h:
1212         (WebCore::SecurityOrigin::canAccessDatabase):
1213         (WebCore::SecurityOrigin::canAccessStorage):
1214         (WebCore::SecurityOrigin::canAccessCookies):
1215         (WebCore::SecurityOrigin::isUnique):
1216
1217 2010-01-09  Adam Barth  <abarth@webkit.org>
1218
1219         Reviewed by Darin Adler.
1220
1221         ScriptController::isEnabled needs to be renamed
1222         https://bugs.webkit.org/show_bug.cgi?id=32063
1223
1224         Rename ScriptController::isEnabled to
1225         ScriptController::canExecuteScripts to reflect what the method actually
1226         means.  This is a trivial change, but it involved touching a lot of
1227         call sites.
1228
1229         * WebCore.PluginHostProcess.exp:
1230         * bindings/ScriptControllerBase.cpp:
1231         (WebCore::ScriptController::canExecuteScripts):
1232         (WebCore::ScriptController::executeScript):
1233         * bindings/js/JSEventListener.cpp:
1234         (WebCore::JSEventListener::handleEvent):
1235         * bindings/js/JSLazyEventListener.cpp:
1236         (WebCore::JSLazyEventListener::parseCode):
1237         * bindings/js/ScheduledAction.cpp:
1238         (WebCore::ScheduledAction::execute):
1239         * bindings/js/ScriptController.cpp:
1240         (WebCore::ScriptController::bindingRootObject):
1241         (WebCore::ScriptController::windowScriptNPObject):
1242         (WebCore::ScriptController::jsObjectForPluginElement):
1243         (WebCore::ScriptController::executeScriptInWorld):
1244         * bindings/js/ScriptController.h:
1245         * bindings/js/ScriptControllerMac.mm:
1246         (WebCore::ScriptController::windowScriptObject):
1247         * bindings/js/ScriptEventListener.cpp:
1248         (WebCore::createAttributeEventListener):
1249         * bindings/js/ScriptState.cpp:
1250         (WebCore::scriptStateFromNode):
1251         * bindings/v8/ScriptController.cpp:
1252         (WebCore::ScriptController::windowScriptNPObject):
1253         (WebCore::ScriptController::createScriptObjectForPluginElement):
1254         * bindings/v8/ScriptController.h:
1255         * bindings/v8/ScriptEventListener.cpp:
1256         (WebCore::createAttributeEventListener):
1257         * bindings/v8/V8Proxy.cpp:
1258         (WebCore::V8Proxy::retrieve):
1259         * dom/ScriptElement.cpp:
1260         (WebCore::ScriptElementData::evaluateScript):
1261         * dom/XMLTokenizerLibxml2.cpp:
1262         (WebCore::XMLTokenizer::startElementNs):
1263         * html/HTMLMediaElement.cpp:
1264         (WebCore::HTMLMediaElement::controls):
1265         * html/HTMLTokenizer.cpp:
1266         (WebCore::HTMLTokenizer::parseTag):
1267         (WebCore::HTMLTokenizer::processToken):
1268         * inspector/InspectorController.cpp:
1269         (WebCore::canPassNodeToJavaScript):
1270         * inspector/JavaScriptDebugServer.cpp:
1271         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
1272         * loader/FrameLoader.cpp:
1273         (WebCore::FrameLoader::isProcessingUserGesture):
1274         (WebCore::FrameLoader::open):
1275         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
1276         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
1277
1278 2010-01-09  Evan Martin  <evan@chromium.org>
1279
1280         Reviewed by Eric Seidel.
1281
1282         Inspector font for errors is ugly on non-OSX platforms
1283         https://bugs.webkit.org/show_bug.cgi?id=33340
1284
1285         * css/view-source.css: Add a fallback to sans-serif on a CSS
1286         selector that previously only listed Lucida Grande.
1287
1288 2010-01-09  Dan Bernstein  <mitz@apple.com>
1289
1290         Reviewed by Nikolas Zimmermann.
1291
1292         <rdar://problem/7525778> Font fallback kills SVG kerning
1293         https://bugs.webkit.org/show_bug.cgi?id=33400
1294
1295         Test: platform/mac/fast/text/sticky-typesetting-features.html
1296
1297         Cache font attributes separately for different typesetting features.
1298
1299         * platform/graphics/SimpleFontData.h: Replaced single-element caches
1300         with maps.
1301         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
1302         (WebCore::disableLigatures): Added an ATSUStyle parameter.
1303         (WebCore::initializeATSUStyle): Look up the ATSUStyle in the map and
1304         initialize if necessary. Return the ATSUStyle.
1305         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
1306         Use the ATSUStyle returned from initializeATSUStyle().
1307         * platform/graphics/mac/SimpleFontDataMac.mm:
1308         (WebCore::SimpleFontData::platformInit):
1309         (WebCore::SimpleFontData::platformDestroy): Destroy the ATSUStyles in the
1310         map.
1311         (WebCore::SimpleFontData::getCFStringAttributes): Look up the attributes
1312         dictionary in the map and initialize if necessary.
1313
1314 2010-01-08  Adam Barth  <abarth@webkit.org>
1315
1316         Unreviewed.  Fix namespace indent for SecurityOrigin.h.
1317
1318         * page/SecurityOrigin.h:
1319         (WebCore::SecurityOrigin::domainWasSetInDOM):
1320         (WebCore::SecurityOrigin::protocol):
1321         (WebCore::SecurityOrigin::host):
1322         (WebCore::SecurityOrigin::domain):
1323         (WebCore::SecurityOrigin::port):
1324         (WebCore::SecurityOrigin::canLoadLocalResources):
1325         (WebCore::SecurityOrigin::setSandboxFlags):
1326         (WebCore::SecurityOrigin::isSandboxed):
1327         (WebCore::SecurityOrigin::canAccessDatabase):
1328         (WebCore::SecurityOrigin::canAccessStorage):
1329         (WebCore::SecurityOrigin::):
1330
1331 2010-01-08  Adam Barth  <abarth@webkit.org>
1332
1333         Reviewed by Dmitry Titov.
1334
1335         bindings/v8/DOMData is missing a virtual destructor
1336         https://bugs.webkit.org/show_bug.cgi?id=33390
1337
1338         DOMData is the base class for ChildThreadDOMData and MainThreadDOMData classes
1339         but it does not have a virtual destructor. While this isn't currently causing
1340         any leaks, since there are no instances of ChildThreadDOMData or
1341         MainThreadDOMData that are manipulated via a DOMData pointer, the ARM GCC
1342         compiler generates the following compilation error:
1343
1344         "/WebCore/bindings/v8/DOMData.h:45: error: 'class WebCore::DOMData' has virtual
1345         functions and accessible non-virtual destructor"
1346
1347         We therefore need to add a virtual destructor to DOMData.
1348
1349         * bindings/v8/DOMData.cpp:
1350         (WebCore::DOMData::~DOMData):
1351         * bindings/v8/DOMData.h:
1352
1353 2010-01-08  Daniel Bates  <dbates@webkit.org>
1354
1355         Reviewed by Adam Barth.
1356
1357         https://bugs.webkit.org/show_bug.cgi?id=33417
1358
1359         Cleans up style errors exposed by the patch for bug #33198.
1360
1361         No functionality was changed. So, no new tests.
1362
1363         * platform/graphics/SimpleFontData.h:
1364         * plugins/PluginPackage.cpp:
1365
1366 2010-01-08  Simon Fraser  <simon.fraser@apple.com>
1367
1368         Reviewed by Dan Bernstein.
1369
1370         WebGL canvas paints background color twice
1371         https://bugs.webkit.org/show_bug.cgi?id=33361
1372
1373         Clean up some logic around "directly composited" content: some images, video, and WebGL.
1374
1375         We previously set the GraphicsLayer background color to the CSS background color
1376         in some cases where the box has no other decorations. However, the content 
1377         layer's bounds do not correspond with the background box in many cases,
1378         and we could end up both painting the background color, and setting it on the layer.
1379         
1380         Simplify this logic to never use layer background colors, and thus skip allocating
1381         backing store only when the element has no visible box decorations.
1382
1383         Tests: compositing/images/direct-image-background-color.html
1384                compositing/reflections/simple-composited-reflections.html
1385                compositing/video/video-background-color.html
1386                compositing/webgl/webgl-background-color.html
1387                compositing/webgl/webgl-blending.html
1388
1389         * rendering/RenderLayerBacking.h:
1390         * rendering/RenderLayerBacking.cpp:
1391         (WebCore::is3DCanvas): Utility to determine if a RenderObject is a canvas with WebGL
1392         (WebCore::RenderLayerBacking::RenderLayerBacking): Remove m_hasDirectlyCompositedContent.
1393         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): canUseDirectCompositing()
1394         is renamed to isDirectlyCompositedImage() and only applies to images now. 
1395         No longer set layer background color.
1396         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Just use hasPaintedContent()
1397         as the argument to setDrawsContent().
1398         (WebCore::hasBoxDecorationsOrBackground): Renamed.
1399         (WebCore::RenderLayerBacking::hasNonCompositingContent):
1400         (WebCore::hasBoxDecorationsOrBackgroundImage): Renamed from hasBoxDecorations().
1401         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Moved test for
1402         hasOverflowControls() into hasNonCompositingContent() and removed the FIXME comment.
1403         (WebCore::RenderLayerBacking::containsPaintedContent): New method that decides
1404         if the layer (and its non-composited children) has any content that must be painted into backing store.
1405         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Renamed from canUseDirectCompositing()
1406         and reduced to only apply to images.
1407         (WebCore::RenderLayerBacking::rendererContentChanged): 3D canvas no longer falls under the
1408         canUseDirectCompositing() scope.
1409
1410 2010-01-08  Steve Block  <steveblock@google.com>
1411
1412         Reviewed by Darin Adler.
1413
1414         Use member initialization syntax instead of assignment for member variables of Document used
1415         for determining minimum layout delay.
1416         https://bugs.webkit.org/show_bug.cgi?id=33316
1417
1418         No new tests, style change only.
1419
1420         * dom/Document.cpp: Modified.
1421         (WebCore::Document::Document): Modified. Use initializer list for m_startTime, m_overMinimumLayoutThreshold and m_extraLayoutDelay.
1422
1423 2010-01-08  Kenneth Russell  <kbr@google.com>
1424
1425         Reviewed by Dimitri Glazkov.
1426
1427         Passing array that is too large to set method of WebGLArrays does not throw an exception
1428         https://bugs.webkit.org/show_bug.cgi?id=33352
1429
1430         Added needed range checks to JSC and V8 custom bindings. Expanded
1431         preexisting test suite for WebGLArrays and updated its expected
1432         results. Tested in WebKit and Chromium.
1433
1434         Test: fast/canvas/webgl/array-set-out-of-bounds.html
1435
1436         * bindings/js/JSWebGLArrayHelper.h:
1437         (WebCore::setWebGLArrayFromArray):
1438         * bindings/v8/custom/V8WebGLArrayCustom.h:
1439         (WebCore::setWebGLArrayFromArray):
1440
1441 2010-01-08  Alexey Proskuryakov  <ap@apple.com>
1442
1443         Reviewed by Dan Bernstein.
1444
1445         https://bugs.webkit.org/show_bug.cgi?id=32962
1446         HTML tags are wrongfully parsed when setting innerHTML of a SCRIPT element
1447
1448         Also fixed the same for STYLE elements.
1449
1450         Tests: fast/dom/css-innerHTML.html
1451                fast/dom/script-innerHTML-x.xhtml
1452                fast/dom/script-innerHTML.html
1453
1454         * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerHTML): Don't parse JS or CSS as HTML,
1455         matching Firefox.
1456
1457 2010-01-08  Beth Dakin  <bdakin@apple.com>
1458
1459         Reviewed by Oliver Hunt.
1460
1461         Fix for https://bugs.webkit.org/show_bug.cgi?id=32757 Repaint bug 
1462         with -webkit-shadow on svg shapes
1463         -and-
1464         <rdar://problem/7389149>
1465
1466         Inflate the repaintRect for the shadow using its extent.
1467         * rendering/RenderForeignObject.cpp:
1468         (WebCore::RenderForeignObject::computeRectForRepaint):
1469         * rendering/RenderSVGImage.cpp:
1470         (WebCore::RenderSVGImage::computeRectForRepaint):
1471         * rendering/RenderSVGModelObject.cpp:
1472         (WebCore::RenderSVGModelObject::computeRectForRepaint):
1473         * rendering/RenderSVGRoot.cpp:
1474         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
1475         (WebCore::RenderSVGRoot::computeRectForRepaint):
1476         * rendering/RenderSVGText.cpp:
1477         (WebCore::RenderSVGText::computeRectForRepaint):
1478         * rendering/SVGRenderSupport.cpp:
1479         (WebCore::getSVGShadowExtent):
1480         (WebCore::SVGRenderBase::inflateForShadow):
1481         * rendering/SVGRenderSupport.h:
1482
1483 2010-01-08  Kenneth Russell  <kbr@google.com>
1484
1485         Reviewed by Dimitri Glazkov.
1486
1487         WebGLArray subclasses do the wrong conversion in indexSetter
1488         https://bugs.webkit.org/show_bug.cgi?id=33350
1489
1490         Test: fast/canvas/webgl/array-setters.html
1491
1492         * bindings/js/JSWebGLFloatArrayCustom.cpp:
1493         (WebCore::JSWebGLFloatArray::indexSetter):
1494         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
1495         (WebCore::JSWebGLUnsignedIntArray::indexSetter):
1496
1497 2010-01-08  Luiz Agostini  <luiz.agostini@openbossa.org>
1498
1499         Reviewed by Kenneth Rohde Christiansen.
1500
1501         [Qt] Delegation client
1502         https://bugs.webkit.org/show_bug.cgi?id=32826
1503
1504         Factory related code removed from QtAbstractWebPopup. Popups are now created
1505         by ChromeClientQt.
1506         Popup content information struct added to class QtAbstractWebPopup.
1507         PopupMenuClient is now hidden from higher layers.
1508         QtAbstractWebPopup now receives content information and font as parameters
1509         of method populate.
1510         QtFallbackWebPopup moved to WebKit/qt/WebCoreSupport.
1511
1512         * WebCore.pro:
1513         * platform/qt/PopupMenuQt.cpp:
1514         (WebCore::PopupMenu::PopupMenu):
1515         (WebCore::getItems):
1516         (WebCore::PopupMenu::show):
1517         * platform/qt/QtAbstractWebPopup.cpp:
1518         (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
1519         (WebCore::QtAbstractWebPopup::popupDidHide):
1520         (WebCore::QtAbstractWebPopup::valueChanged):
1521         * platform/qt/QtAbstractWebPopup.h:
1522         (WebCore::QtAbstractWebPopup::Item::):
1523         * platform/qt/QtFallbackWebPopup.cpp: Removed.
1524         * platform/qt/QtFallbackWebPopup.h: Removed.
1525
1526 2010-01-08  Yuzo Fujishima  <yuzo@google.com>
1527
1528         Reviewed by Darin Adler.
1529
1530         Skip invalid blocks in CSS property declarations.
1531         https://bugs.webkit.org/show_bug.cgi?id=31231
1532         https://bugs.webkit.org/show_bug.cgi?id=26619
1533
1534         This patch makes the CSS parser skip property declarations containing invalid blocks.
1535
1536         Test: fast/css/parsing-error-recovery.html
1537
1538         * css/CSSGrammar.y:
1539
1540 2010-01-08  Chris Fleizach  <cfleizach@apple.com>
1541
1542         Reviewed by Beth Dakin.
1543
1544         AX: CSS content not returned correctly in AX
1545         https://bugs.webkit.org/show_bug.cgi?id=33308
1546
1547         Test: platform/mac/accessibility/css-content-attribute.html
1548
1549         * accessibility/AccessibilityRenderObject.cpp:
1550         (WebCore::AccessibilityRenderObject::textUnderElement):
1551
1552 2010-01-08  Chris Marrin  <cmarrin@apple.com>
1553
1554         Reviewed by Adam Roben.
1555
1556         Implement full-screen video for Windows
1557         https://bugs.webkit.org/show_bug.cgi?id=31318
1558         
1559         This is mostly support logic for taking video
1560         into and out of full-screen. It also contains the
1561         QTMovieWin piece which adds support for the actual
1562         full-screen window itself. Events from the window
1563         are sent to the FullscreenVideosController for handling.
1564
1565         * loader/FrameLoader.cpp:
1566         (WebCore::FrameLoader::addData):
1567         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
1568         (WebCore::MediaPlayerPrivate::supportsFullscreen):
1569         (WebCore::MediaPlayerPrivate::platformMedia):
1570         * platform/graphics/win/QTMovieWin.cpp:
1571         (QTMovieWinPrivate::QTMovieWinPrivate):
1572         (QTMovieWin::initializeQuickTime):
1573         (QTMovieWin::_handleMessages):
1574         (QTMovieWin::enterFullscreen):
1575         (QTMovieWin::exitFullscreen):
1576         * platform/graphics/win/QTMovieWin.h:
1577
1578 2010-01-08  Matt Perry  <mpcomplete@chromium.org>
1579
1580         Reviewed by Adam Barth.
1581
1582         Fix a regression that removed a call to
1583         FrameLoaderClient::didDestroyScriptContextForFrame.
1584         https://bugs.webkit.org/show_bug.cgi?id=33347
1585
1586         * bindings/v8/V8DOMWindowShell.cpp:
1587         (WebCore::V8DOMWindowShell::disposeContextHandles):
1588
1589 2010-01-08  Brent Fulgham  <bfulgham@webkit.org>
1590
1591         Reviewed by Adam Roben.
1592
1593         WebKit plugins are not rendered during printing.
1594         https://bugs.webkit.org/show_bug.cgi?id=33022.
1595
1596         * plugins/win/PluginViewWin.cpp:
1597         (WebCore::PluginView::paintWindowedPluginIntoContext): Tell
1598           cairo printing surface to flush so that blank regions do
1599           not write over the plugin's paint operations.
1600         * rendering/RenderLayer.cpp: Build fix.
1601         (WebCore::RenderLayer::beginTransparencyLayers): Correct
1602           method signature missing for ColorSpace.
1603
1604 2010-01-08  Chris Fleizach  <cfleizach@apple.com>
1605
1606         Reviewed by Eric Seidel.
1607
1608         REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
1609         https://bugs.webkit.org/show_bug.cgi?id=33300
1610
1611         * accessibility/mac/AccessibilityObjectWrapper.mm:
1612         (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]):
1613         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
1614
1615 2010-01-08  Pavel Feldman  <pfeldman@chromium.org>
1616
1617         Reviewed by Timothy Hatcher.
1618
1619         Web Inspector: Regex-based syntax highlighting is slow.
1620
1621         https://bugs.webkit.org/show_bug.cgi?id=33330
1622
1623         * WebCore.gypi:
1624         * WebCore.vcproj/WebCore.vcproj:
1625         * inspector/front-end/JavaScriptHighlighterScheme.js: Removed.
1626         * inspector/front-end/JavaScriptTokenizer.js: Added.
1627         (WebInspector.JavaScriptTokenizer):
1628         (WebInspector.JavaScriptTokenizer.prototype.set line):
1629         (WebInspector.JavaScriptTokenizer.prototype.getCondition):
1630         (WebInspector.JavaScriptTokenizer.prototype.setCondition):
1631         (WebInspector.JavaScriptTokenizer.prototype._charAt):
1632         (WebInspector.JavaScriptTokenizer.prototype.nextToken):
1633         * inspector/front-end/JavaScriptTokenizer.re2js: Added.
1634         * inspector/front-end/TextEditorHighlighter.js:
1635         (WebInspector.TextEditorHighlighter):
1636         (WebInspector.TextEditorHighlighter.prototype.highlight):
1637         (WebInspector.TextEditorHighlighter.prototype._lex):
1638         * inspector/front-end/WebKit.qrc:
1639         * inspector/front-end/inspector.html:
1640
1641 2010-01-07  Mike Belshe  <mbelshe@chromium.org>
1642
1643         Reviewed by Darin Adler.
1644
1645         Fix Spdy casing to match style guide.
1646
1647         https://bugs.webkit.org/show_bug.cgi?id=33326
1648
1649         * platform/network/chromium/ResourceResponse.h:
1650         (WebCore::ResourceResponse::ResourceResponse):
1651         (WebCore::ResourceResponse::wasFetchedViaSPDY):
1652         (WebCore::ResourceResponse::setWasFetchedViaSPDY):
1653
1654 2010-01-07  Daniel Bates  <dbates@rim.com>
1655
1656         Reviewed by Eric Seidel.
1657
1658         https://bugs.webkit.org/show_bug.cgi?id=32987
1659
1660         Added ENABLE_XHTMLMP flag. Disabled by default.
1661
1662         * Configurations/FeatureDefines.xcconfig:
1663         * GNUmakefile.am:
1664         * WebCore.pro:
1665         * WebCore.xcodeproj/project.pbxproj:
1666         * config.h:
1667
1668 2010-01-07  Stephanie Lewis  <slewis@apple.com>
1669
1670         Rolled out http://trac.webkit.org/changeset/52778 due to rolling
1671         out http://trac.webkit.org/changeset/52756
1672
1673         * dom/Document.cpp:
1674         (WebCore::Document::recalcStyle):
1675         * editing/SelectionController.cpp:
1676         (WebCore::SelectionController::layout):
1677         (WebCore::SelectionController::recomputeCaretRect):
1678         (WebCore::SelectionController::invalidateCaretRect):
1679         (WebCore::SelectionController::paintCaret):
1680         * html/HTMLFormControlElement.cpp:
1681         (WebCore::HTMLFormControlElement::attach):
1682         * html/HTMLInputElement.cpp:
1683         (WebCore::HTMLInputElement::attach):
1684         * page/Frame.cpp:
1685         (WebCore::Frame::revealSelection):
1686
1687 2010-01-07  Stephanie Lewis  <slewis@apple.com>
1688
1689         Rollout http://trac.webkit.org/changeset/52756 due to a large performance regression.
1690
1691         * dom/Document.cpp:
1692         (WebCore::Document::updateLayout):
1693         * editing/SelectionController.cpp:
1694         (WebCore::SelectionController::SelectionController):
1695         (WebCore::SelectionController::setSelection):
1696         * editing/SelectionController.h:
1697         * page/Frame.cpp:
1698         (WebCore::Frame::setCaretVisible):
1699         (WebCore::Frame::selectionLayoutChanged):
1700         (WebCore::Frame::caretBlinkTimerFired):
1701         (WebCore::Frame::selectionBounds):
1702         * page/FrameView.cpp:
1703         (WebCore::FrameView::needsLayout):
1704
1705 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
1706
1707         Reviewed by Sam Weinig.
1708
1709         Fix a crash seen on the buildbots.
1710
1711         * bindings/js/JSDOMWindowBase.cpp:
1712         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Don't disable specific
1713         function tracking here; it's too late, as some specific functions
1714         may already have been tracked in the base class constructor.
1715
1716 2010-01-07  Nikolas Zimmermann  <nzimmermann@rim.com>
1717
1718         Reviewed by Dirk Schulze.
1719
1720         SVGTextElement & friends need to implement svgAttributeChanged
1721         https://bugs.webkit.org/show_bug.cgi?id=33284
1722
1723         Implement svgAttributeChanged() for SVGTextElement & SVGTRefElement. As <text> element contain children,
1724         childrenChanged() has to be implemented as well for SVGTextElement.
1725
1726         Simplify SVGTransformable::parseTransformAttribute() code, clearing lists in the beginning
1727         and on error case, after parsing - previously the calling site had to take care of that.
1728
1729         Tests: svg/dynamic-updates/SVGTRefElement-dom-href-attr.html
1730                svg/dynamic-updates/SVGTextElement-dom-transform-attr.html
1731                svg/dynamic-updates/SVGTextElement-svgdom-transform-prop.html
1732
1733         * svg/SVGGradientElement.cpp:
1734         (WebCore::SVGGradientElement::parseMappedAttribute):
1735         * svg/SVGPatternElement.cpp:
1736         (WebCore::SVGPatternElement::parseMappedAttribute):
1737         * svg/SVGStyledTransformableElement.cpp:
1738         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
1739         * svg/SVGTRefElement.cpp:
1740         (WebCore::SVGTRefElement::svgAttributeChanged):
1741         * svg/SVGTRefElement.h:
1742         * svg/SVGTextElement.cpp:
1743         (WebCore::SVGTextElement::parseMappedAttribute):
1744         (WebCore::SVGTextElement::svgAttributeChanged):
1745         (WebCore::SVGTextElement::childrenChanged):
1746         * svg/SVGTextElement.h:
1747         * svg/SVGTextPositioningElement.cpp:
1748         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
1749         * svg/SVGTextPositioningElement.h:
1750         * svg/SVGTransformable.cpp:
1751         (WebCore::SVGTransformable::parseTransformAttribute):
1752         * svg/SVGTransformable.h:
1753
1754 2010-01-07  Brian Weinstein  <bweinstein@apple.com>
1755
1756         Reviewed by Adele Peterson.
1757
1758         Padding in popup menu gets lost with styled <select> in Windows.
1759         Fixes <rdar://7285538>, and <http://webkit.org/b/33235>.
1760
1761         [Win] Support padding-right on selects when webkit-appearance is off. Added a test
1762         case for narrow selects with -webkit-appearance: none, and padding left and right to
1763         show that both types of padding are honored.
1764
1765         * manual-tests/select-webkit-appearance-off-narrow-select.html: Added.
1766         * platform/win/PopupMenuWin.cpp:
1767         (WebCore::PopupMenu::calculatePositionAndSize): Use clientPaddingRight instead of a hardcoded constant.
1768         * rendering/RenderMenuList.cpp:
1769         (WebCore::RenderMenuList::clientPaddingRight): If webkit-appearance is off, use padding-right instead of
1770         the hardcoded constant.
1771
1772 2010-01-07  Alexey Proskuryakov  <ap@apple.com>
1773
1774         Reviewed by Geoffrey Garen.
1775
1776         https://bugs.webkit.org/show_bug.cgi?id=33057
1777         REGRESSION(r49365): typeof(xhr.responseText) != "string" in Windows
1778
1779         <rdar://problem/7296920> REGRESSION: WebKit fails to start PeaceKeeper benchmark
1780
1781         * config.h: Define JS_EXPORTCLASS. I'm not sure why this isn't done in JSC globally for all
1782         possible clients, but keeping the current design for now.
1783
1784 2010-01-07  Brent Fulgham  <bfulgham@webkit.org>
1785
1786         Reviewed by Jon Honeycutt.
1787
1788         Account for scale and current context position (as well as page
1789         position) in the device context world transform passed to
1790         plugins.  This is especially important for print surface DPI.
1791         http://bugs.webkit.org/show_bug.cgi?id=32909.
1792
1793         * plugins/win/PluginViewWin.cpp:
1794         (WebCore::PluginView::paintWindowedPluginIntoContext): Revise
1795           world context handling to include scaling and translation
1796           already set for the CTM.
1797
1798 2010-01-07  Nate Chapin  <japhet@chromium.org>
1799
1800         Reviewed by Dimitri Glazkov.
1801
1802         Generate V8 bindings header declarations for named and indexed accessors.
1803
1804         * bindings/scripts/CodeGeneratorV8.pm:
1805         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1806         * bindings/v8/custom/V8CustomBinding.h:
1807         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1808         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1809         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1810         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1811         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1812         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
1813         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1814         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1815         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1816         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1817         * bindings/v8/custom/V8NodeListCustom.cpp:
1818         * bindings/v8/custom/V8StorageCustom.cpp:
1819         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1820         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
1821         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
1822         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
1823         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
1824         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
1825         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
1826         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
1827
1828 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
1829
1830         Better build fix: use 'this->structure()', since 'structure' is a
1831         PassRefPtr, and therefore null.
1832
1833         * bindings/js/JSDOMWindowBase.cpp:
1834         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1835
1836 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
1837
1838         Build fix: avoid a name conflict by using the local 'structure' instead
1839         of the member 'structure()'.
1840
1841         * bindings/js/JSDOMWindowBase.cpp:
1842         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1843
1844 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
1845
1846         Build fix.
1847
1848         Add RenderEmbeddedObject.h/cpp to all the build systems.
1849
1850         * Android.mk:
1851         * GNUmakefile.am:
1852         * WebCore.gypi:
1853         * WebCore.pro:
1854         * WebCore.vcproj/WebCore.vcproj:
1855         * WebCoreSources.bkl:
1856
1857 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
1858
1859         Reviewed by Sam Weinig.
1860
1861         Safari memory usage skyrockets using new Google AdWords interface
1862         https://bugs.webkit.org/show_bug.cgi?id=33343
1863
1864         * bindings/js/JSDOMWindowBase.cpp:
1865         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Disabled specific function
1866         tracking for the window object, since there's no way to do direct
1867         method calls on the window object; they all go through the window shell.
1868
1869 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
1870
1871         Reviewed by Kevin Decker, Darin Adler.
1872
1873         https://bugs.webkit.org/show_bug.cgi?id=33338
1874         Create a renderer for <object> and <embed>
1875         
1876         Add RenderEmbeddedObject, which derives from RenderPartObject, and is created for <object> and <embed>.
1877         Instances of RenderPartObject are now only allocated for iframes.
1878         
1879         Move object/embed-related code from RenderPartObject to RenderEmbeddedObject.
1880
1881         * WebCore.xcodeproj/project.pbxproj:
1882         Add RenderEmbeddedObject.h/cpp
1883         
1884         * html/HTMLEmbedElement.cpp:
1885         (WebCore::HTMLEmbedElement::createRenderer): Create a RenderEmbeddedObject.
1886         (WebCore::HTMLEmbedElement::updateWidget): Use toRenderEmbeddedObject()
1887
1888         * html/HTMLMediaElement.cpp:
1889         (WebCore::HTMLMediaElement::createRenderer): Make a RenderEmbeddedObject for the plugin-proxy case.
1890         (WebCore::HTMLMediaElement::finishParsingChildren): Use toRenderEmbeddedObject() in the plugin-proxy code.
1891
1892         * html/HTMLObjectElement.cpp:
1893         (WebCore::HTMLObjectElement::createRenderer): Make a RenderEmbeddedObject
1894         (WebCore::HTMLObjectElement::updateWidget): Use toRenderEmbeddedObject()
1895
1896         * page/FrameView.h:
1897         * page/FrameView.cpp:
1898         (WebCore::FrameView::addWidgetToUpdate):
1899         (WebCore::FrameView::removeWidgetToUpdate):
1900         (WebCore::FrameView::updateWidgets):
1901         Objects in the m_widgetUpdateSet are only ever RenderEmbeddedObjects.
1902         
1903         * rendering/RenderEmbeddedObject.cpp: Added.
1904         * rendering/RenderEmbeddedObject.h: Added.
1905         Most of the code moved from RenderPartObject.
1906         
1907         * rendering/RenderObject.h:
1908         (WebCore::RenderObject::isEmbeddedObject): New method.
1909
1910         * rendering/RenderPart.cpp:
1911         (WebCore::RenderPart::RenderPart): Initialize m_hasFallbackContent here, rather than in the derived classes.
1912         * rendering/RenderPart.h: Comments.
1913         
1914         * rendering/RenderPartObject.h:
1915         * rendering/RenderPartObject.cpp:
1916         (WebCore::RenderPartObject::RenderPartObject): Clean up, code moved to base class, and removed object/embed-specific code.
1917         (WebCore::RenderPartObject::layout): Removed object/embed-specific code.
1918
1919 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
1920
1921         Reviewed by Darin Adler.
1922
1923         https://bugs.webkit.org/show_bug.cgi?id=33338
1924         Create a renderer for <object> and <embed>
1925
1926         First part of this change: renderPartObject->updateWidget() is a no-op for iframe elements,
1927         so we don't need to call it here, and can thus remove the attach() override entirely.
1928
1929         * html/HTMLIFrameElement.cpp:
1930         * html/HTMLIFrameElement.h:
1931
1932 2009-01-07  Pavel Feldman  <pfeldman@chromium.org>
1933
1934         Reviewed by Timothy Hatcher.
1935
1936         Web Inspector: Migrate to canvas-based text viewer / editor that scales.
1937
1938         https://bugs.webkit.org/show_bug.cgi?id=33001
1939
1940         * WebCore.gypi:
1941         * WebCore.vcproj/WebCore.vcproj:
1942         * inspector/front-end/JavaScriptHighlighterScheme.js: Added.
1943         (WebInspector.JavaScriptHighlighterScheme):
1944         * inspector/front-end/KeyboardShortcut.js:
1945         * inspector/front-end/TextEditor.js: Added.
1946         (WebInspector.TextEditor):
1947         (WebInspector.TextSelectionModel):
1948         (WebInspector.TextCursor):
1949         * inspector/front-end/TextEditorHighlighter.js: Added.
1950         (WebInspector.TextEditorHighlighter):
1951         (WebInspector.TextEditorHighlighter.prototype.highlight):
1952         (WebInspector.TextEditorHighlighter.prototype._lex):
1953         * inspector/front-end/TextEditorModel.js: Added.
1954         (WebInspector.TextRange):
1955         (WebInspector.TextRange.prototype.clone):
1956         (WebInspector.TextEditorModel):
1957         * inspector/front-end/WebKit.qrc:
1958         * inspector/front-end/inspector.css:
1959         * inspector/front-end/inspector.html:
1960
1961 2010-01-07  Christian Sejersen  <christian.webkit@gmail.com>
1962
1963         Reviewed by Darin Adler.
1964
1965         document.title does not replace or remove space characters
1966         https://bugs.webkit.org/show_bug.cgi?id=27032
1967
1968         Test: fast/dom/Document/document-title-get.html
1969
1970         * dom/Document.cpp: 
1971         (WebCore::Document::Document): 
1972         Initialization of m_rawTitle
1973         (WebCore::canonicalizedTitle): 
1974         Moved from DocumentLoader.cpp with minor edits
1975         (WebCore::Document::updateTitle): 
1976         Ensures the title is canonicalized
1977         (WebCore::Document::setTitle): 
1978         Uses m_rawTitle instaed of m_title 
1979         (WebCore::Document::removeTitle): 
1980         Uses m_rawTitle instead of m_title
1981         
1982         * dom/Document.h: 
1983         Added m_rawTitle that stores the passed in title, m_title now stores the 
1984         canonicalized title
1985         
1986         * loader/DocumentLoader.cpp:
1987         (WebCore::DocumentLoader::setTitle): 
1988         The title passed in is now canonicalized in Document.cpp
1989
1990 2010-01-07  Yuzo Fujishima  <yuzo@google.com>
1991
1992         Reviewed by Darin Adler.
1993
1994         Allow leading/trailing space for CSS nth-*() and lang().
1995         https://bugs.webkit.org/show_bug.cgi?id=17248
1996
1997         For pseudo-classes :nth-*() and :lang(), space must be allowed after '(' and before ')'.
1998         See the bug comments for why we don't allow space at other places.
1999
2000         * css/CSSGrammar.y:
2001
2002 2010-01-07  Chris Fleizach  <cfleizach@apple.com>
2003
2004         Reviewed by Beth Dakin.
2005
2006         AX: contentEditable DIVs are not AX accessible
2007         https://bugs.webkit.org/show_bug.cgi?id=33325
2008
2009         Test: accessibility/contenteditable-hidden-div.html
2010
2011         * accessibility/AccessibilityRenderObject.cpp:
2012         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2013         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2014
2015 2010-01-07  Adam Barth  <abarth@webkit.org>
2016
2017         Unreviewed.  Resolve merge conflict.
2018
2019         * bindings/v8/V8Proxy.cpp:
2020         (WebCore::V8Proxy::setContextDebugId):
2021
2022 2010-01-07  Adam Barth  <abarth@webkit.org>
2023
2024         No review, rolling out r52847.
2025         http://trac.webkit.org/changeset/52847
2026         https://bugs.webkit.org/show_bug.cgi?id=33232
2027
2028         Might have caused a perf regression.  I'm rolling this out to see if it
2029         heals the perf bot.
2030
2031         * bindings/v8/ScriptController.cpp:
2032         (WebCore::ScriptController::ScriptController):
2033         (WebCore::ScriptController::~ScriptController):
2034         (WebCore::ScriptController::updateSecurityOrigin):
2035         (WebCore::ScriptController::evaluateInIsolatedWorld):
2036         (WebCore::ScriptController::haveInterpreter):
2037         (WebCore::ScriptController::clearWindowShell):
2038         (WebCore::ScriptController::updateDocument):
2039         * bindings/v8/ScriptController.h:
2040         * bindings/v8/V8DOMWindowShell.cpp:
2041         * bindings/v8/V8DOMWindowShell.h:
2042         * bindings/v8/V8DOMWrapper.cpp:
2043         (WebCore::V8DOMWrapper::instantiateV8Object):
2044         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
2045         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
2046         * bindings/v8/V8IsolatedContext.cpp:
2047         (WebCore::V8IsolatedContext::V8IsolatedContext):
2048         * bindings/v8/V8Proxy.cpp:
2049         (WebCore::V8Proxy::V8Proxy):
2050         (WebCore::V8Proxy::~V8Proxy):
2051         (WebCore::V8Proxy::handleOutOfMemory):
2052         (WebCore::V8Proxy::evaluateInIsolatedWorld):
2053         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
2054         (WebCore::V8Proxy::clearForClose):
2055         (WebCore::V8Proxy::clearForNavigation):
2056         (WebCore::V8Proxy::context):
2057         (WebCore::V8Proxy::mainWorldContext):
2058         (WebCore::V8Proxy::currentContext):
2059         (WebCore::V8Proxy::setContextDebugId):
2060         * bindings/v8/V8Proxy.h:
2061         (WebCore::V8Proxy::windowShell):
2062         * bindings/v8/WorldContextHandle.cpp:
2063         (WebCore::WorldContextHandle::adjustedContext):
2064
2065 2010-01-07  Dan Bernstein  <mitz@apple.com>
2066
2067         Build fix
2068
2069         * WebCore.xcodeproj/project.pbxproj: Made TypesettingFeatures.h private.
2070
2071 2010-01-07  Dan Bernstein  <mitz@apple.com>
2072
2073         Reviewed by Sam Weinig.
2074
2075         Added Font::typesettingFeatures() and deployed it
2076
2077         No change in funcitonality
2078
2079         * WebCore.xcodeproj/project.pbxproj: Added TypesettingFeatures.h.
2080         * platform/graphics/Font.h:
2081         (WebCore::Font::typesettingFeatures): Added. Determines the typesetting
2082             features from the text redndering mode.
2083         * platform/graphics/FontFastPath.cpp:
2084         (WebCore::Font::canUseGlyphCache): Use typesettingFeatures().
2085         * platform/graphics/SimpleFontData.h:
2086         * platform/graphics/TypesettingFeatures.h: Added.
2087         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
2088         (WebCore::disableLigatures): Take TypesettingFeatures instead of
2089             TextRenderingMode.
2090         (WebCore::initializeATSUStyle): Ditto.
2091         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
2092             Use typesettingFeatures().
2093         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
2094         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2095             Ditto.
2096         * platform/graphics/mac/SimpleFontDataMac.mm:
2097         (WebCore::SimpleFontData::getCFStringAttributes): Take
2098             TypesettingFeatures instead of TextRenderingMode.
2099         * rendering/RenderBlockLineLayout.cpp:
2100         (WebCore::RenderBlock::findNextLineBreak): Use TypesettingFeatures().
2101
2102 2010-01-07  Dimitri Glazkov  <dglazkov@chromium.org>
2103
2104         No review, rolling out r52900.
2105         http://trac.webkit.org/changeset/52900
2106         https://bugs.webkit.org/show_bug.cgi?id=30055
2107
2108         Broke over 30 SVG pixel tests.
2109
2110         * rendering/RenderPath.cpp:
2111         (WebCore::RenderPath::paint):
2112
2113 2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
2114
2115         Rubber-stamped by Kenneth Rohde Christiansen.
2116
2117         [Qt] The library version number of the first package release is 4.7.0.
2118
2119         * WebCore.pro:
2120
2121 2010-01-07  Yael Aharon  <yael.aharon@nokia.com>
2122
2123         Reviewed by Kenneth Rohde Christiansen.
2124
2125         [Qt] Allow the application to override online/offline network status
2126         https://bugs.webkit.org/show_bug.cgi?id=32684
2127
2128         Added API to NetworkStateNotifier for forcing network status.
2129
2130         * platform/network/NetworkStateNotifier.h:
2131         * platform/network/qt/NetworkStateNotifierPrivate.h:
2132         * platform/network/qt/NetworkStateNotifierQt.cpp:
2133         (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
2134         (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
2135         (WebCore::NetworkStateNotifierPrivate::networkAccessPermissionChanged):
2136         (WebCore::NetworkStateNotifier::updateState):
2137         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2138         (WebCore::NetworkStateNotifier::setNetworkAccessAllowed):
2139
2140 2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
2141
2142         Reviewed by Tor Arne Vestbø.
2143
2144         [Qt] Fix linkage against Qt mobility API bearer management module
2145
2146         Use the documented .pro file syntax to link against the correct
2147         library and (more importantly) get the include paths correct.
2148
2149         * WebCore.pro:
2150
2151 2010-01-07  Eric Carlson  <eric.carlson@apple.com>
2152
2153         Reviewed by Maciej Stachowiak.
2154
2155         https://bugs.webkit.org/show_bug.cgi?id=33272
2156         'abort' event still fired as a progress event
2157
2158         rdar://6710625
2159         Test media/video-error-abort.html doesn't work
2160
2161         Test: http/tests/media/video-error-abort.html
2162
2163         * html/HTMLMediaElement.cpp:
2164         (WebCore::HTMLMediaElement::scheduleEvent): Incorporate code from enqueueEvent.
2165         (WebCore::HTMLMediaElement::loadInternal): Fix 'abort' event firing logic missed
2166         in https://bugs.webkit.org/show_bug.cgi?id=30513. Change order of initialization 
2167         to match spec wording.
2168         * html/HTMLMediaElement.h: Remove enqueueEvent prototype.
2169
2170 2010-01-07  Kim Grönholm  <kim.gronholm@nomovok.com>
2171
2172         Reviewed by Antti Koivisto.
2173
2174         Wrong state and TouchLists in TouchEvents
2175         https://bugs.webkit.org/show_bug.cgi?id=32878
2176
2177         Touch events changed to match the API and semantics of iPhone and
2178         Android. Each new touch point press dispatches a touchstart event with
2179         the pressed touch point(s) in the changedTouches list, and a release
2180         dispatches a touchend event with the released touch point(s) in
2181         changedTouches. Moved points dispatch a touchmove event, with the moved
2182         points in changedTouches. Old behaviour emitted only one touchstart when
2183         the first point was pressed and one touchend when the last point was
2184         released, and any events in between were touchmoves. New presses or
2185         releases could only be detected by comparing the lists touches and
2186         changedTouches.
2187
2188         * page/EventHandler.cpp:
2189         (WebCore::EventHandler::handleTouchEvent):
2190         * page/EventHandler.h:
2191
2192 2010-01-07  Kent Tamura  <tkent@chromium.org>
2193
2194         Reviewed by Maciej Stachowiak.
2195
2196         Remove COM code generation stuff.
2197         https://bugs.webkit.org/show_bug.cgi?id=32854
2198
2199         Remove the followings:
2200         - CodeGeenratorCOM.pm, COM code generator,
2201         - "#if !defined(LANGUAGE_COM) || !LANGUAGE_COM" in IDL files, and
2202         - UUID attributes in IDL files.
2203
2204         * bindings/scripts/CodeGeneratorCOM.pm: Removed.
2205         * css/CSSCharsetRule.idl:
2206         * css/CSSFontFaceRule.idl:
2207         * css/CSSImportRule.idl:
2208         * css/CSSMediaRule.idl:
2209         * css/CSSPageRule.idl:
2210         * css/CSSPrimitiveValue.idl:
2211         * css/CSSRule.idl:
2212         * css/CSSRuleList.idl:
2213         * css/CSSStyleDeclaration.idl:
2214         * css/CSSStyleRule.idl:
2215         * css/CSSStyleSheet.idl:
2216         * css/CSSUnknownRule.idl:
2217         * css/CSSValue.idl:
2218         * css/CSSValueList.idl:
2219         * css/Counter.idl:
2220         * css/MediaList.idl:
2221         * css/RGBColor.idl:
2222         * css/Rect.idl:
2223         * css/StyleSheet.idl:
2224         * css/StyleSheetList.idl:
2225         * css/WebKitCSSKeyframeRule.idl:
2226         * css/WebKitCSSKeyframesRule.idl:
2227         * css/WebKitCSSTransformValue.idl:
2228         * dom/Attr.idl:
2229         * dom/CDATASection.idl:
2230         * dom/CharacterData.idl:
2231         * dom/Comment.idl:
2232         * dom/DOMImplementation.idl:
2233         * dom/Document.idl:
2234         * dom/DocumentFragment.idl:
2235         * dom/DocumentType.idl:
2236         * dom/Element.idl:
2237         * dom/Entity.idl:
2238         * dom/EntityReference.idl:
2239         * dom/Event.idl:
2240         * dom/EventListener.idl:
2241         * dom/EventTarget.idl:
2242         * dom/NamedNodeMap.idl:
2243         * dom/Node.idl:
2244         * dom/NodeList.idl:
2245         * dom/Notation.idl:
2246         * dom/ProcessingInstruction.idl:
2247         * dom/Text.idl:
2248         * html/HTMLAnchorElement.idl:
2249         * html/HTMLAppletElement.idl:
2250         * html/HTMLAreaElement.idl:
2251         * html/HTMLBRElement.idl:
2252         * html/HTMLBaseElement.idl:
2253         * html/HTMLBaseFontElement.idl:
2254         * html/HTMLBlockquoteElement.idl:
2255         * html/HTMLBodyElement.idl:
2256         * html/HTMLButtonElement.idl:
2257         * html/HTMLCanvasElement.idl:
2258         * html/HTMLCollection.idl:
2259         * html/HTMLDListElement.idl:
2260         * html/HTMLDirectoryElement.idl:
2261         * html/HTMLDivElement.idl:
2262         * html/HTMLDocument.idl:
2263         * html/HTMLElement.idl:
2264         * html/HTMLEmbedElement.idl:
2265         * html/HTMLFieldSetElement.idl:
2266         * html/HTMLFontElement.idl:
2267         * html/HTMLFormElement.idl:
2268         * html/HTMLFrameElement.idl:
2269         * html/HTMLFrameSetElement.idl:
2270         * html/HTMLHRElement.idl:
2271         * html/HTMLHeadElement.idl:
2272         * html/HTMLHeadingElement.idl:
2273         * html/HTMLHtmlElement.idl:
2274         * html/HTMLIFrameElement.idl:
2275         * html/HTMLImageElement.idl:
2276         * html/HTMLInputElement.idl:
2277         * html/HTMLIsIndexElement.idl:
2278         * html/HTMLLIElement.idl:
2279         * html/HTMLLabelElement.idl:
2280         * html/HTMLLegendElement.idl:
2281         * html/HTMLLinkElement.idl:
2282         * html/HTMLMapElement.idl:
2283         * html/HTMLMarqueeElement.idl:
2284         * html/HTMLMenuElement.idl:
2285         * html/HTMLMetaElement.idl:
2286         * html/HTMLModElement.idl:
2287         * html/HTMLOListElement.idl:
2288         * html/HTMLObjectElement.idl:
2289         * html/HTMLOptGroupElement.idl:
2290         * html/HTMLOptionElement.idl:
2291         * html/HTMLOptionsCollection.idl:
2292         * html/HTMLParagraphElement.idl:
2293         * html/HTMLParamElement.idl:
2294         * html/HTMLPreElement.idl:
2295         * html/HTMLQuoteElement.idl:
2296         * html/HTMLScriptElement.idl:
2297         * html/HTMLSelectElement.idl:
2298         * html/HTMLStyleElement.idl:
2299         * html/HTMLTableCaptionElement.idl:
2300         * html/HTMLTableCellElement.idl:
2301         * html/HTMLTableColElement.idl:
2302         * html/HTMLTableElement.idl:
2303         * html/HTMLTableRowElement.idl:
2304         * html/HTMLTableSectionElement.idl:
2305         * html/HTMLTextAreaElement.idl:
2306         * html/HTMLTitleElement.idl:
2307         * html/HTMLUListElement.idl:
2308
2309 2010-01-07  Steve Block  <steveblock@google.com>
2310
2311         Reviewed by Darin Adler.
2312
2313         Adds the ability to increase the delay used when scheduling layout.
2314         https://bugs.webkit.org/show_bug.cgi?id=32875
2315
2316         No new tests possible.
2317
2318         * dom/Document.cpp: Modified.
2319         (WebCore::Document::Document): Modified. Initializes extra layout delay to zero.
2320         (WebCore::Document::minimumLayoutDelay): Modified. Adds extra layout delay when calculating minimum layout delay.
2321         * dom/Document.h: Modified.
2322         (WebCore::Document::setExtraLayoutDelay): Added. Sets the extra layout delay.
2323
2324 2010-01-07  Kent Tamura  <tkent@chromium.org>
2325
2326         Reviewed by Eric Seidel.
2327
2328         Some IDL files lack "," separators for extended attributes.
2329         https://bugs.webkit.org/show_bug.cgi?id=33190
2330
2331         To find such mistakes, IDLParser.pm rejects whitespace characters in
2332         extended attribute names.
2333
2334         * bindings/scripts/IDLParser.pm:
2335           parseExtendedAttributes rejects whitespace in a name.
2336         * css/WebKitCSSTransformValue.idl: Add missing ",".
2337         * dom/EventTarget.idl: ditto.
2338
2339 2010-01-07  Kent Tamura  <tkent@chromium.org>
2340
2341         Reviewed by Adam Barth.
2342
2343         Fix an issue that CodeGeneratorV8.pm doesnt handle HasIndexGetter of
2344         WebKitCSSTransformValue.idl correctly.
2345         https://bugs.webkit.org/show_bug.cgi?id=33193
2346
2347         CodeGeneratorV8.pm doesn't handle inheritance very well and it
2348         tried to refer v8WebKitCSSTransformValueIndexedPropertyGetter(),
2349         which does not exist. Because WebKitCSSTransformValue inherits
2350         CSSValueList and CSSValueList already has HadIndexGetter, we don't
2351         need to do anything for WebKitCSSTransformValue about HasIndexGetter.
2352
2353         * bindings/scripts/CodeGeneratorV8.pm:
2354           Reset $hasGetter for WebKitCSSTransformValue.
2355
2356 2010-01-07  Anton Muhin  <antonm@chromium.org>
2357
2358         Reviewed by Adam Barth.
2359
2360         Do not return strings whose handles are in near death state (that means
2361         they might be GCed) or just empty.
2362         https://bugs.webkit.org/show_bug.cgi?id=31180
2363
2364         * bindings/v8/V8Binding.cpp:
2365         (WebCore::v8ExternalString):
2366
2367 2010-01-06  MORITA Hajime  <morrita@gmail.com>
2368
2369         Reviewed by Nikolas Zimmermann.
2370
2371         SVG background color on selected text goes wrong when text has
2372         gradient stroke.
2373         https://bugs.webkit.org/show_bug.cgi?id=33069
2374
2375         Introduced SVGTextPaintSubphase like as PaintPhase on html painting,
2376         and paint background and foreground in separate subphase.
2377         
2378         Test: svg/text/selection-background-color.xhtml
2379         
2380         * rendering/SVGCharacterLayoutInfo.h:
2381         (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
2382         Added m_setupBackgroundCallback, m_setupForegroundCallback
2383         (WebCore::SVGTextChunkWalker::setupBackground):
2384         (WebCore::SVGTextChunkWalker::setupForeground):
2385         Added.
2386         * rendering/SVGInlineTextBox.cpp:
2387         (WebCore::SVGInlineTextBox::paintCharacters):
2388         pass SVGTextPaintInfo instead of SVGPaintServer
2389         * rendering/SVGInlineTextBox.h:
2390         (WebCore::SVGTextPaintSubphase):
2391         (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
2392         Added.
2393         * rendering/SVGRootInlineBox.cpp:
2394         (WebCore::SVGRootInlineBox::walkTextChunks):
2395         Invoke setupBackground() and setupForeground()
2396         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupBackgroundCallback):
2397         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupForegroundCallback):
2398         (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):        
2399         Added.
2400         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
2401         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
2402         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
2403         (WebCore::SVGRootInlineBox::paint):
2404         
2405 2010-01-06  Kinuko Yasuda  <kinuko@chromium.org>
2406
2407         Reviewed by Eric Seidel.
2408
2409         Make windowsKeyCodeForKeyEvent() return correct key code for
2410         numeric-pad arrow keys.
2411         https://bugs.webkit.org/show_bug.cgi?id=33250
2412
2413         Test: fast/events/keydown-numpad-keys.html
2414
2415         * platform/qt/PlatformKeyboardEventQt.cpp:
2416         (WebCore::windowsKeyCodeForKeyEvent):
2417
2418 2009-10-18 Patrick Gansterer <paroga@paroga.com>
2419
2420         Reviewed by Dirk Schulze.
2421
2422         Improve DOM performance in large SVG files.
2423         Check the dirty area before painting a path, which prevents unnecessary
2424         clipping and changes to the GraphicsContext.
2425         https://bugs.webkit.org/show_bug.cgi?id=30055
2426
2427         * rendering/RenderPath.cpp:
2428         (WebCore::RenderPath::paint):
2429
2430 2010-01-06  Kent Tamura  <tkent@chromium.org>
2431
2432         Reviewed by Darin Adler.
2433
2434         Use a static HashMap for HTMLElement::tagPriority().
2435         https://bugs.webkit.org/show_bug.cgi?id=33269
2436
2437         The prior code compares AtomicStringImpl pointers 18 times at
2438         worst. This change avoids it.
2439
2440         No new tests because this is just a refactoring.
2441
2442         * html/HTMLElement.cpp:
2443         (WebCore::Empty1IntHashTraits): A HashTraits to return 1 as the empty value.
2444         (WebCore::initializeTagPriorityMap): Initialization of a static HashMap.
2445         (WebCore::HTMLElement::tagPriority): Use the static HashMap created by initializeTagPriorityMap().
2446         * html/HTMLElement.h:
2447         (WebCore::HTMLElement::HTMLElement): Add an assertion about non-null localName().
2448
2449 2010-01-06  Mike Belshe  <mike@belshe.com>
2450
2451         Add a flag to the ResourceResponse for tracking if a request was
2452         fetched via SPDY.  This is plumbed through so that we can inform
2453         a webpage via JavaScript if it was fecthed via the experimental
2454         SPDY protocol.
2455
2456         https://bugs.webkit.org/show_bug.cgi?id=33186
2457
2458         * platform/network/chromium/ResourceResponse.h:
2459         (WebCore::ResourceResponse::wasFetchedViaSpdy):
2460         (WebCore::ResourceResponse::setWasFetchedViaSpdy):
2461
2462 2010-01-06  Jakub Wieczorek  <faw217@gmail.com>
2463
2464         Reviewed by Adam Treat.
2465
2466         [Qt] RenderTheme: Missing support for native sliders
2467
2468         https://bugs.webkit.org/show_bug.cgi?id=33122
2469
2470         Implement painting of native slider controls in RenderTheme
2471         and unskip a couple of layout tests that are passing after
2472         this change.
2473
2474         * platform/qt/RenderThemeQt.cpp:
2475         (WebCore::RenderThemeQt::paintSliderTrack):
2476         (WebCore::RenderThemeQt::adjustSliderTrackStyle):
2477         (WebCore::RenderThemeQt::paintSliderThumb):
2478         (WebCore::RenderThemeQt::adjustSliderThumbStyle):
2479         (WebCore::RenderThemeQt::supportsFocus):
2480         (WebCore::RenderThemeQt::adjustSliderThumbSize):
2481         * platform/qt/RenderThemeQt.h:
2482
2483 2010-01-06  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2484
2485         Reviewed by Darin Adler.
2486
2487         Adjust incorrect comments after r40534.
2488
2489         * bindings/js/JSDOMBinding.cpp:
2490         (WebCore::markActiveObjectsForContext):
2491
2492 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
2493
2494         Unreviewed build fix for chromium.
2495         Add "bool V8WorkerContext::WebSocketEnabled()"
2496
2497         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2498         (WebCore::V8WorkerContext::WebSocketEnabled):
2499
2500 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
2501
2502         Unreviewed build fix.
2503         remove wrong assertion
2504
2505         * websockets/WorkerThreadableWebSocketChannel.cpp:
2506         (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
2507
2508 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
2509
2510         Reviewed by David Levin.
2511
2512         Add WebSocket feature in Worker
2513         https://bugs.webkit.org/show_bug.cgi?id=32214
2514
2515         Introduce ThreadableWebSocketChannel interface and add
2516         WorkerThreadableWebSocketChannel for Worker.
2517         WorkerThreadableWebSocketChannel uses WebSocketChannel in the
2518         main thread, which is managed by Peer and communicated via Bridge.
2519
2520         Test: websocket/tests/workers/worker-simple.html
2521
2522         * GNUmakefile.am:
2523         * WebCore.gypi:
2524         * WebCore.pro:
2525         * WebCore.vcproj/WebCore.vcproj:
2526         * WebCore.xcodeproj/project.pbxproj:
2527         * bindings/js/JSWebSocketConstructor.h:
2528         * bindings/js/JSWorkerContextCustom.cpp:
2529         (WebCore::JSWorkerContext::webSocket):
2530         * bindings/v8/WorkerContextExecutionProxy.cpp:
2531         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
2532         * bindings/v8/custom/V8WebSocketCustom.cpp:
2533         (WebCore::V8Custom::v8WebSocketConstructorCallback):
2534         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2535         * platform/CrossThreadCopier.cpp:
2536         (WebCore::::copy):
2537         * platform/CrossThreadCopier.h:
2538         (WebCore::):
2539         * websockets/ThreadableWebSocketChannel.cpp: Added.
2540         * websockets/ThreadableWebSocketChannel.h: Added.
2541         * websockets/ThreadableWebSocketChannelClientWrapper.h: Added.
2542         * websockets/WebSocket.cpp:
2543         (WebCore::WebSocket::connect):
2544         (WebCore::WebSocket::didReceiveMessage):
2545         * websockets/WebSocket.h:
2546         * websockets/WebSocketChannel.h:
2547         (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
2548         (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
2549         * websockets/WebSocketChannelClient.h:
2550         * websockets/WebSocketHandshake.h:
2551         * websockets/WorkerThreadableWebSocketChannel.cpp: Added.
2552         * websockets/WorkerThreadableWebSocketChannel.h: Added.
2553         * workers/WorkerContext.idl:
2554
2555 2010-01-06  Adam Bergkvist  <adam.bergkvist@ericsson.com>
2556
2557         Reviewed by Darin Adler.
2558
2559         Modified EventSource event-stream parser to support a single CR as line ending.
2560         https://bugs.webkit.org/show_bug.cgi?id=33207
2561
2562         * page/EventSource.cpp:
2563         (WebCore::EventSource::EventSource):
2564         (WebCore::EventSource::parseEventStream):
2565         * page/EventSource.h:
2566
2567 2010-01-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2568
2569         Reviewed by Xan Lopez.
2570
2571         https://bugs.webkit.org/show_bug.cgi?id=30883
2572         [Gtk] Implement AtkText for HTML elements which contain text
2573
2574         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2575         (getInterfaceMaskFromObject):
2576         (getPangoLayoutForAtk):
2577         (webkit_accessible_text_get_text):
2578         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2579         (AccessibilityObject::accessibilityPlatformIncludesObject):
2580
2581 2010-01-06  Dan Bernstein  <mitz@apple.com>
2582
2583         Reviewed by Sam Weinig.
2584
2585         <rdar://problem/7488126> With text-rendering: optimizelegibility, sometimes lines run too long
2586         https://bugs.webkit.org/show_bug.cgi?id=32794
2587
2588         Test: platform/mac/fast/text/line-breaking-with-kerning.html
2589
2590         * rendering/RenderBlockLineLayout.cpp:
2591         (WebCore::RenderBlock::findNextLineBreak): When kerning is enabled, include
2592         the trailing space when measuring a word, then subtract its width. This
2593         accounts for kerning between the last glyph of the word and the following space.
2594
2595 2010-01-06  Kevin Decker  <kdecker@apple.com>
2596
2597         Reviewed by Simon Fraser
2598
2599         Second step of:
2600         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
2601
2602         * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
2603         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2604         (-[WebHostedNetscapePluginView pluginLayer]): Added.
2605         * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
2606         * Plugins/WebNetscapePluginView.mm:
2607         (-[WebNetscapePluginView pluginLayer]): Added.
2608
2609 2010-01-06  Adam Barth  <abarth@webkit.org>
2610
2611         No review, rolling out r52877.
2612         http://trac.webkit.org/changeset/52877
2613         https://bugs.webkit.org/show_bug.cgi?id=33243
2614
2615         I screwed up landing this patch and only partially applied the patch I
2616         was trying to land.
2617
2618         * bindings/ScriptControllerBase.cpp:
2619         * bindings/js/ScriptController.cpp:
2620         (WebCore::ScriptController::executeScriptInWorld):
2621         * bindings/v8/ScriptController.cpp:
2622         (WebCore::ScriptController::ScriptController):
2623         (WebCore::ScriptController::~ScriptController):
2624         (WebCore::ScriptController::updateSecurityOrigin):
2625         (WebCore::ScriptController::evaluateInIsolatedWorld):
2626         (WebCore::ScriptController::haveInterpreter):
2627         (WebCore::ScriptController::mainWorldWindowShell):
2628         (WebCore::ScriptController::clearWindowShell):
2629         (WebCore::ScriptController::clearForClose):
2630         (WebCore::ScriptController::destroyWindowShell):
2631         (WebCore::ScriptController::updateDocument):
2632         * bindings/v8/ScriptController.h:
2633         (WebCore::ScriptController::proxy):
2634         (WebCore::ScriptController::windowShell):
2635         (WebCore::ScriptController::existingWindowShell):
2636         (WebCore::ScriptController::evaluateInWorld):
2637         * bindings/v8/V8DOMWindowShell.cpp:
2638         (WebCore::V8DOMWindowShell::create):
2639         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
2640         (WebCore::V8DOMWindowShell::initContextIfNeeded):
2641
2642 2010-01-06  Eric Seidel  <eric@webkit.org>
2643
2644         Unreviewed.  Rolling back in a change I should not have rolled out.
2645
2646         The original commit http://trac.webkit.org/changeset/52862
2647         was rolled out again in http://trac.webkit.org/changeset/52871
2648         but I now believe that rollout to be in error.
2649         My sincerest apologies for the churn.
2650
2651         Fix the bug in previous commit: we shouldn't finish
2652         decoding if "sizeOnly" is true.
2653         https://bugs.webkit.org/show_bug.cgi?id=33258
2654
2655         * platform/image-decoders/png/PNGImageDecoder.cpp:
2656         (WebCore::PNGImageReader::decode):
2657
2658 2010-01-06  Adam Barth  <abarth@webkit.org>
2659
2660         Reviewed by Eric Seidel.
2661
2662         [v8] Let ScriptController have more than one windowShell
2663         https://bugs.webkit.org/show_bug.cgi?id=33243
2664
2665         This patch lets ScriptController have more than one windowShell.  We're
2666         currently only using one of them (for the main world), but this patch
2667         lets us use other ones for isolated worlds soon.
2668
2669         * bindings/ScriptControllerBase.cpp:
2670         (WebCore::ScriptController::executeScriptInWorld):
2671         * bindings/js/ScriptController.cpp:
2672         * bindings/v8/ScriptController.cpp:
2673         (WebCore::ScriptController::createWorld):
2674         (WebCore::ScriptController::initScript):
2675         (WebCore::ScriptController::ScriptController):
2676         (WebCore::ScriptController::~ScriptController):
2677         (WebCore::ScriptController::updateSecurityOrigin):
2678         (WebCore::ScriptController::evaluateInIsolatedWorld):
2679         (WebCore::ScriptController::evaluateInWorld):
2680         (WebCore::ScriptController::mainWorldWindowShell):
2681         (WebCore::ScriptController::clearWindowShell):
2682         (WebCore::ScriptController::clearForClose):
2683         (WebCore::ScriptController::destroyWindowShell):
2684         (WebCore::ScriptController::updateDocument):
2685         * bindings/v8/ScriptController.h:
2686         (WebCore::ScriptController::windowShell):
2687         (WebCore::ScriptController::existingWindowShell):
2688         (WebCore::ScriptController::globalObject):
2689         (WebCore::ScriptController::proxy):
2690         * bindings/v8/V8DOMWindowShell.cpp:
2691         (WebCore::V8DOMWindowShell::create):
2692         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
2693         (WebCore::V8DOMWindowShell::initContextIfNeeded):
2694         * bindings/v8/V8DOMWindowShell.h:
2695         * bindings/v8/V8DOMWrapper.cpp:
2696         (WebCore::V8DOMWrapper::instantiateV8Object):
2697         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
2698
2699 2010-01-06  Mark Rowe  <mrowe@apple.com>
2700
2701         Fix the Mac build.
2702
2703         * WebCore.base.exp: Export symbols WebKit would like to use.
2704         * plugins/PluginWidget.h:
2705         (WebCore::PluginWidget::PluginWidget): Redeclare a constructor.
2706
2707 2010-01-06  Kevin Decker  <kdecker@apple.com>
2708
2709         Reviewed by Eric Carlson.
2710         
2711         First step toward:
2712         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
2713         
2714         Small refactoring moving the PluginWidget class from WebKit to WebCore.          
2715         * WebCore.xcodeproj/project.pbxproj: Added new source files and a "mac" group; exposes PluginWidget.h as a "Private" role
2716         * platform/Widget.h: Added isPluginWidget(). 
2717         (WebCore::Widget::isPluginWidget):
2718         * plugins/PluginWidget.h: Added.
2719         (WebCore::PluginWidget::isPluginWidget): Added as an interim solution until Mac plug-ins inheirt from PluginView.
2720         * plugins/mac/PluginWidgetMac.mm: Added.
2721         (WebCore::PluginWidget::invalidateRect): Added. Extracted from the old WebKit/FrameLoaderClientMac version of PluginWidget
2722         
2723 2010-01-06  Eric Seidel  <eric@webkit.org>
2724
2725         No review, rolling out r52862.
2726         http://trac.webkit.org/changeset/52862
2727         https://bugs.webkit.org/show_bug.cgi?id=33258
2728
2729         Caused svg/W3C-SVG-1.1/linking-a-01-b.svg to crash on the
2730         Leopard Release builder.
2731
2732         * platform/image-decoders/png/PNGImageDecoder.cpp:
2733         (WebCore::PNGImageReader::decode):
2734
2735 2010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
2736
2737         Not reviewed. Revert the part of my last commit touching Base.xcconfig, was not meant to be commited.
2738
2739         * Configurations/Base.xcconfig:
2740
2741 2010-01-05  Nate Chapin  <japhet@chromium.org>
2742
2743         Reviewed by Dimitri Glazkov.
2744
2745         Generate header declarations for V8 binding security checks
2746         and delete V8CustomBinding.cpp
2747
2748         * Android.v8bindings.mk: Removed V8CustomBinding.cpp.
2749         * WebCore.gypi: Removed V8CustomBinding.cpp.
2750         * bindings/scripts/CodeGeneratorV8.pm: Generate security check declarations.
2751         * bindings/v8/V8DOMWindowShell.cpp:
2752         (WebCore::getTargetFrame): Moved from V8CustomBinding.cpp.
2753         (WebCore::reportUnsafeJavaScriptAccess):
2754         (WebCore::V8DOMWindowShell::createNewContext):
2755         (WebCore::V8DOMWindowShell::setLocation): Moved from V8CustomBinding.cpp.
2756         * bindings/v8/V8DOMWindowShell.h:
2757         * bindings/v8/V8DOMWrapper.cpp:
2758         (WebCore::downcastSVGPathSeg): Moved from V8CustomBinding.cpp.
2759         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
2760         (WebCore::V8DOMWrapper::getTemplate):
2761         * bindings/v8/custom/V8CustomBinding.cpp: Removed.
2762         * bindings/v8/custom/V8CustomBinding.h:
2763         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2764         (WebCore::V8DOMWindow::locationAccessorSetter):
2765         (WebCore::V8DOMWindow::namedSecurityCheck):
2766         (WebCore::V8DOMWindow::indexedSecurityCheck):
2767         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2768         (WebCore::V8Document::locationAccessorSetter):
2769         * bindings/v8/custom/V8HistoryCustom.cpp:
2770         (WebCore::V8History::indexedSecurityCheck):
2771         (WebCore::V8History::namedSecurityCheck):
2772         * bindings/v8/custom/V8LocationCustom.cpp:
2773         (WebCore::V8Location::indexedSecurityCheck):
2774         (WebCore::V8Location::namedSecurityCheck):
2775
2776 2010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
2777
2778         Reviewed by Dirk Schulze.
2779
2780         Marker code is buggy: referencePoint translation is off
2781         https://bugs.webkit.org/show_bug.cgi?id=33012
2782
2783         Rewrite marker code, as it had many issues:
2784         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
2785         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
2786         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
2787         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
2788           can have three different resources of the same type (three markers, start/mid/end markers)
2789
2790         Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.
2791
2792         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
2793         Test: svg/custom/marker-referencePoint.svg
2794               svg/custom/marker-opacity.svg
2795               svg/custom/marker-strokeWidth-changes.svg
2796
2797         * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
2798         * GNUmakefile.am: Ditto.
2799         * WebCore.gypi: Ditto.
2800         * WebCore.pro: Ditto.
2801         * WebCore.vcproj/WebCore.vcproj: Ditto.
2802         * WebCore.xcodeproj/project.pbxproj: Ditto.
2803         * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
2804         (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
2805         * rendering/RenderPath.cpp:
2806         (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
2807         (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
2808         (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
2809         (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
2810         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
2811         * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
2812         (WebCore::RenderPath::path): Inline this accessor.
2813         * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
2814         * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
2815         (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
2816         (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
2817         * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
2818         * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
2819         (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
2820         (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
2821         (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
2822         (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
2823         (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
2824         (WebCore::SVGMarkerData::updateOutslope): Ditto.
2825         (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
2826         (WebCore::SVGMarkerData::updateInslope): Helper method.
2827         * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
2828         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
2829         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
2830         (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
2831         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
2832         (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
2833         (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
2834         * rendering/SVGMarkerLayoutInfo.h: Added.
2835         (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
2836         (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
2837         (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
2838         (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
2839         * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
2840         (WebCore::SVGMarkerElement::~SVGMarkerElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
2841         (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
2842         * svg/SVGSVGElement.cpp:
2843         (WebCore::SVGSVGElement::~SVGSVGElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
2844         * svg/SVGUseElement.cpp: Rework buildPendingResource() to remove SVGSVGElement/SVGMarkerElement detach() hacks (called manually from destructors), see below.
2845         (WebCore::SVGUseElement::buildPendingResource): Always detach() the shadow tree root element, before destructing it - this caused the regression with this patch before.
2846         * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
2847                                         and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
2848                                         ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
2849                                         per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
2850         (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
2851         (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
2852         (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
2853         (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
2854         (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
2855         * svg/graphics/SVGResourceMarker.cpp:
2856         (WebCore::SVGResourceMarker::SVGResourceMarker):
2857         (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
2858         (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
2859         (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
2860         * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
2861         (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
2862         (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
2863         (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().
2864
2865 2010-01-06  Dirk Schulze  <krit@webkit.org>
2866
2867         Reviewed by Nikolas Zimmermann.
2868
2869         SVG feImage support
2870         https://bugs.webkit.org/show_bug.cgi?id=31905
2871
2872         This implements the SVG Filter effect feImage with support of fragment urls.
2873         It also includes a bug fix for feComposite. feComposite didn't cover values
2874         bigger than 255 correctly on composite oeprator arithmetic.
2875
2876         Tests: There are already many feImage tests in trunk. They just needed updated
2877                pixel test results.
2878                The feComposite bug is covered by svg/W3C-SVG-1.1/filters-composite-02-b.svg
2879                and depends on feImage.
2880
2881         * platform/graphics/filters/FEComposite.cpp:
2882         (WebCore::arithmetic):
2883         * rendering/RenderSVGImage.cpp:
2884         (WebCore::RenderSVGImage::paint):
2885         * rendering/RenderSVGImage.h:
2886         * svg/SVGFEImageElement.cpp:
2887         (WebCore::SVGFEImageElement::requestImageResource):
2888         (WebCore::SVGFEImageElement::parseMappedAttribute):
2889         (WebCore::SVGFEImageElement::notifyFinished):
2890         (WebCore::SVGFEImageElement::build):
2891         * svg/SVGFEImageElement.h:
2892         * svg/SVGFEImageElement.idl:
2893         * svg/SVGPreserveAspectRatio.cpp:
2894         (WebCore::SVGPreserveAspectRatio::transformRect):
2895         * svg/SVGPreserveAspectRatio.h:
2896         * svg/graphics/filters/SVGFEImage.cpp:
2897         (WebCore::FEImage::FEImage):
2898         (WebCore::FEImage::create):
2899         (WebCore::FEImage::apply):
2900         * svg/graphics/filters/SVGFEImage.h:
2901
2902 2010-01-06  Yong Li  <yoli@rim.com>
2903
2904         Reviewed by Darin Adler.
2905
2906         Fix the bug in previous commit: we shouldn't finish
2907         decoding if "sizeOnly" is true.
2908         https://bugs.webkit.org/show_bug.cgi?id=33258
2909
2910         * platform/image-decoders/png/PNGImageDecoder.cpp:
2911         (WebCore::PNGImageReader::decode):
2912
2913 2010-01-06  Eric Seidel  <eric@webkit.org>
2914
2915         No review, rolling out r52855.
2916         http://trac.webkit.org/changeset/52855
2917         https://bugs.webkit.org/show_bug.cgi?id=33222
2918
2919         Caused 6 layout tests to fail on Mac
2920
2921         * loader/DocumentLoader.cpp:
2922         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
2923         * loader/MainResourceLoader.cpp:
2924         (WebCore::MainResourceLoader::continueAfterContentPolicy):
2925         * loader/ResourceLoader.cpp:
2926         * loader/ResourceLoader.h:
2927
2928 2010-01-06  Yong Li  <yoli@rim.com>
2929
2930         Reviewed by Darin Adler.
2931
2932         Let ReourceLoader deliver segmented data
2933         when loading resource from a SharedBuffer object.
2934         https://bugs.webkit.org/show_bug.cgi?id=33222
2935
2936         * loader/DocumentLoader.cpp:
2937         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
2938         * loader/MainResourceLoader.cpp:
2939         (WebCore::MainResourceLoader::continueAfterContentPolicy):
2940         * loader/ResourceLoader.cpp:
2941         (WebCore::ResourceLoader::didReceiveData):
2942         * loader/ResourceLoader.h:
2943
2944 2010-01-06  Simon Hausmann  <simon.hausmann@nokia.com>
2945
2946         Unreviewed trivial Qt build fix.
2947
2948         Prefix the phonon includes with phonon/ to avoid conflicts with the S60
2949         audio routing API ( http://wiki.forum.nokia.com/index.php/Audio_Routing_API ).
2950
2951         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2952
2953 2010-01-05  Darin Fisher  <darin@chromium.org>
2954
2955         Reviewed by Adam Barth.
2956
2957         Moving v8::HandleScope up above declaration of v8::Local to fix a
2958         Chromium startup crash.
2959
2960         * bindings/v8/V8Proxy.cpp:
2961         (WebCore::V8Proxy::setContextDebugId):
2962
2963 2010-01-05  Adam Barth  <abarth@webkit.org>
2964
2965         Reviewed by Dimitri Glazkov.
2966
2967         [v8] Move V8DOMWindowShell to ScriptController
2968         https://bugs.webkit.org/show_bug.cgi?id=33232
2969
2970         This patch moves V8DOMWindow shell to ScriptController, where the
2971         window shells live in JSC land.  The next step will be to allow for
2972         more than one window shell per script controller.
2973
2974         * bindings/v8/ScriptController.cpp:
2975         (WebCore::ScriptController::ScriptController):
2976         (WebCore::ScriptController::~ScriptController):
2977         (WebCore::ScriptController::updateSecurityOrigin):
2978         (WebCore::ScriptController::evaluateInIsolatedWorld):
2979         (WebCore::ScriptController::haveInterpreter):
2980         (WebCore::ScriptController::mainWorldWindowShell):
2981         (WebCore::ScriptController::clearWindowShell):
2982         (WebCore::ScriptController::clearForClose):
2983         (WebCore::ScriptController::destroyWindowShell):
2984         (WebCore::ScriptController::updateDocument):
2985         * bindings/v8/ScriptController.h:
2986         * bindings/v8/V8DOMWindowShell.cpp:
2987         (WebCore::V8DOMWindowShell::~V8DOMWindowShell):
2988         * bindings/v8/V8DOMWindowShell.h:
2989         (WebCore::V8DOMWindowShell::localHandleForContext):
2990         * bindings/v8/V8DOMWrapper.cpp:
2991         (WebCore::V8DOMWrapper::instantiateV8Object):
2992         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
2993         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
2994         * bindings/v8/V8IsolatedContext.cpp:
2995         (WebCore::V8IsolatedContext::V8IsolatedContext):
2996         * bindings/v8/V8Proxy.cpp:
2997         (WebCore::V8Proxy::V8Proxy):
2998         (WebCore::V8Proxy::~V8Proxy):
2999         (WebCore::V8Proxy::handleOutOfMemory):
3000         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3001         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
3002         (WebCore::V8Proxy::context):
3003         (WebCore::V8Proxy::mainWorldContext):
3004         (WebCore::V8Proxy::currentContext):
3005         (WebCore::V8Proxy::setContextDebugId):
3006         * bindings/v8/V8Proxy.h:
3007         * bindings/v8/WorldContextHandle.cpp:
3008         (WebCore::WorldContextHandle::adjustedContext):
3009
3010 2010-01-05  Kent Tamura  <tkent@chromium.org>
3011
3012         Reviewed by Maciej Stachowiak.
3013
3014         Implement HTML5 <header> and <footer> elements.
3015         https://bugs.webkit.org/show_bug.cgi?id=32943
3016
3017         <header> and <footer> should behave the same as <nav>, <section>,
3018         <article>, and <aside>. The HTML parser doesn't need to restrict
3019         the nesting of header/footer elements.
3020
3021         Tests: fast/html/footer-element.html
3022                fast/html/header-element.html
3023
3024         * css/html.css: Add header/footer as block elements.
3025         * editing/htmlediting.cpp:
3026         (WebCore::validBlockTag): Add headerTag and footerTag.
3027         * html/HTMLElement.cpp:
3028         (WebCore::HTMLElement::tagPriority): Returns 5 for headerTag and footerTag.
3029         (WebCore::blockTagList): Add headerTag and footerTag.
3030         * html/HTMLParser.cpp:
3031         (WebCore::HTMLParser::handleError): Rename isHeaderTag() to isHeadingTag()
3032         (WebCore::HTMLParser::getNode): Add headerTag and footerTag.
3033         (WebCore::HTMLParser::isHeadingTag): Renamed from isHeaderTag().
3034         * html/HTMLParser.h:
3035           - Rename isHeaderTag() to isHeadingTag()
3036           - Remove non-existing popNestedHeaderTag().
3037         * html/HTMLTagNames.in: Add header and footer.
3038
3039 2010-01-05  Darin Adler  <darin@apple.com>
3040
3041         Reviewed by Dan Bernstein.
3042
3043         CDATA sections are merged into Text nodes when normalize() is used
3044         https://bugs.webkit.org/show_bug.cgi?id=33191
3045
3046         Test: fast/dom/Node/normalize-with-cdata.html
3047
3048         * dom/Node.cpp:
3049         (WebCore::Node::normalize): Use nodeType instead of isTextNode.
3050
3051 2010-01-05  James Robinson  <jamesr@google.com>
3052
3053         Reviewed by Eric Seidel.
3054
3055         Typing in Google Wave repaints the whole screen
3056         https://bugs.webkit.org/show_bug.cgi?id=32295
3057
3058         Marks a RenderBlock without block children for layout and painting when it has no line boxes only if it has inline immediate children.
3059         The existing logic uses the existence of line boxes as a dirty flag to indicate that line boxes need to be regenerated.  This heuristic
3060         fails when the RenderBlock does not have any in-flow children at all, causing the RenderBlock to get unnecessarily marked for layout and
3061         painting.  This is particularly bad for common scrollbar manipulation tricks like putting one positioned div inside another - this
3062         structure caused the entire outer div's bounds to get scheduled for a paint whenever there was any mutation of any descendant.
3063
3064         Test: LayoutTests/fast/repaint/block-no-inline-children.html (only shows up in pixel tests)
3065
3066         * rendering/RenderBlockLineLayout.cpp:
3067         (WebCore::RenderBlock::layoutInlineChildren):
3068
3069 2010-01-05  James Robinson  <jamesr@chromium.org>
3070
3071         Reviewed by David Hyatt.
3072
3073         Cleans up line box clearing when a RenderBlock loses its last child.
3074         https://bugs.webkit.org/show_bug.cgi?id=33228
3075
3076         The 'fullLayout' flag in RenderBlock::layoutInlineChildren() is pretty vague, hopefully this will be easier for the next person to figure out.
3077
3078
3079         No new tests.
3080
3081         * rendering/RenderBlock.cpp:
3082         (WebCore::RenderBlock::removeChild):
3083         * rendering/RenderBlockLineLayout.cpp:
3084         (WebCore::RenderBlock::layoutInlineChildren):
3085
3086 2010-01-05  Alexander Pavlov  <apavlov@chromium.org>
3087
3088         Reviewed by Pavel Feldman.
3089
3090         Provide the "documentURL" property for documents and frame owner elements
3091
3092         This is necessary to determine owner document URLs for nodes (all nodes have
3093         the top-level document set as ownerDocument).
3094         https://bugs.webkit.org/show_bug.cgi?id=33025
3095
3096         * inspector/InspectorDOMAgent.cpp:
3097         (WebCore::InspectorDOMAgent::buildObjectForNode):
3098         * inspector/front-end/DOMAgent.js:
3099         (WebInspector.DOMNode):
3100
3101 2010-01-05  Peter Kasting  <pkasting@google.com>
3102
3103         Reviewed by Adam Barth.
3104
3105         Public GIF decoder should stop decoding when allocation fails
3106         https://bugs.webkit.org/show_bug.cgi?id=33231
3107
3108         * platform/image-decoders/gif/GIFImageDecoder.cpp:
3109         (WebCore::GIFImageDecoder::haveDecodedRow):
3110         * platform/image-decoders/gif/GIFImageDecoder.h:
3111         * platform/image-decoders/gif/GIFImageReader.cpp:
3112         (GIFImageReader::output_row):
3113         (GIFImageReader::do_lzw):
3114         (GIFImageReader::read):
3115         * platform/image-decoders/gif/GIFImageReader.h:
3116
3117 2010-01-05  Yong Li  <yoli@rim.com>
3118
3119         Reviewed by Darin Adler.
3120
3121         Make PNG image decoder work with segmented SharedBuffer
3122         https://bugs.webkit.org/show_bug.cgi?id=33213
3123
3124         * platform/image-decoders/ImageDecoder.cpp:
3125         (WebCore::ImageDecoder::create):
3126         * platform/image-decoders/ImageDecoder.h:
3127         (WebCore::ImageDecoder::ImageDecoder):
3128         (WebCore::ImageDecoder::isAllDataReceived):
3129         (WebCore::ImageDecoder::setData):
3130         * platform/image-decoders/png/PNGImageDecoder.cpp:
3131         (WebCore::PNGImageReader::PNGImageReader):
3132         (WebCore::PNGImageReader::close):
3133         (WebCore::PNGImageReader::currentBufferSize):
3134         (WebCore::PNGImageReader::setComplete):
3135         (WebCore::PNGImageReader::decode):
3136         (WebCore::PNGImageDecoder::decode):
3137         (WebCore::PNGImageDecoder::headerAvailable):
3138         (WebCore::PNGImageDecoder::pngComplete):
3139
3140 2010-01-05  Adam Barth  <abarth@webkit.org>
3141
3142         Rubber stamped by Dimitri Glazkov.
3143
3144         Fix namespace indent for ScriptController.
3145
3146         * bindings/v8/ScriptController.h:
3147         (WebCore::ScriptController::proxy):
3148         (WebCore::ScriptController::windowShell):
3149         (WebCore::ScriptController::existingWindowShell):
3150         (WebCore::ScriptController::xssAuditor):
3151         (WebCore::ScriptController::setProcessingTimerCallback):
3152         (WebCore::ScriptController::setPaused):
3153         (WebCore::ScriptController::isPaused):
3154         (WebCore::ScriptController::sourceURL):
3155         (WebCore::ScriptController::evaluateInWorld):
3156
3157 2010-01-05  Rachel Petterson  <rlp@google.com>
3158
3159         Reviewed by Simon Fraser.
3160
3161         Implement most cases of texImage2D and texSubImage2D
3162         https://bugs.webkit.org/show_bug.cgi?id=31562
3163         
3164         This fix is with Chris Marrin  <cmarrin@apple.com>.
3165         Also bug: https://bugs.webkit.org/show_bug.cgi?id=31493
3166
3167         From Chris:
3168         This implements all cases except HTMLVideoElement. It changes
3169         the bindings to accept all parameter forms of the call. Then
3170         it plumbs the calls through WebGLRenderingContext down to
3171         GraphicsContext3D for the actual implementation.
3172
3173         From Rachel:
3174         This implements texImage2D for chromium. It also implements the V8
3175         bindings for texSubImage2D and updates the V8 bindings for texImage2D.
3176
3177         Tests: fast/canvas/webgl/texImage2DImageDataTest.html
3178                   fast/canvas/webgl/texImageTest.html
3179
3180         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3181         (WebCore::JSWebGLRenderingContext::texImage2D):
3182         (WebCore::JSWebGLRenderingContext::texSubImage2D):
3183         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3184         (WebCore::CALLBACK_FUNC_DECL):
3185         * html/canvas/WebGLRenderingContext.cpp:
3186         (WebCore::WebGLRenderingContext::texImage2D):
3187         (WebCore::WebGLRenderingContext::texSubImage2D):
3188         * html/canvas/WebGLRenderingContext.h:
3189         * html/canvas/WebGLRenderingContext.idl:
3190         * platform/graphics/GraphicsContext3D.h:
3191         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3192         (WebCore::imageToTexture):
3193         (WebCore::GraphicsContext3D::texImage2D):
3194         (WebCore::GraphicsContext3D::texSubImage2D):
3195
3196 2010-01-04  Brian Weinstein  <bweinstein@apple.com>
3197
3198         Reviewed by Tim Hatcher.
3199
3200         Part of <https://bugs.webkit.org/show_bug.cgi?id=32568>.
3201         Web Inspector: Context Menus should be used in more places.
3202         
3203         Add context menus to handle the interaction with breakpoints in the Source Frame. Currently
3204         we use left click to add/disable/remove breakpoints, and left click to edit (for conditional
3205         breakpoints), but this is hard to discover and behaves differently than Xcode.
3206         
3207         Change the behavior to be more like Xcode, left click adds a breakpoint if there isn't one, and
3208         removes it if there is one.
3209         
3210         On the context menu, if there is no breakpoint there, we have Add Breakpoint, and Add Conditional
3211         Breakpoint. If there is a breakpoint there, we add entries for Edit Breakpoint (edit
3212         the condition), Remove Breakpoint, and Enable/Disable Breakpoint (based on the current state).
3213
3214         * English.lproj/localizedStrings.js: Added localized context menu entries.
3215         * inspector/front-end/SourceFrame.js:
3216         (WebInspector.SourceFrame.prototype._documentContextMenu.addAndEditBreakpoint):
3217         (WebInspector.SourceFrame.prototype._documentContextMenu): Added context menu entries and handlers.
3218         (WebInspector.SourceFrame.prototype._documentMouseDown): Changed left click behavior (Add -> Remove).
3219
3220 2010-01-05  Chris Fleizach  <cfleizach@apple.com>
3221
3222         Reviewed by Eric Seidel.
3223
3224         AX: need a way to get the progress of a webpage load
3225         https://bugs.webkit.org/show_bug.cgi?id=33221
3226
3227         Test: platform/mac/accessibility/estimated-progress.html
3228
3229         * accessibility/AccessibilityObject.h:
3230         (WebCore::AccessibilityObject::estimatedLoadingProgress):
3231         * accessibility/AccessibilityRenderObject.cpp:
3232         (WebCore::AccessibilityRenderObject::estimatedLoadingProgress):
3233         * accessibility/AccessibilityRenderObject.h:
3234         * accessibility/mac/AccessibilityObjectWrapper.mm:
3235         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3236         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3237
3238 2010-01-05  Yael Aharon  <yael.aharon@nokia.com>
3239
3240         Reviewed by Kenneth Rohde Christiansen.
3241
3242         [Qt] Drag & drop layout tests fail even when run manually
3243         https://bugs.webkit.org/show_bug.cgi?id=33055
3244
3245         No new tests. Fix 3 layout tests when run manually.
3246         fast/events/drag-and-drop.html
3247         fast/events/drag-and-drop-dataTransfer-types-nocrash.html
3248         fast/events/drag-and-drop-fire-drag-dragover.html
3249         Running these tests in DRT will be fixed in 31332.
3250
3251         * page/qt/DragControllerQt.cpp:
3252         (WebCore::DragController::cleanupAfterSystemDrag):
3253         Cleanup the drag operation if it failed to complete,
3254         Otherwise, new drag operations will not be possible.
3255
3256 2010-01-05  Gustavo Noronha Silva <gns@gnome.org>
3257
3258         Reviewed by Xan Lopez.
3259
3260         Based on idea and original patch by Evan Martin.
3261
3262         Remove libWebCore intermediate library, to improve link time.
3263
3264         [GTK] Build time must be reduced
3265         https://bugs.webkit.org/show_bug.cgi?id=32921
3266
3267         * GNUmakefile.am:
3268
3269 2010-01-05  Nate Chapin  <japhet@chromium.org>
3270
3271         Reviewed by Adam Barth.
3272
3273         Move allowSetting{Frame}SrcToJavascriptUrl from V8Custom to BindingSecurity and
3274         remove the v8-specific pieces.
3275
3276         https://bugs.webkit.org/show_bug.cgi?id=33182
3277
3278         * bindings/BindingSecurity.h:
3279         (WebCore::::allowSettingFrameSrcToJavascriptUrl): Moved from V8CustomBinding.cpp.
3280         (WebCore::::allowSettingSrcToJavascriptURL): Moved from V8CustomBinding.cpp.
3281         * bindings/v8/custom/V8AttrCustom.cpp:
3282         (WebCore::V8Attr::valueAccessorSetter):
3283         * bindings/v8/custom/V8CustomBinding.cpp:
3284         * bindings/v8/custom/V8CustomBinding.h:
3285         * bindings/v8/custom/V8ElementCustom.cpp:
3286         (WebCore::V8Element::setAttributeCallback):
3287         (WebCore::V8Element::setAttributeNodeCallback):
3288         (WebCore::V8Element::setAttributeNSCallback):
3289         (WebCore::V8Element::setAttributeNodeNSCallback):
3290         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
3291         (WebCore::V8HTMLFrameElement::srcAccessorSetter):
3292         (WebCore::V8HTMLFrameElement::locationAccessorSetter):
3293         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
3294         (WebCore::V8HTMLIFrameElement::srcAccessorSetter):
3295
3296 2010-01-05  Adam Barth  <abarth@webkit.org>
3297
3298         Reviewed by Dimitri Glazkov.
3299
3300         [V8] Separate DOMWrapperWorld from V8IsolatedWorld
3301         https://bugs.webkit.org/show_bug.cgi?id=33087
3302
3303         This change separate DOMWrapperWorld and IsolatedWorld from
3304         V8IsolatedWorld.  I've also renamed V8IsolatedWorld to
3305         V8IsolatedContext in preparation for having more than one context in a
3306         single isolated world.
3307
3308         This patch moves us closer to two goals:
3309         1) Matching the structure of the JSC implementation of isolated worlds.
3310         2) Letting scripts running in isolated contexts see into other iframes
3311            (which requires having more than one context in an isolated world.)
3312
3313         * WebCore.gypi:
3314         * bindings/v8/DOMWrapperWorld.cpp: Added.
3315         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
3316         (WebCore::mainThreadNormalWorld):
3317         * bindings/v8/DOMWrapperWorld.h: Added.
3318         (WebCore::DOMWrapperWorld::create):
3319         * bindings/v8/IsolatedWorld.cpp: Added.
3320         (WebCore::IsolatedWorld::IsolatedWorld):
3321         (WebCore::IsolatedWorld::~IsolatedWorld):
3322         * bindings/v8/IsolatedWorld.h: Added.
3323         (WebCore::IsolatedWorld::create):
3324         (WebCore::IsolatedWorld::count):
3325         (WebCore::IsolatedWorld::domDataStore):
3326         * bindings/v8/MainThreadDOMData.cpp:
3327         (WebCore::MainThreadDOMData::getMainThreadStore):
3328         * bindings/v8/ScriptController.cpp:
3329         (WebCore::ScriptController::currentScriptState):
3330         * bindings/v8/ScriptState.cpp:
3331         * bindings/v8/ScriptState.h:
3332         * bindings/v8/V8DOMWindowShell.cpp:
3333         * bindings/v8/V8DOMWrapper.cpp:
3334         (WebCore::V8DOMWrapper::instantiateV8Object):
3335         * bindings/v8/V8IsolatedContext.cpp: Copied from WebCore/bindings/v8/V8IsolatedWorld.cpp.
3336         (WebCore::V8IsolatedContext::contextWeakReferenceCallback):
3337         (WebCore::V8IsolatedContext::V8IsolatedContext):
3338         (WebCore::V8IsolatedContext::destroy):
3339         (WebCore::V8IsolatedContext::~V8IsolatedContext):
3340         (WebCore::V8IsolatedContext::scriptState):
3341         * bindings/v8/V8IsolatedContext.h: Copied from WebCore/bindings/v8/V8IsolatedWorld.h.
3342         (WebCore::V8IsolatedContext::getEntered):
3343         (WebCore::V8IsolatedContext::world):
3344         * bindings/v8/V8IsolatedWorld.cpp: Removed.
3345         * bindings/v8/V8IsolatedWorld.h: Removed.
3346         * bindings/v8/V8Proxy.cpp:
3347         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3348         (WebCore::V8Proxy::context):
3349         * bindings/v8/V8Proxy.h:
3350         * bindings/v8/WorldContextHandle.cpp:
3351         (WebCore::WorldContextHandle::WorldContextHandle):
3352
3353 2010-01-05  Adam Barth  <abarth@webkit.org>
3354
3355         Reviewed by Dimitri Glazkov.
3356
3357         [V8] Move createWindow into generic bindings so it can be shared with JSC
3358         https://bugs.webkit.org/show_bug.cgi?id=33201
3359
3360         This patch moves createWindow from V8-specific code into the generic
3361         bindings so that is can be re-used by the JavaScriptCore bindings.  I
3362         haven't actually moved the JSC bindings over to using this yet.
3363
3364         Also, I organized the generic bindings a bit more as it's becoming
3365         clearer how things are going to shape up.  There are still some
3366         question marks, but hopefully the answers will become clear as we
3367         progress.
3368
3369         * WebCore.gyp/WebCore.gyp:
3370         * WebCore.gypi:
3371         * bindings/generic/BindingDOMWindow.h: Added.
3372         (WebCore::::createWindow):
3373         * bindings/generic/BindingSecurity.h: Renamed from WebCore/bindings/BindingSecurity.h.
3374         (WebCore::BindingSecurity::BindingSecurity):
3375         (WebCore::::canAccessWindow):
3376         (WebCore::::canAccessFrame):
3377         (WebCore::::checkNodeSecurity):
3378         * bindings/generic/BindingSecurityBase.cpp: Renamed from WebCore/bindings/BindingSecurityBase.cpp.
3379         (WebCore::BindingSecurityBase::getDOMWindow):
3380         (WebCore::BindingSecurityBase::getFrame):
3381         (WebCore::BindingSecurityBase::canAccess):
3382         * bindings/generic/BindingSecurityBase.h: Renamed from WebCore/bindings/BindingSecurityBase.h.
3383         * bindings/generic/GenericBinding.h: Renamed from WebCore/bindings/GenericBinding.h.
3384         (WebCore::):
3385         * bindings/v8/V8Binding.h:
3386         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3387         (WebCore::V8DOMWindow::showModalDialogCallback):
3388         (WebCore::V8DOMWindow::openCallback):
3389         * bindings/v8/specialization/V8BindingDOMWindow.h: Added.
3390         (WebCore::V8BindingDOMWindow::storeDialogArgs):
3391         * bindings/v8/specialization/V8BindingState.cpp: Renamed from WebCore/bindings/v8/V8BindingState.cpp.
3392         (WebCore::::Only):
3393         (WebCore::::getActiveWindow):
3394         (WebCore::::immediatelyReportUnsafeAccessTo):
3395         * bindings/v8/specialization/V8BindingState.h: Renamed from WebCore/bindings/v8/V8BindingState.h.
3396         (WebCore::):
3397
3398 2010-01-05  Dominic Mazzoni  <dmazzoni@google.com>
3399
3400         Reviewed by Darin Adler.
3401
3402         https://bugs.webkit.org/show_bug.cgi?id=32571
3403
3404         For an object with an aria role of "checkbox" or "radiobutton",
3405         Use the "aria-checked" attribute to determine if it's checked.
3406
3407         Test: accessibility/aria-checkbox-checked.html
3408
3409         * accessibility/AccessibilityRenderObject.cpp:
3410         (WebCore::AccessibilityRenderObject::isChecked):
3411
3412 2010-01-05  Yong Li  <yoli@rim.com>
3413
3414         Reviewed by Adam Roben.
3415
3416         Fix  build warnings blindly
3417         https://bugs.webkit.org/show_bug.cgi?id=33178
3418
3419         * platform/SharedBuffer.cpp:
3420         * platform/SharedBuffer.h:
3421         (WebCore::SharedBuffer::append):
3422
3423 2010-01-05  Dan Bernstein  <mitz@apple.com>
3424
3425         Build fix
3426
3427         * platform/SharedBuffer.cpp:
3428
3429 2010-01-05  Yong Li  <yong.li@torchmobile.com>
3430
3431         Reviewed by Darin Adler.
3432
3433         Fix an obvious bug and build errors in previous commit (r52795)
3434         https://bugs.webkit.org/show_bug.cgi?id=33178
3435
3436         * platform/SharedBuffer.h:
3437         (WebCore::SharedBuffer::isEmpty):
3438         * platform/cf/SharedBufferCF.cpp:
3439         (WebCore::SharedBuffer::maybeTransferPlatformData):
3440
3441 2010-01-04  Yong Li  <yoli@rim.com>
3442
3443         Reviewed by Darin Adler.
3444
3445         Let SharedBuffer use a group of memory segments internally.
3446         It will merge the segments into a flat consecutive buffer only when
3447         necessary.
3448         https://bugs.webkit.org/show_bug.cgi?id=33178
3449
3450         * platform/SharedBuffer.cpp:
3451         (WebCore::allocateSegment):
3452         (WebCore::freeSegment):
3453         (WebCore::SharedBuffer::SharedBuffer):
3454         (WebCore::SharedBuffer::~SharedBuffer):
3455         (WebCore::SharedBuffer::adoptVector):
3456         (WebCore::SharedBuffer::size):
3457         (WebCore::SharedBuffer::data):
3458         (WebCore::SharedBuffer::append):
3459         (WebCore::SharedBuffer::clear):
3460         (WebCore::SharedBuffer::copy):
3461         (WebCore::SharedBuffer::buffer):
3462         (WebCore::SharedBuffer::getSomeData):
3463         * platform/SharedBuffer.h:
3464         * platform/cf/SharedBufferCF.cpp:
3465         (WebCore::SharedBuffer::maybeTransferPlatformData):
3466         * platform/haiku/SharedBufferHaiku.cpp:
3467         (WebCore::SharedBuffer::createWithContentsOfFile):
3468         * platform/qt/SharedBufferQt.cpp:
3469         (WebCore::SharedBuffer::createWithContentsOfFile):
3470         * platform/win/SharedBufferWin.cpp:
3471         (WebCore::SharedBuffer::createWithContentsOfFile):
3472
3473 2010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
3474
3475         Unreviewed trivial Symbian build fix
3476
3477         * plugins/symbian/PluginViewSymbian.cpp: Add missing HostWindow.h inclusion
3478
3479 2010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
3480
3481         Reviewed by Tor Arne Vestbø.
3482
3483         [Qt] Fix broken export macros in package builds.
3484
3485         https://bugs.webkit.org/show_bug.cgi?id=33202
3486
3487         Always define QT_MAKEDLL unless we're doing a static
3488         build or we're building inside of Qt. When building
3489         inside of Qt the correct define is pulled from qbase.pri.
3490
3491         * WebCore.pro:
3492
3493 2010-01-04  Maciej Stachowiak  <mjs@apple.com>
3494
3495         Reviewed by Darin Fisher.
3496
3497         Reorganize, document and rename OS() platform macros.
3498         https://bugs.webkit.org/show_bug.cgi?id=33198
3499
3500         Adapt to name changes. Also fixed a few incorrect OS checks.
3501
3502         * accessibility/AccessibilityObject.h:
3503         * config.h:
3504         * dom/SelectElement.cpp:
3505         (WebCore::SelectElement::listBoxDefaultEventHandler):
3506         * inspector/InspectorFrontendHost.cpp:
3507         (WebCore::InspectorFrontendHost::platform):
3508         * loader/CachedFont.cpp:
3509         * loader/FTPDirectoryDocument.cpp:
3510         * loader/FTPDirectoryParser.cpp:
3511         * page/EventHandler.cpp:
3512         * page/Frame.cpp:
3513         (WebCore::Frame::setUseSecureKeyboardEntry):
3514         * page/NavigatorBase.cpp:
3515         (WebCore::NavigatorBase::platform):
3516         * page/Page.h:
3517         * page/Settings.cpp:
3518         (WebCore::Settings::Settings):
3519         * page/Settings.h:
3520         * page/chromium/DragControllerChromium.cpp:
3521         (WebCore::DragController::isCopyKeyDown):
3522         * page/chromium/EventHandlerChromium.cpp:
3523         (WebCore::EventHandler::accessKeyModifiers):
3524         * page/win/EventHandlerWin.cpp:
3525         (WebCore::EventHandler::createDraggingClipboard):
3526         * platform/FileSystem.h:
3527         * platform/KeyboardCodes.h:
3528         * platform/PurgeableBuffer.h:
3529         * platform/chromium/ChromiumBridge.h:
3530         * platform/chromium/ClipboardChromium.cpp:
3531         (WebCore::ClipboardChromium::writeRange):
3532         * platform/chromium/ClipboardUtilitiesChromium.cpp:
3533         * platform/chromium/ClipboardUtilitiesChromium.h:
3534         * platform/chromium/PasteboardChromium.cpp:
3535         (WebCore::Pasteboard::writeSelection):
3536         (WebCore::Pasteboard::writePlainText):
3537         (WebCore::Pasteboard::documentFragment):
3538         * platform/chromium/PlatformKeyboardEventChromium.cpp:
3539         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
3540         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
3541         * platform/chromium/PopupMenuChromium.cpp:
3542         (WebCore::PopupListBox::layout):
3543         (WebCore::PopupMenu::show):
3544         * platform/graphics/BitmapImage.h:
3545         (WebCore::BitmapImage::mayFillWithSolidColor):
3546         * platform/graphics/FloatPoint.h:
3547         * platform/graphics/FloatRect.h:
3548         * platform/graphics/FloatSize.h:
3549         * platform/graphics/FontCache.cpp:
3550         (WebCore::alternateFamilyName):
3551         * platform/graphics/FontCache.h:
3552         * platform/graphics/FontFastPath.cpp:
3553         (WebCore::Font::glyphDataForCharacter):
3554         * platform/graphics/GlyphBuffer.h:
3555         (WebCore::GlyphBuffer::advanceAt):
3556         (WebCore::GlyphBuffer::add):
3557         * platform/graphics/Gradient.h:
3558         * platform/graphics/GraphicsContext.cpp:
3559         * platform/graphics/GraphicsContext.h:
3560         * platform/graphics/GraphicsContext3D.h:
3561         * platform/graphics/ImageSource.h:
3562         * platform/graphics/IntRect.h:
3563         * platform/graphics/MediaPlayer.cpp:
3564         * platform/graphics/Path.h:
3565         * platform/graphics/Pattern.h:
3566         * platform/graphics/SimpleFontData.h:
3567         * platform/graphics/cg/ColorCG.cpp:
3568         * platform/graphics/cg/GraphicsContextCG.cpp:
3569         * platform/graphics/chromium/FontCustomPlatformData.cpp:
3570         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
3571         (WebCore::FontCustomPlatformData::fontPlatformData):
3572         (WebCore::createFontCustomPlatformData):
3573         * platform/graphics/chromium/FontCustomPlatformData.h:
3574         * platform/graphics/chromium/FontPlatformData.h:
3575         * platform/graphics/opentype/OpenTypeUtilities.cpp: