42cf9e878e5e24805849abd3b54e28ee024fabd3
[WebKit-https.git] / WebCore / ChangeLog
1 2011-01-01  Adam Barth  <abarth@webkit.org>
2
3         Remove empty files.
4
5         * GNUmakefile.am:
6         * WebCore.gypi:
7         * WebCore.vcproj/WebCore.vcproj:
8         * WebCore.xcodeproj/project.pbxproj:
9         * bindings/generic/BindingFrame.h: Removed.
10         * bindings/generic/BindingLocation.h: Removed.
11
12 2011-01-01  Konstantin Tokarev  <annulen@yandex.ru>
13
14         Reviewed by Darin Adler.
15
16         Don't include Inspector headers when Inspector is disabled
17         https://bugs.webkit.org/show_bug.cgi?id=51789
18
19         * bindings/js/JSDOMWindowBase.cpp: Include Inspector headers when
20         Inspector is enabled
21         * dom/Document.cpp: Include Inspector headers when
22         Inspector is enabled
23         (WebCore::Document::recalcStyle): Disabled InspectorInstrumentationCookie
24         handling
25         * html/HTMLDocument.cpp: Include Inspector headers when
26         Inspector is enabled
27         * loader/FrameLoader.cpp: Include Inspector headers when
28         Inspector is enabled
29         * loader/ResourceLoadNotifier.cpp: Include Inspector headers when
30         Inspector is enabled
31         * page/Chrome.cpp: Include Inspector headers when
32         Inspector is enabled
33         * page/Console.cpp: Include Inspector headers when
34         Inspector is enabled
35         * page/ContextMenuController.cpp: Include Inspector headers when
36         Inspector is enabled
37         * page/DOMWindow.cpp: Include Inspector headers when
38         Inspector is enabled
39         (WebCore::DOMWindow::dispatchEvent): Disabled InspectorInstrumentationCookie
40         handling
41         * page/EventHandler.cpp: Include Inspector headers when
42         Inspector is enabled
43         * page/Page.cpp: Include Inspector headers when
44         Inspector is enabled
45         * storage/Database.cpp: Include Inspector headers when
46         Inspector is enabled
47         * workers/AbstractWorker.cpp: Include Inspector headers when
48         Inspector is enabled
49         * workers/DefaultSharedWorkerRepository.cpp: Include Inspector headers when
50         Inspector is enabled
51         * workers/SharedWorker.cpp: Include Inspector headers when
52         Inspector is enabled
53         * workers/Worker.cpp: Include Inspector headers when
54         Inspector is enabled
55         * workers/WorkerContext.cpp: Include Inspector headers when
56         Inspector is enabled
57         * workers/WorkerMessagingProxy.cpp: Include Inspector headers when
58         Inspector is enabled
59         * xml/XMLHttpRequest.cpp: Include Inspector headers when
60         Inspector is enabled
61         (WebCore::XMLHttpRequest::callReadyStateChangeListener): Disabled
62         InspectorInstrumentationCookie handling
63
64 2010-12-31  Adam Barth  <abarth@webkit.org>
65
66         Reviewed by Darin Adler.
67
68         fast/loader/about-blank-hash-change.html fails on Chromium
69         https://bugs.webkit.org/show_bug.cgi?id=51788
70
71         I'm unable to reproduce the failure locally, so this patch is slightly
72         speculative.  We need to be slighly more careful how we compare the
73         fragment identifiers for Chromium because Chromium uses a URL parser
74         that is more agressive about canonicalization.
75
76         * page/Location.cpp:
77         (WebCore::Location::setHash):
78
79 2010-12-31  Martin Robinson  <mrobinson@igalia.com>
80
81         Reviewed by Xan Lopez.
82
83         [GTK] Use GLib/GIO API for FileSystemGtk implementation
84         https://bugs.webkit.org/show_bug.cgi?id=51617
85
86         Complete implementation of FileSystem platform code for GLib. This
87         converts remaining API points using POSIX calls to platform-independent
88         GLib calls and fixes other compilation errors.
89
90         No new tests. This code will be tested when an implementation
91         of beginDragWithFiles is complete.
92
93         (WebCore::JSDirectoryEntry::getFile):
94         (WebCore::JSDirectoryEntry::getDirectory):
95         * platform/FileSystem.h: Added forward declarations for GLib types to
96         avoid GLib includes and changed the PlatformFileHandle to be a GIOStream.
97         * platform/gtk/FileSystemGtk.cpp:
98         (WebCore::openTemporaryFile): Reimplement using only GLib calls.
99         (WebCore::openFile): Ditto.
100         (WebCore::closeFile): Ditto.
101         (WebCore::seekFile): Added implementation.
102         (WebCore::writeToFile): Reimplement using only GLib calls.
103         (WebCore::readFromFile): Ditto.
104
105 2010-12-31  Darin Adler  <darin@apple.com>
106
107         Reviewed by Dan Bernstein.
108
109         Some renaming and refactoring of form element code
110         https://bugs.webkit.org/show_bug.cgi?id=51784
111
112         * bindings/js/JSHTMLSelectElementCustom.cpp:
113         (WebCore::JSHTMLSelectElement::remove): Call new overload of remove
114         for option elements instead of putting the logic in the binding.
115
116         * html/HTMLButtonElement.cpp:
117         (WebCore::HTMLButtonElement::HTMLButtonElement): Updated for name changes.
118         (WebCore::HTMLButtonElement::defaultEventHandler): Renamed argument to
119         "event" instead of "evt". Also updated for name changes.
120         (WebCore::HTMLButtonElement::isActivatedSubmit): Ditto.
121         (WebCore::HTMLButtonElement::setActivatedSubmit): Ditto.
122         (WebCore::HTMLButtonElement::appendFormData): Ditto.
123         * html/HTMLButtonElement.h: Renamed m_activeSubmit to m_isActivatedSubmit
124         to match the getter function name. The name still doesn't seem great.
125
126         * html/HTMLFormElement.cpp:
127         (WebCore::HTMLFormElement::HTMLFormElement): Updated for name changes.
128         (WebCore::HTMLFormElement::~HTMLFormElement): Use autoComplete function
129         instead of m_autocomplete data member.
130         (WebCore::HTMLFormElement::rendererIsNeeded): Use m_wasDemoted data member
131         instead of otherwise-unused isDemoted function.
132         (WebCore::HTMLFormElement::submitImplicitly): Updated for name changes.
133         (WebCore::HTMLFormElement::validateInteractively): Removed code to clear
134         m_insubmit. This is now handled by the caller, prepareForSubmission.
135         (WebCore::HTMLFormElement::prepareForSubmission): Renamed. Updated for
136         name changes. Moved code to clear m_isSubmittingOrPreparingForSubmission
137         here from validateInteractively. Removed unneeded check of m_doingsubmit
138         boolean before setting it.
139         (WebCore::HTMLFormElement::submit): Factored this function into two.
140         One for JavaScript and one for non-JavaScript. Neither function needs a frame
141         argument, because the question being asked, anyPageIsProcessingUserGesture,
142         is a question asked of an entire page group, not a specific frame or page,
143         so it's not important which is the active frame.
144         (WebCore::HTMLFormElement::submitFromJavaScript): Ditto.
145         (WebCore::HTMLFormElement::reset): Updated for name changes.
146         (WebCore::HTMLFormElement::parseMappedAttribute): Removed code to parse
147         acceptAttr and got rid of code to set m_autocomplete.
148         (WebCore::HTMLFormElement::elementForAlias): Changed return type to a raw
149         pointer.
150         (WebCore::HTMLFormElement::getNamedElements): Updated to use raw pointer
151         and the vector find function. Added a FIXME about the comment.
152         (WebCore::HTMLFormElement::documentDidBecomeActive): Use autoComplete
153         function instead of m_autocomplete data member.
154         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Ditto.
155         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
156         (WebCore::HTMLFormElement::autoComplete): Ditto.
157         * html/HTMLFormElement.h: Added a FIXME about renaming the autoComplete
158         function. Renamed prepareSubmit to prepareForSubmission. Got rid of the
159         frame argument from the submit function and added a new submitFromJavaScript
160         variant. Removed the unneeded isDemoted function. Changed the return type
161         of elementForAlias to a raw pointer. Removed m_autocomplete. Renamed
162         m_insubmit to m_isSubmittingOrPreparingForSubmission, m_doingsubmit to
163         m_shouldSubmit, m_inreset to m_inResetFunction, m_malformed to m_wasMalformed,
164         m_demoted to m_wasDemoted. Use plain bool instead of bitfields.
165
166         * html/HTMLFormElement.idl: Use the function named submitFromJavaScript
167         instead of using CallWith=DynamicFrame because we don't need to know
168         what frame is calling. If we did, it's not clear that the "dynamic"
169         frame would be the right one anyway.
170
171         * html/HTMLSelectElement.cpp:
172         (WebCore::HTMLSelectElement::remove): Added an overload that takes an option
173         element, since the JavaScript binding supports this.
174         * html/HTMLSelectElement.h: Ditto.
175
176         * html/ImageInputType.cpp:
177         (WebCore::ImageInputType::handleDOMActivateEvent): Updated for name changes.
178         * html/ImageInputType.h: Ditto.
179         * html/SubmitInputType.cpp:
180         (WebCore::SubmitInputType::handleDOMActivateEvent): Ditto.
181
182 2010-12-31  Daniel Bates  <dbates@rim.com>
183
184         Reviewed by Darin Adler.
185
186         Pass style for <area> instead of associated <img> when querying whether
187         the theme draws the focus ring for an <area>
188         https://bugs.webkit.org/show_bug.cgi?id=51632
189
190         Fixes an issue where the style for the associated <img> of an <area>
191         was passed when considering whether the theme should draw a focus ring
192         for the <area>. Instead, we should pass the theme the style for the <area>.
193
194         It's not possible to test this at this time since there are no themes
195         that override focus ring drawing for <area>s.
196
197         * rendering/RenderImage.cpp:
198         (WebCore::RenderImage::paintFocusRing): Moved call to RenderTheme::supportsFocusRing()
199         such that it's called with respect to the focused <area>.
200
201 2010-12-31  Darin Adler  <darin@apple.com>
202
203         * WebCore.xcodeproj/project.pbxproj: Added back the language.
204         Developers should be using Xcode 3.2.5 or newer.
205
206 2010-12-31  Adam Barth  <abarth@webkit.org>
207
208         Reviewed by Eric Seidel.
209
210         Move V8 to WebCore Location implementation
211         https://bugs.webkit.org/show_bug.cgi?id=51768
212
213         * bindings/generic/BindingFrame.h:
214         * bindings/generic/BindingLocation.h:
215         * bindings/v8/V8Binding.h:
216         * bindings/v8/V8DOMWindowShell.cpp:
217         (WebCore::V8DOMWindowShell::setLocation):
218         * bindings/v8/V8Utilities.cpp:
219         * bindings/v8/V8Utilities.h:
220         * bindings/v8/custom/V8LocationCustom.cpp:
221         (WebCore::V8Location::hashAccessorSetter):
222         (WebCore::V8Location::hostAccessorSetter):
223         (WebCore::V8Location::hostnameAccessorSetter):
224         (WebCore::V8Location::hrefAccessorSetter):
225         (WebCore::V8Location::pathnameAccessorSetter):
226         (WebCore::V8Location::portAccessorSetter):
227         (WebCore::V8Location::protocolAccessorSetter):
228         (WebCore::V8Location::searchAccessorSetter):
229         (WebCore::V8Location::reloadCallback):
230         (WebCore::V8Location::replaceCallback):
231         (WebCore::V8Location::assignCallback):
232
233 2010-12-31  Yi Shen  <yi.4.shen@nokia.com>
234
235         Reviewed by Eric Seidel.
236
237         Make retrieving extraMediaControlsStyleSheet be page dependent.
238         https://bugs.webkit.org/show_bug.cgi?id=51752
239
240         Use themeForPage to retrieve extraMediaControlsStyleSheet for media
241         controls.
242
243         No new tests because no platform-specific theme implementation uses
244         the passed page pointer yet.
245
246         * css/CSSStyleSelector.cpp:
247         (WebCore::CSSStyleSelector::styleForElement):
248
249 2010-12-31  Ilya Tikhonovsky  <loislo@chromium.org>
250
251         Reviewed by Pavel Feldman.
252
253         Web Inspector: [REGRESSION] WebInspector.ResourcesPanel.prototype.canShowSourceLine() broken.
254
255         https://bugs.webkit.org/show_bug.cgi?id=51709
256
257         * inspector/front-end/ResourcesPanel.js:
258         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
259
260 2010-12-31  Patrick Gansterer  <paroga@webkit.org>
261
262         Unreviewed build fix after r74800.
263
264         * bindings/js/JSDOMWindowCustom.cpp: Add missing header.
265         * bindings/js/JSLocationCustom.cpp: Ditto.
266
267 2010-12-31  Adam Barth  <abarth@webkit.org>
268
269         Rubber-stamped by Eric Seidel.
270
271         Move HTML and XML parser benchmarks into PerformanceTests/Parser
272         https://bugs.webkit.org/show_bug.cgi?id=51772
273
274         Remove the benchmarks folder now that it's empty.  Future benchmarks
275         should go in the PerformanceTests directory.
276
277         * benchmarks: Removed.
278         * benchmarks/parser: Removed.
279         * benchmarks/parser/html-parser.html: Removed.
280         * benchmarks/parser/resources: Removed.
281         * benchmarks/parser/resources/html5.html: Removed.
282         * benchmarks/parser/resources/runner.js: Removed.
283         * benchmarks/parser/xml-parser.html: Removed.
284
285 2010-12-31  Patrick Gansterer  <paroga@webkit.org>
286
287         Reviewed by Adam Barth.
288
289         Add XML parser benchmark
290         https://bugs.webkit.org/show_bug.cgi?id=51612
291
292         Move the JavaScript code of html parser into a separate file to share it with xml parser.
293
294         * benchmarks/parser/html-parser.html:
295         * benchmarks/parser/resources/runner.js: Copied from WebCore/benchmarks/parser/html-parser.html.
296         (runFunction):
297         (run):
298         (start):
299         * benchmarks/parser/xml-parser.html: Copied from WebCore/benchmarks/parser/html-parser.html.
300
301 2010-12-29  Zhenyao Mo  <zmo@google.com>
302
303         Reviewed by Kenneth Russell.
304
305         Update validation of stencil mask and ref values
306         https://bugs.webkit.org/show_bug.cgi?id=50716
307
308         * html/canvas/WebGLRenderingContext.cpp:
309         (WebCore::WebGLRenderingContext::initializeNewContext): Initialize cached stencil settings.
310         (WebCore::WebGLRenderingContext::drawArrays): Validate stencil settings.
311         (WebCore::WebGLRenderingContext::drawElements): Ditto.
312         (WebCore::WebGLRenderingContext::stencilFunc): Cache stencil settings, but generate no error.
313         (WebCore::WebGLRenderingContext::stencilFuncSeparate): Ditto.
314         (WebCore::WebGLRenderingContext::stencilMask): Ditto.
315         (WebCore::WebGLRenderingContext::stencilMaskSeparate): Ditto.
316         (WebCore::WebGLRenderingContext::validateStencilSettings): Helper function to validate stencil settings.
317         * html/canvas/WebGLRenderingContext.h: Declare stencil setting members.
318
319 2010-12-30  Martin Robinson  <mrobinson@igalia.com>
320
321         Reviewed by Xan Lopez.
322
323         [GTK] Fork pieces of RenderThemeGtk that will differ for GTK+ 3
324         https://bugs.webkit.org/show_bug.cgi?id=51755
325
326         Split out pieces of RenderThemeGtk into RenderThemeGtk2 and RenderThemeGtk3
327         if they are going to differ between GTK+ 2.x and GTK+ 3.x. This is the preliminary
328         step to landing support for the new GTK+ 3.x theming API.
329
330         No new tests. This should not change functionality.
331
332         * GNUmakefile.am: Add RenderThemeGtk2 and RenderThemeGtk3 to the sources list.
333         * platform/gtk/RenderThemeGtk.cpp:
334         (WebCore::RenderThemeGtk::adjustTextFieldStyle): Call the setTextInputBorders static method.
335         (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
336         (WebCore::RenderThemeGtk::paintMediaButton): Ditto.
337         (WebCore::RenderThemeGtk::adjustProgressBarStyle): ditto.
338         * platform/gtk/RenderThemeGtk.h: Make setTextInputBorders a method, so that
339         it can be exist in RenderThemeGtk{2,3} and be called from RenderThemeGtk.
340         * platform/gtk/RenderThemeGtk2.cpp: Added. A fork of the bits of RenderThemeGtk
341         that will eventually be platform-dependent.
342         * platform/gtk/RenderThemeGtk3.cpp: Added. Ditto.
343
344 2010-12-30  Justin Schuh  <jschuh@chromium.org>
345
346         Reviewed by James Robinson.
347
348         Reverting r74292 because it introduced a crash with ruby text.
349         https://bugs.webkit.org/show_bug.cgi?id=51637
350
351         Test: fast/css/counters/counter-ruby-text-cleared.html
352
353         * rendering/RenderCounter.cpp:
354         (WebCore::findPlaceForCounter):
355         * rendering/RenderObject.cpp:
356         (WebCore::RenderObject::addChild):
357         * rendering/RenderObjectChildList.cpp:
358         (WebCore::RenderObjectChildList::appendChildNode):
359         (WebCore::RenderObjectChildList::insertChildNode):
360
361 2010-12-30  Darin Adler  <darin@apple.com>
362
363         Reviewed by David Kilzer.
364
365         Remove unused JSBinding source files
366         https://bugs.webkit.org/show_bug.cgi?id=51762
367
368         * bindings/js/JSBinding.h: Removed.
369         * bindings/js/specialization: Removed.
370         * bindings/js/specialization/JSBindingState.cpp: Removed.
371         * bindings/js/specialization/JSBindingState.h: Removed.
372
373         * CMakeLists.txt: Removed references to files.
374         * GNUmakefile.am: Ditto.
375         * WebCore.gypi: Ditto.
376         * WebCore.pro: Ditto.
377         * WebCore.vcproj/WebCore.vcproj: Ditto.
378         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
379
380 2010-12-30  Tony Gentilcore  <tonyg@chromium.org>
381
382         Reviewed by Darin Adler.
383
384         Remove Document.h include from some headers where it isn't necessary
385         https://bugs.webkit.org/show_bug.cgi?id=51730
386
387         No new tests because no new functionality.
388
389         * editing/EditingStyle.cpp:
390         * editing/EditingStyle.h:
391         * editing/SelectionController.h:
392         * editing/visible_units.h:
393         * html/HTMLAudioElement.h:
394         * html/HTMLBodyElement.h:
395         * inspector/InspectorCSSAgent.h:
396         * inspector/InspectorDOMAgent.h:
397         * inspector/InspectorInstrumentation.h:
398         * xml/DOMParser.cpp:
399         * xml/DOMParser.h:
400         (WebCore::DOMParser::create):
401         (WebCore::DOMParser::DOMParser):
402
403 2010-12-30  Benjamin C Meyer  <bmeyer@rim.com>
404
405         Reviewed by Darin Adler.
406
407         bindings/js/JSDesktopNotificationsCustom.cpp is not included in the cmake build
408         which is required when NOTIFICATIONS is enabled.
409
410         https://bugs.webkit.org/show_bug.cgi?id=51761
411
412         * CMakeLists.txt:
413
414 2010-12-30  Antti Koivisto  <antti@apple.com>
415
416         Not reviewed.
417
418         Revert accidental project file change.
419
420         * WebCore.xcodeproj/project.pbxproj:
421
422 2010-12-30  Antti Koivisto  <antti@apple.com>
423
424         Reviewed by Darin Adler.
425
426         https://bugs.webkit.org/show_bug.cgi?id=51134
427         Move loading related code from MemoryCache to CachedResourceLoader
428
429         - Merge MemoryCache::requestResource to CachedResourceLoader::requestResource
430         - Merge MemoryCache::requestUserCSSStyleSheet to CachedResourceLoader::requestUserCSSStyleSheet
431         - Move MemoryCache::revalidateResource to CachedResourceLoader::revalidateResource
432         - Add MemoryCache::add
433         - Refactor the decision on whether to reload, revalidate or use the existing resource to 
434           a single function, CachedResourceLoader::determineRevalidationPolicy
435
436         * css/CSSImageValue.cpp:
437         (WebCore::CSSImageValue::cachedImage):
438             
439             Remove a code path that called MemoryCache::requestResource directly. This code path would have crashed
440             if ever taken (since it passes null CachedResourceLoader pointer).
441             
442         * loader/ImageLoader.cpp:
443         (WebCore::ImageLoader::updateFromElement):
444         * loader/cache/CachedImage.cpp:
445         * loader/cache/CachedResource.cpp:
446         (WebCore::CachedResource::CachedResource):
447         (WebCore::CachedResource::~CachedResource):
448         (WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
449         
450             Moved tests that were not about cache headers to CachedResourceLoader::determineRevalidationPolicy and renamed.
451         
452         (WebCore::CachedResource::setLoadPriority):
453         
454             Check for Unresolved value before setting.
455         
456         * loader/cache/CachedResource.h:
457         (WebCore::CachedResource::setOwningCachedResourceLoader):
458         
459             Rename to be bit less mysterious.
460         
461         * loader/cache/CachedResourceLoader.cpp:
462         (WebCore::createResource):
463         
464             This was moved from MemoryCache.
465         
466         (WebCore::CachedResourceLoader::~CachedResourceLoader):
467         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
468         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
469         
470             This was moved/merged from MemoryCache.
471         
472         (WebCore::CachedResourceLoader::canRequest):
473         (WebCore::CachedResourceLoader::requestResource):
474         
475             This combines MemoryCache::requestResource and the existing method.
476         
477         (WebCore::CachedResourceLoader::revalidateResource):
478         
479             This was moved from MemoryCache.
480         
481         (WebCore::CachedResourceLoader::loadResource):
482         
483             New method for initiating loading.
484         
485         (WebCore::CachedResourceLoader::notifyLoadedFromMemoryCache):
486         
487             Renamed the mysterious CachedResourceLoader::checkCacheObjectStatus
488         
489         * loader/cache/CachedResourceLoader.h:
490         * loader/cache/MemoryCache.cpp:
491         (WebCore::MemoryCache::add):
492         * loader/cache/MemoryCache.h:
493         (WebCore::MemoryCache::remove):
494
495 2010-12-30  Steve Block  <steveblock@google.com>
496
497         Reviewed by Gavin Barraclough.
498
499         Enable JSC Rich Source Info for Android even when Inspector and Debugger are disabled
500         https://bugs.webkit.org/show_bug.cgi?id=51740
501
502         This is a policy decision for Android.
503
504         No new tests, simply enabling existing, tested code on Android.
505
506         * bindings/js/JSDOMWindowBase.cpp:
507         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
508
509 2010-12-30  Yael Aharon  <yael.aharon@nokia.com>
510
511         Reviewed by Adam Barth.
512
513         REGRESSION: fast/dom/cssTarget-crash.html fails
514         https://bugs.webkit.org/show_bug.cgi?id=20342
515
516         Do not reload the page when submitting a form, using "GET" method, and the
517         form action url matches the location url, except for the fragment.
518       
519         Test: fast/forms/submit-change-fragment.html
520
521         * loader/FrameLoader.cpp:
522         (WebCore::FrameLoader::loadURL):
523         (WebCore::FrameLoader::loadWithDocumentLoader):
524         (WebCore::FrameLoader::shouldScrollToAnchor):
525         * loader/FrameLoader.h:
526
527 2010-12-30  Darin Adler  <darin@apple.com>
528
529         Reviewed by Adam Barth.
530
531         Move security logic out of the JavaScript binding for location into the DOM class
532         https://bugs.webkit.org/show_bug.cgi?id=51714
533
534         * WebCore.xcodeproj/project.pbxproj: Removed JSBindingState.cpp, JSBindingState.h,
535         and JSBinding.h. Later, we'll remove them from other project files and delete
536         the source files.
537
538         * bindings/js/JSBinding.h: Emptied out, marked for later deletion.
539
540         * bindings/js/JSDOMBinding.cpp: Removed unused overload of the jsOwnedStringOrNull
541         function, unused shouldAllowNavigation function, unused allowSettingSrcToJavascriptURL
542         function, unused toLexicalFrame function, unused completeURL function, unused
543         getCachedDOMStructure and cacheDOMStructure overloads, and unused
544         getCachedDOMConstructor and cacheDOMConstruction functions.
545         (WebCore::activeDOMWindow): Added.
546         (WebCore::firstDOMWindow): Added.
547         (WebCore::toDynamicFrame): Changed to use firstDOMWindow instead of calling through
548         JSBindingState, since the latter is an unneeded abstraction.
549         (WebCore::processingUserGesture): Changed to call ScriptController's function
550         rather than calling through JSBindingState, which is an unneeded abstraction
551
552         * bindings/js/JSDOMBinding.h: Removed the functions mentioned above. Added
553         activeDOMWindow and firstDOMWindow. Also added a FIXME for the extremely poorly
554         named allowsAccessFromFrame functions, which answer the question of whether
555         script is allowed access *to* a frame.
556
557         * bindings/js/JSDOMWindowCustom.cpp: Removed many unneeded includes.
558         (WebCore::JSDOMWindow::setLocation): Streamlined by using the new
559         activeDOMWindow and firstDOMWindow functions.
560         (WebCore::JSDOMWindow::open): Ditto.
561         (WebCore::JSDOMWindow::showModalDialog): Ditto.
562         (WebCore::JSDOMWindow::postMessage): Ditto.
563
564         * bindings/js/JSLocationCustom.cpp:
565         (WebCore::JSLocation::setHref): Changed to pass the active and first windows through
566         to the Location::setHref function, with it doing the rest of the work. This moves
567         work out of the DOM binding that belongs in the DOM itself. Eventually such functions
568         could even be automatically generated by the bindings script.
569         (WebCore::JSLocation::setProtocol): Ditto.
570         (WebCore::JSLocation::setHost): Ditto.
571         (WebCore::JSLocation::setHostname): Ditto.
572         (WebCore::JSLocation::setPort): Ditto.
573         (WebCore::JSLocation::setPathname): Ditto.
574         (WebCore::JSLocation::setSearch): Ditto.
575         (WebCore::JSLocation::setHash): Ditto.
576         (WebCore::JSLocation::replace): Ditto.
577         (WebCore::JSLocation::reload): Ditto.
578         (WebCore::JSLocation::assign): Ditto.
579
580         * bindings/js/specialization/JSBindingState.cpp: Emptied out, marked for later deletion.
581         * bindings/js/specialization/JSBindingState.h: Emptied out, marked for later deletion.
582
583         * page/DOMWindow.cpp:
584         (WebCore::DOMWindow::setLocation): Added a SetLocationLocking argument that allows us
585         to use this function for Location::replace, which is the same as setLocation except that
586         it locks both history and the back/forward list.
587         * page/DOMWindow.h: Ditto.
588
589         * page/Location.cpp:
590         (WebCore::Location::setHref): Added. Uses DOMWindow::setLocation so that the security
591         logic there does not have to be repeated or even refactored.
592         (WebCore::Location::setProtocol): Ditto.
593         (WebCore::Location::setHost): Ditto.
594         (WebCore::Location::setHostname): Ditto.
595         (WebCore::Location::setPort): Ditto.
596         (WebCore::Location::setPathname): Ditto.
597         (WebCore::Location::setSearch): Ditto.
598         (WebCore::Location::setHash): Ditto.
599         (WebCore::Location::assign): Ditto.
600         (WebCore::Location::replace): Ditto.
601         (WebCore::Location::reload): Added. Security logic was refactored from the code in
602         JSLocationCustom.cpp. Added a FIXME about the fact that this security logic seems
603         possibly unneeded.
604
605         * page/Location.h: Fixed indentation on the whole file. Added the new functions above.
606         (WebCore::Location::create):
607         (WebCore::Location::frame):
608
609 2010-12-30  Alexander Pavlov  <apavlov@chromium.org>
610
611         Reviewed by Pavel Feldman.
612
613         Web Inspector: Pasting a style property with value should automatically split it into prop/value
614         https://bugs.webkit.org/show_bug.cgi?id=51581
615
616         The "paste" DOM event is handled for the CSS property name field to parse out the name and value parts
617         of a CSS property being pasted (by the first ':' found). The property is committed (if not a new one),
618         and the edit focus is transferred to the value field.
619
620         * inspector/front-end/StylesSidebarPane.js:
621         (WebInspector.StylePropertyTreeElement.prototype.selectElement):
622         (WebInspector.StylePropertyTreeElement.prototype):
623         * inspector/front-end/inspector.js:
624         (WebInspector.completeURL): Drive-by: return full URLs as-is.
625         (WebInspector.startEditing.cleanUpAfterEditing):
626         (WebInspector.startEditing):
627         (WebInspector.startEditing.pasteEventListener):
628         (WebInspector.startEditing.keyDownEventListener):
629
630 2010-12-30  Pavel Podivilov  <podivilov@chromium.org>
631
632         Reviewed by Pavel Feldman.
633
634         Web Inspector: breakpoint is not disabled when clicking on breakpoints sidebar pane checkbox.
635         https://bugs.webkit.org/show_bug.cgi?id=51745
636
637         * inspector/front-end/Breakpoint.js:
638         (WebInspector.Breakpoint.prototype.set enabled):
639
640 2010-12-30  Pavel Podivilov  <podivilov@chromium.org>
641
642         Reviewed by Pavel Feldman.
643
644         Web Inspector: call stack shows "Paused on a JavaScript breakpoint" when stepping.
645         https://bugs.webkit.org/show_bug.cgi?id=51748
646
647         * inspector/front-end/CallStackSidebarPane.js:
648         (WebInspector.CallStackSidebarPane.prototype.update):
649         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
650         (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
651         (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
652
653 2010-12-30  Mikhail Naganov  <mnaganov@chromium.org>
654
655         Reviewed by Pavel Feldman.
656
657         Fix leak of MemoryInfo wrappers introduced in r57004 (see issue 51712).
658
659         https://bugs.webkit.org/show_bug.cgi?id=51713
660
661         * WebCore.gypi:
662         * WebCore.pro:
663         * bindings/v8/custom/V8ConsoleCustom.cpp:
664         (WebCore::V8Console::memoryAccessorGetter):
665         * bindings/v8/custom/V8PerformanceCustom.cpp: Copied from V8ConsoleCustom.cpp.
666         (WebCore::V8Performance::memoryAccessorGetter):
667         * page/Console.idl:
668         * page/Performance.idl:
669
670 2010-12-30  Steve Block  <steveblock@google.com>
671
672         Reviewed by Sam Weinig.
673
674         Visiting macnn.com often causes SQL spew via geolocation database
675         https://bugs.webkit.org/show_bug.cgi?id=51557
676
677         If the Geolocation position cache database path has not been set, early-out
678         rather than using an empty path and thus failing to open the database.
679         This avoids SQL log spew.
680
681         Also, avoid starting the database thread until the path has been set, and
682         shorten the thread name to avoid warnings due to exceeding 30 characters.
683
684         No new tests, implementation clean-up only.
685
686         * page/GeolocationPositionCache.cpp:
687         (WebCore::GeolocationPositionCache::addUser):
688         (WebCore::GeolocationPositionCache::removeUser):
689         (WebCore::GeolocationPositionCache::setDatabasePath):
690         (WebCore::GeolocationPositionCache::startBackgroundThread):
691
692 2010-12-29  Philippe Normand  <pnormand@igalia.com>
693
694         Reviewed by Martin Robinson.
695
696         [GTK] minimal build fails at link time due to missing sqlite3 symbols
697         https://bugs.webkit.org/show_bug.cgi?id=51327
698
699         Guard the code calling sqlite3 with the ENABLE(DATABASE) check.
700
701         No new tests, build fix only.
702
703         * platform/sql/SQLiteAuthorizer.cpp:
704         * platform/sql/SQLiteDatabase.cpp:
705         * platform/sql/SQLiteFileSystem.cpp:
706         * platform/sql/SQLiteStatement.cpp:
707         * platform/sql/SQLiteTransaction.cpp:
708
709 2010-12-30  Justin Schuh  <jschuh@chromium.org>
710
711         Reviewed by Dirk Schulze.
712
713         Prevent stringToLengthType() from skipping past end-of-string on invalid length unit. 
714         https://bugs.webkit.org/show_bug.cgi?id=51692
715
716         * svg/SVGLength.cpp:
717         (WebCore::stringToLengthType):
718         (WebCore::SVGLength::setValueAsString):
719
720 2010-12-30  Abhishek Arya  <inferno@chromium.org>
721
722         Reviewed by Eric Seidel.
723
724         Create a helper function for finding descendent video elements for a node.
725         https://bugs.webkit.org/show_bug.cgi?id=51696
726
727         Test: media/video-element-other-namespace-crash.html
728
729         * html/MediaDocument.cpp:
730         (WebCore::descendentVideoElement): helper function.
731         (WebCore::MediaDocument::defaultEventHandler): use the new helper function. fix code repetitions.
732         (WebCore::MediaDocument::replaceMediaElementTimerFired): use the new helper function.
733
734 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
735
736         Reviewed by Yury Semikhatsky.
737
738         Web Inspector: extract Database & DOM Storage agents; remove InspectorBackend.
739         https://bugs.webkit.org/show_bug.cgi?id=51707
740
741         This change brushes up storage agents + removes redundant InspectorBackend class.
742
743         * CMakeLists.txt:
744         * GNUmakefile.am:
745         * WebCore.gypi:
746         * WebCore.pro:
747         * WebCore.vcproj/WebCore.vcproj:
748         * WebCore.xcodeproj/project.pbxproj:
749         * inspector/CodeGeneratorInspector.pm:
750         * inspector/InjectedScriptHost.cpp:
751         (WebCore::InjectedScriptHost::databaseForId):
752         (WebCore::InjectedScriptHost::selectDatabase):
753         (WebCore::InjectedScriptHost::selectDOMStorage):
754         (WebCore::InjectedScriptHost::inspectorDOMAgent):
755         * inspector/Inspector.idl:
756         * inspector/InspectorBackend.cpp: Removed.
757         * inspector/InspectorBackend.h: Removed.
758         * inspector/InspectorController.cpp:
759         (WebCore::InspectorController::InspectorController):
760         (WebCore::InspectorController::~InspectorController):
761         (WebCore::InspectorController::connectFrontend):
762         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
763         (WebCore::InspectorController::didUseDOMStorage):
764         (WebCore::InspectorController::setInjectedScriptSource):
765         (WebCore::InspectorController::dispatchOnInjectedScript):
766         (WebCore::InspectorController::releaseWrapperObjectGroup):
767         * inspector/InspectorController.h:
768         * inspector/InspectorDOMStorageAgent.cpp: Added.
769         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
770         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
771         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
772         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
773         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
774         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
775         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
776         * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
777         (WebCore::InspectorDOMStorageAgent::create):
778         (WebCore::InspectorDOMStorageAgent::frontend):
779         * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
780         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
781         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
782         (WebCore::InspectorDatabaseAgent::executeSQL):
783         (WebCore::InspectorDatabaseAgent::databaseForId):
784         (WebCore::InspectorDatabaseAgent::selectDatabase):
785         (WebCore::InspectorDatabaseAgent::clearFrontend):
786         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
787         * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
788         (WebCore::InspectorDatabaseAgent::create):
789         (WebCore::InspectorDatabaseAgent::frontend):
790         * inspector/front-end/ScriptsPanel.js:
791         (WebInspector.ScriptsPanel.prototype.show):
792         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
793         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
794
795 2010-12-29  Dirk Schulze  <krit@webkit.org>
796
797         Reviewed by Darin Adler.
798
799         Cleanup SVG code according to the webkit style rules 3
800         https://bugs.webkit.org/show_bug.cgi?id=51490
801
802         Last patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
803         Just one file can't be fixed for check-webkit-style.
804         * SVGAllInOne.cpp: check-webkit-style wants a config.h at the beginning
805
806         No changes of functionality, so no new tests. 
807
808         * svg/SVGAllInOne.cpp:
809         * svg/SVGImage.cpp:
810         * svg/SVGLength.cpp:
811         (WebCore::SVGLength::setValue):
812         * svg/SVGPolygonElement.h:
813         * svg/SVGPolylineElement.h:
814         * svg/SVGPreserveAspectRatio.cpp:
815         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
816         (WebCore::SVGPreserveAspectRatio::transformRect):
817         * svg/SVGSVGElement.cpp:
818         (WebCore::SVGSVGElement::viewport):
819         * svg/SVGSetElement.h:
820         * svg/SVGStylable.h:
821         (WebCore::SVGStylable::~SVGStylable):
822         * svg/SVGStyledLocatableElement.h:
823         (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
824         (WebCore::SVGStyledLocatableElement::isStyledLocatable):
825         * svg/SVGStyledTransformableElement.cpp:
826         (WebCore::SVGStyledTransformableElement::isKnownAttribute):
827         * svg/SVGSwitchElement.cpp:
828         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
829         * svg/SVGTests.cpp:
830         (WebCore::SVGTests::parseMappedAttribute):
831         * svg/SVGTextContentElement.cpp:
832         (WebCore::SVGTextContentElement::isKnownAttribute):
833         * svg/SVGTextPathElement.cpp:
834         * svg/SVGTextPathElement.h:
835         * svg/SVGTitleElement.h:
836         (WebCore::SVGTitleElement::rendererIsNeeded):
837         * svg/SVGTransformDistance.cpp:
838         (WebCore::SVGTransformDistance::SVGTransformDistance):
839         (WebCore::SVGTransformDistance::scaledDistance):
840         (WebCore::SVGTransformDistance::addSVGTransforms):
841         (WebCore::SVGTransformDistance::addSVGTransform):
842         (WebCore::SVGTransformDistance::addToSVGTransform):
843         (WebCore::SVGTransformDistance::isZero):
844         * svg/SVGTransformList.cpp:
845         * svg/SVGURIReference.cpp:
846         (WebCore::SVGURIReference::getTarget):
847         * svg/SVGVKernElement.h:
848         * svg/SVGViewSpec.cpp:
849         (WebCore::SVGViewSpec::parseViewSpec):
850         * svg/SVGZoomAndPan.h:
851         (WebCore::SVGZoomAndPan::SVGZoomAndPan):
852         (WebCore::SVGZoomAndPan::~SVGZoomAndPan):
853         (WebCore::SVGZoomAndPan::zoomAndPan):
854         * svg/SVGZoomEvent.h:
855         (WebCore::SVGZoomEvent::create):
856         * svg/animation/SMILTime.cpp:
857         (WebCore::operator*):
858         * svg/animation/SMILTime.h:
859         (WebCore::SMILTime::SMILTime):
860         (WebCore::SMILTime::unresolved):
861         (WebCore::SMILTime::indefinite):
862         (WebCore::SMILTime::operator=):
863         (WebCore::SMILTime::value):
864         (WebCore::SMILTime::isFinite):
865         (WebCore::SMILTime::isIndefinite):
866         (WebCore::SMILTime::isUnresolved):
867         (WebCore::operator==):
868         (WebCore::operator!): new operator checks for 0 or infinite values.
869         (WebCore::operator!=):
870         (WebCore::operator>):
871         (WebCore::operator<):
872         (WebCore::operator>=):
873         (WebCore::operator<=):
874         * svg/animation/SMILTimeContainer.h:
875         (WebCore::SMILTimeContainer::create):
876         (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
877         * svg/animation/SVGSMILElement.cpp:
878         (WebCore::ConditionEventListener::operator==):
879         (WebCore::SVGSMILElement::repeatingDuration):
880         (WebCore::SVGSMILElement::resolveInterval):
881         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
882         * svg/animation/SVGSMILElement.h:
883         (WebCore::SVGSMILElement::timeContainer):
884         (WebCore::SVGSMILElement::intervalBegin):
885         (WebCore::SVGSMILElement::intervalEnd):
886         (WebCore::SVGSMILElement::previousIntervalBegin):
887         (WebCore::SVGSMILElement::documentOrderIndex):
888         (WebCore::SVGSMILElement::setDocumentOrderIndex):
889         * svg/graphics/SVGImage.h:
890         (WebCore::SVGImage::create):
891         (WebCore::SVGImage::destroyDecodedData):
892         (WebCore::SVGImage::decodedSize):
893         (WebCore::SVGImage::frameAtIndex):
894         * svg/graphics/filters/SVGFilterBuilder.h:
895         (WebCore::SVGFilterBuilder::create):
896         (WebCore::SVGFilterBuilder::lastEffect):
897         (WebCore::SVGFilterBuilder::getEffectReferences):
898         (WebCore::SVGFilterBuilder::addBuiltinEffects):
899
900 2010-12-29  Abhishek Arya  <inferno@chromium.org>
901
902         Reviewed by Darin Adler.
903
904         ASSERT(oldchild->parent() == owner) fails.
905         https://bugs.webkit.org/show_bug.cgi?id=50480
906
907         In RenderBlock removeChild function, when the inlineChildrenBlock(equal to prev or next)
908         is reparented to blockChildrenBlock, it is no longer a child of "this". This causes the
909         assertion failure when removeChildNode executes on the child(equal to prev or next).
910         Fix a typo in canMergeContiguousAnonymousBlocks.
911
912         Test: fast/multicol/span/double-merge-anonymous-block-crash.html
913
914         * rendering/RenderBlock.cpp:
915         (WebCore::canMergeContiguousAnonymousBlocks): fix typo, change prev to next.
916         (WebCore::RenderBlock::removeChild): if prev or not is reparented, then set it to zero.
917
918 2010-12-29  Justin Schuh  <jschuh@chromium.org>
919
920         Reviewed by Darin Adler.
921
922         Check SVG element type in FrameView::scrollToAnchor
923         https://bugs.webkit.org/show_bug.cgi?id=51718
924
925         Test: svg/custom/scroll-to-anchor-in-symbol.svg
926
927         * page/FrameView.cpp:
928         (WebCore::FrameView::scrollToAnchor):
929
930 2010-12-29  Anton Muhin  <antonm@chromium.org>
931
932         Reviewed by Eric Seidel.
933
934         [v8] Minor cleanup: remove unused method (the only method which can mutate context of V8DOMWindowShell)
935         https://bugs.webkit.org/show_bug.cgi?id=51704
936
937         * bindings/v8/V8DOMWindowShell.cpp:
938         * bindings/v8/V8DOMWindowShell.h:
939
940 2010-12-29  Kenichi Ishibashi  <bashi@google.com>
941
942         Reviewed by Darin Adler.
943
944         Use a HashMap for m_continuation to save memory
945         https://bugs.webkit.org/show_bug.cgi?id=43716
946
947         Saving memory consumption by applying a HashMap convention to
948         continuation pointers of RenderInline and RenderBlock classes.
949
950         * rendering/RenderBlock.cpp: Removed m_continuation.
951         (WebCore::RenderBlock::RenderBlock):
952         (WebCore::RenderBlock::destroy):
953         (WebCore::RenderBlock::inlineElementContinuation):
954         (WebCore::RenderBlock::blockElementContinuation):
955         * rendering/RenderBlock.h: Removed m_continuation.
956         * rendering/RenderBoxModelObject.cpp: Added a hash map for continuations.
957         (WebCore::RenderBoxModelObject::destroy): Added an assertion.
958         (WebCore::RenderBoxModelObject::continuation): Added.
959         (WebCore::RenderBoxModelObject::setContinuation): Added.
960         * rendering/RenderBoxModelObject.h:
961         * rendering/RenderInline.cpp: Removed m_continuation.
962         (WebCore::RenderInline::RenderInline):
963         (WebCore::RenderInline::destroy):
964         (WebCore::RenderInline::inlineElementContinuation):
965         * rendering/RenderInline.h: Removed m_continuation.
966
967 2010-12-27  Amruth Raj  <amruthraj@motorola.com> and Ravi Kasibhatla  <ravi.kasibhatla@motorola.com>
968
969         Reviewed by Martin Robinson.
970
971         [GTK] Enable building whatever already exists of WebKit2
972         https://bugs.webkit.org/show_bug.cgi?id=37369
973
974         No new functionality added or deleted. Only makefile change. Hence, no tests added.
975
976         * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and
977         added them to WebKit/gtk/GNUmakefile.am
978         * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h>
979         and declare WEBKIT_API directly
980
981 2010-12-29  Eric Seidel  <eric@webkit.org>
982
983         Unreviewed.
984
985         Simplify make-hash-tools.pl
986         https://bugs.webkit.org/show_bug.cgi?id=49922
987
988         Added HashTools.h to the project file now that its not autogenerated.
989         I also sorted the project file using sort-xcode-project-file
990
991         * WebCore.xcodeproj/project.pbxproj:
992
993 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
994
995         Not reviewed: revert r74755 and 74757.
996
997 2010-12-29  Martin Robinson  <mrobinson@igalia.com>
998
999         Reviewed by Sam Weinig.
1000
1001         JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++
1002         https://bugs.webkit.org/show_bug.cgi?id=51722
1003
1004         Remove the JSC_HOST_CALL from methods that are called from C++. JSC_HOST_CALL gives
1005         methods the fastcall calling convention, which leads to runtime errors when they are
1006         called from C++. Also remove a bit of unnecessary code duplication.
1007
1008         No new tests. This is covered by fast/canvas/webgl/data-view-test.html.
1009
1010         * bindings/js/JSDataViewCustom.cpp:
1011         (WebCore::getDataViewMember): Remove duplicated code.
1012         (WebCore::JSDataView::getInt8): Remove JSC_HOST_CALL.
1013         (WebCore::JSDataView::getUint8): Ditto.
1014         (WebCore::JSDataView::getFloat32): Ditto.
1015         (WebCore::JSDataView::getFloat64): Ditto.
1016         (WebCore::setDataViewMember): Remove duplicated code.
1017         (WebCore::JSDataView::setInt8): Remove JSC_HOST_CALL.
1018         (WebCore::JSDataView::setUint8): Ditto.
1019
1020 2010-12-29  Dan Bernstein  <mitz@apple.com>
1021
1022         Reviewed by Kenneth Russel.
1023
1024         A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681
1025
1026         * html/HTMLCanvasElement.cpp:
1027         (WebCore::HTMLCanvasElement::attach): Added. Like recalcStyle(), calls
1028         CanvasRenderingContext2D::updateFont() if necessary. This covers the case of a detach/
1029         attach-type style recalc.
1030         * html/HTMLCanvasElement.h:
1031         * html/canvas/CanvasRenderingContext2D.cpp:
1032         (WebCore::CanvasRenderingContext2D::drawTextInternal): Removed the early return added in
1033         r74716. A font that is loading custom fonts is okay to use, as long as it is valid.
1034         (WebCore::CanvasRenderingContext2D::accessFont): Added a call to
1035         Document::updateStyleIfNeeded(). This ensures that any pending style recalc will take place
1036         and update the font if it is invalid.
1037         * platform/graphics/Font.h:
1038         (WebCore::Font::loadingCustomFonts): Made this private.
1039
1040 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
1041
1042         Not reviewed: Qt build fix.
1043
1044         * inspector/InspectorController.cpp:
1045
1046 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
1047
1048         Reviewed by Yury Semikhatsky.
1049
1050         Web Inspector: extract Database & DOM Storage
1051         agents; remove InspectorBackend.
1052         https://bugs.webkit.org/show_bug.cgi?id=51707
1053
1054         This change brushes up storage agents + removes redundant
1055         InspectorBackend class.
1056
1057         * CMakeLists.txt:
1058         * GNUmakefile.am:
1059         * WebCore.gypi:
1060         * WebCore.pro:
1061         * WebCore.vcproj/WebCore.vcproj:
1062         * WebCore.xcodeproj/project.pbxproj:
1063         * inspector/CodeGeneratorInspector.pm:
1064         * inspector/InjectedScriptHost.cpp:
1065         (WebCore::InjectedScriptHost::databaseForId):
1066         (WebCore::InjectedScriptHost::selectDatabase):
1067         (WebCore::InjectedScriptHost::selectDOMStorage):
1068         (WebCore::InjectedScriptHost::inspectorDOMAgent):
1069         * inspector/Inspector.idl:
1070         * inspector/InspectorBackend.cpp: Removed.
1071         * inspector/InspectorBackend.h: Removed.
1072         * inspector/InspectorController.cpp:
1073         (WebCore::InspectorController::InspectorController):
1074         (WebCore::InspectorController::~InspectorController):
1075         (WebCore::InspectorController::connectFrontend):
1076         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
1077         (WebCore::InspectorController::didUseDOMStorage):
1078         (WebCore::InspectorController::setInjectedScriptSource):
1079         (WebCore::InspectorController::dispatchOnInjectedScript):
1080         (WebCore::InspectorController::releaseWrapperObjectGroup):
1081         * inspector/InspectorController.h:
1082         * inspector/InspectorDOMStorageAgent.cpp: Added.
1083         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
1084         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
1085         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
1086         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
1087         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
1088         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
1089         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
1090         * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
1091         (WebCore::InspectorDOMStorageAgent::create):
1092         (WebCore::InspectorDOMStorageAgent::frontend):
1093         * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
1094         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
1095         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
1096         (WebCore::InspectorDatabaseAgent::executeSQL):
1097         (WebCore::InspectorDatabaseAgent::databaseForId):
1098         (WebCore::InspectorDatabaseAgent::selectDatabase):
1099         (WebCore::InspectorDatabaseAgent::clearFrontend):
1100         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
1101         * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
1102         (WebCore::InspectorDatabaseAgent::create):
1103         (WebCore::InspectorDatabaseAgent::frontend):
1104         * inspector/InspectorFrontendClientLocal.cpp:
1105         * inspector/InspectorFrontendClientLocal.h:
1106         * inspector/front-end/ScriptsPanel.js:
1107         (WebInspector.ScriptsPanel.prototype.show):
1108
1109 2010-12-29  Tony Gentilcore  <tonyg@chromium.org>
1110
1111         Reviewed by Eric Seidel.
1112
1113         Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon()
1114         https://bugs.webkit.org/show_bug.cgi?id=51067
1115
1116         Typically when a script element is removed from the document, the cached script
1117         client is removed. However, during the before load event, the cached script client
1118         hasn't been created yet so it can't be removed.
1119
1120         This patch handles that case by explicitly checking if the script element was
1121         removed during the beforeload event. Also, it avoids caching the Document references
1122         over the arbitrary script execution in the before load event.
1123
1124         Test: fast/dom/HTMLScriptElement/move-in-beforeload.html
1125               fast/dom/HTMLScriptElement/remove-in-beforeload.html
1126
1127         * dom/ScriptElement.cpp:
1128         (WebCore::ScriptElement::requestScript):
1129
1130 2010-12-29  Alexander Pavlov  <apavlov@chromium.org>
1131
1132         Reviewed by Yury Semikhatsky.
1133
1134         Web Inspector: Element highlight tooltip displays wrong element size when zoomed in
1135         https://bugs.webkit.org/show_bug.cgi?id=51703
1136
1137         * inspector/InspectorController.cpp:
1138         (WebCore::InspectorController::drawElementTitle):
1139
1140 2010-12-29  Yael Aharon  <yael.aharon@nokia.com>
1141
1142         Reviewed by Kent Tamura.
1143
1144         [HTML5][Forms] Support for :in-range and :out-of-range CSS selectors
1145         https://bugs.webkit.org/show_bug.cgi?id=29071
1146
1147         Use InputType::rangeUnderflow() and InputType::rangeOverflow()
1148         to determine if a control is in-range or out-of-range.
1149
1150         Tests: fast/css/pseudo-in-range-invalid-value.html
1151                fast/css/pseudo-in-range.html
1152                fast/css/pseudo-out-of-range.html
1153
1154         * css/CSSSelector.cpp:
1155         (WebCore::CSSSelector::pseudoId):
1156         (WebCore::nameToPseudoTypeMap):
1157         (WebCore::CSSSelector::extractPseudoType):
1158         * css/CSSSelector.h:
1159         * css/CSSStyleSelector.cpp:
1160         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1161         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1162         * dom/Element.h:
1163         (WebCore::Element::isInRange):
1164         (WebCore::Element::isOutOfRange):
1165         * html/BaseDateAndTimeInputType.cpp:
1166         (WebCore::BaseDateAndTimeInputType::supportsRangeLimitation):
1167         * html/BaseDateAndTimeInputType.h:
1168         * html/HTMLInputElement.cpp:
1169         (WebCore::HTMLInputElement::isInRange):
1170         (WebCore::HTMLInputElement::isOutOfRange):
1171         * html/HTMLInputElement.h:
1172         * html/InputType.cpp:
1173         (WebCore::InputType::supportsRangeLimitation):
1174         * html/InputType.h:
1175         * html/NumberInputType.cpp:
1176         (WebCore::NumberInputType::supportsRangeLimitation):
1177         * html/NumberInputType.h:
1178         * html/RangeInputType.cpp:
1179         (WebCore::RangeInputType::supportsRangeLimitation):
1180         * html/RangeInputType.h:
1181
1182 2010-12-29  Abhishek Arya  <inferno@chromium.org>
1183
1184         Reviewed by Eric Seidel.
1185
1186         When cloning an anonymous block, make sure to set the childrenInline flag based
1187         on the state of the block to be cloned.
1188         https://bugs.webkit.org/show_bug.cgi?id=51489
1189
1190         Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html
1191
1192         * rendering/RenderBlock.cpp:
1193         (WebCore::RenderBlock::clone): add code to handle cloning of anonymous blocks.
1194         (WebCore::RenderBlock::splitBlocks): remove anonymous block creation calls since it is now handled by clone().
1195
1196 2010-12-29  Patrick Gansterer  <paroga@webkit.org>
1197
1198         Unreviewed build fix for WinCE after r73802.
1199
1200         Reapply parts from r72585:
1201         Port ContextMenuWin.cpp to WinCE
1202         https://bugs.webkit.org/show_bug.cgi?id=48408
1203
1204         * CMakeLists.txt:
1205         * platform/ContextMenu.h:
1206         * platform/win/ContextMenuWin.cpp:
1207         (WebCore::ContextMenu::getContextMenuItems):
1208         (WebCore::ContextMenu::createNativeMenuFromItems):
1209
1210 2010-12-29  Kent Hansen  <kent.hansen@nokia.com>
1211
1212         Reviewed by Simon Hausmann.
1213
1214         [Qt] Fix compilation with Qt in namespace
1215         https://bugs.webkit.org/show_bug.cgi?id=51701
1216
1217         * platform/graphics/ContextShadow.h:
1218         * platform/graphics/GraphicsContext3D.h:
1219         * platform/network/NetworkingContext.h:
1220         * platform/network/qt/QtNAMThreadSafeProxy.h:
1221         * plugins/PluginView.h:
1222
1223 2010-12-28  Alexander Pavlov  <apavlov@chromium.org>
1224
1225         Reviewed by Pavel Feldman.
1226
1227         Web Inspector: A disabled style property should get enabled when edited
1228         https://bugs.webkit.org/show_bug.cgi?id=51679
1229
1230         Test: inspector/styles-disable-then-change.html
1231
1232         * inspector/front-end/CSSStyleModel.js:
1233         (WebInspector.CSSProperty.prototype.setText):
1234         (WebInspector.CSSProperty.prototype.setText.callback):
1235
1236 2010-12-29  Patrick Gansterer  <paroga@webkit.org>
1237
1238         Reviewed by Andreas Kling.
1239
1240         [CMake] Remove WebKitGenerators
1241         https://bugs.webkit.org/show_bug.cgi?id=50445
1242
1243         * CMakeLists.txt: Pass preprocessor to generate-bindings.pl.
1244
1245 2010-12-28  Pratik Solanki  <psolanki@apple.com>
1246
1247         Reviewed by Eric Seidel.
1248
1249         https://bugs.webkit.org/show_bug.cgi?id=51522
1250         Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB()
1251
1252         * page/win/FrameCGWin.cpp:
1253         (WebCore::imageFromRect):
1254         * platform/graphics/cg/GradientCG.cpp:
1255         (WebCore::Gradient::platformGradient):
1256         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1257         (WebCore::GraphicsContext3D::paintToCanvas):
1258         * platform/graphics/cg/ImageCG.cpp:
1259         (WebCore::BitmapImage::checkForSolidColor):
1260         * platform/graphics/gstreamer/ImageGStreamerCG.mm:
1261         (ImageGStreamer::ImageGStreamer):
1262         * platform/graphics/win/GraphicsContextCGWin.cpp:
1263         (WebCore::CGContextWithHDC):
1264         (WebCore::GraphicsContext::releaseWindowsContext):
1265         (WebCore::GraphicsContext::drawWindowsBitmap):
1266         * platform/graphics/win/ImageCGWin.cpp:
1267         (WebCore::BitmapImage::create):
1268         (WebCore::BitmapImage::getHBITMAPOfSize):
1269         * platform/image-decoders/cg/ImageDecoderCG.cpp:
1270         (WebCore::createColorSpace):
1271         * platform/win/DragImageCGWin.cpp:
1272         (WebCore::allocImage):
1273         (WebCore::createCgContextFromBitmap):
1274         * rendering/RenderThemeMac.mm:
1275         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
1276         (WebCore::RenderThemeMac::paintSliderTrack):
1277         * rendering/RenderThemeSafari.cpp:
1278         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
1279         (WebCore::RenderThemeSafari::paintSliderTrack):
1280
1281 2010-12-28  Daniel Bates  <dbates@rim.com>
1282
1283         Reviewed by Sam Weinig.
1284
1285         Substitute // MARK: for compiler-specific #pragma mark
1286         https://bugs.webkit.org/show_bug.cgi?id=51657
1287
1288         Fix compilation warnings about "#pragma mark" on GTK+ bots by
1289         substituting  "// MARK:" for "#pragma mark", which provides
1290         analogous code-bookmarking functionality under Xcode.
1291
1292         * platform/graphics/cg/PathCG.cpp:
1293         * platform/graphics/mac/WebLayer.mm:
1294
1295 2010-12-28  Jan Erik Hanssen  <jhanssen@sencha.com>
1296
1297         Reviewed by Eric Seidel.
1298
1299         [Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform()
1300         https://bugs.webkit.org/show_bug.cgi?id=51687
1301
1302         Use a const reference instead of a copy of QPainter::combinedTransform() 
1303         in GraphicsContext::getCTM()
1304
1305         * platform/graphics/qt/GraphicsContextQt.cpp:
1306         (WebCore::GraphicsContext::getCTM):
1307
1308 2010-12-28  Takashi Toyoshima  <toyoshim@google.com>
1309
1310         Reviewed by Eric Seidel.
1311
1312         gcc detected 'control reaches end of non-void function' with
1313         -finstrument-functions option.
1314         https://bugs.webkit.org/show_bug.cgi?id=51669
1315
1316         No new tests. These fixes are trivial.
1317
1318         * dom/Element.cpp:
1319         (WebCore::Element::childTypeAllowed):
1320         * inspector/InspectorResourceAgent.cpp:
1321         (WebCore::cachedResourceTypeString):
1322
1323 2010-12-28  Tony Gentilcore  <tonyg@chromium.org>
1324
1325         Reviewed by Eric Seidel.
1326
1327         Remove unused member of PendingScript
1328         https://bugs.webkit.org/show_bug.cgi?id=51684
1329
1330         This was used when HTMLScriptRunner::runScript created a PendingScript
1331         for inline scripts. But now it just calls executeScript() directly.
1332         External scripts always have the minimum starting line number.
1333
1334         No new tests because no changed functionality.
1335
1336         * dom/PendingScript.cpp:
1337         (WebCore::PendingScript::releaseElementAndClear):
1338         * dom/PendingScript.h:
1339         (WebCore::PendingScript::PendingScript):
1340         (WebCore::PendingScript::operator=):
1341         * html/parser/HTMLScriptRunner.cpp:
1342         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
1343
1344 2010-12-20  Antonio Gomes  <agomes@rim.com>
1345
1346         Reviewed by Daniel Bates.
1347
1348         Spatial Navigation: code clean up (Part VI)
1349         https://bugs.webkit.org/show_bug.cgi?id=50666
1350
1351         No new tests needed.
1352
1353         * page/FocusController.cpp:
1354         (WebCore::updatFocusCandidateIfNeeded): Assert renderer() and
1355         isElementNode() now that we are bailing out earlier in both the
1356         FocusCandidate constructor and FocusController::findFocusCandidateInContainer().
1357         * page/SpatialNavigation.h: Swapped the parameters order in canScrollInDirection
1358         and virtualRectForAreaElementAndDirection functions.
1359         (WebCore::FocusController::findFocusCandidateInContainer):
1360         (WebCore::FocusController::advanceFocusDirectionallyInContainer): Adjusted callsites
1361         of canScrollInDirection(), and added an early return if !isElementNode().
1362         (WebCore::FocusController::advanceFocusDirectionally): Adjusted callsite of
1363         virtualRectForAreaElementAndDirection();
1364         * page/SpatialNavigation.cpp:
1365         (WebCore::FocusCandidate::FocusCandidate): Assert if node is not a element node;
1366         (WebCore::isScrollableNode): Renamed from isScrollableContainerNode;
1367         (WebCore::scrollInDirection): Adjusted callsite after function name change;
1368         (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDi:rection): Assert if node is
1369         a documentNode.
1370         (WebCore::canScrollInDirection): Signature changed.
1371         (WebCore::canBeScrolledIntoView): Ditto.
1372         (WebCore::virtualRectForAreaElementAndDirection): Ditto.
1373
1374 2010-12-28  Adrienne Walker  <enne@google.com>
1375
1376         Reviewed by Kenneth Russell.
1377
1378         [chromium] Fix tiled compositor assertion after GPU process recovery.
1379         https://bugs.webkit.org/show_bug.cgi?id=51682
1380
1381         After the GPU process recovers, the layer size is set to IntSize(),
1382         but IntRect::unite() has a special case for empty rects.  This
1383         behavior was causing the layer size to be too small, causing an
1384         out-of-bounds array access elsewhere.
1385
1386         No new tests.
1387
1388         * platform/graphics/chromium/LayerTilerChromium.cpp:
1389         (WebCore::LayerTilerChromium::growLayerToContain):
1390
1391 2010-12-23  Zhenyao Mo  <zmo@google.com>
1392
1393         Reviewed by Kenneth Russell.
1394
1395         Initialize to 0 for undefined values in CopyTexImage2D
1396         https://bugs.webkit.org/show_bug.cgi?id=51421
1397
1398         * html/canvas/WebGLFramebuffer.cpp: Track width/height/internalFormat of color buffer.
1399         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
1400         (WebCore::WebGLFramebuffer::setAttachment):
1401         (WebCore::WebGLFramebuffer::getWidth):
1402         (WebCore::WebGLFramebuffer::getHeight):
1403         (WebCore::WebGLFramebuffer::getColorBufferFormat):
1404         * html/canvas/WebGLFramebuffer.h:
1405         * html/canvas/WebGLRenderingContext.cpp:
1406         (WebCore::WebGLRenderingContext::copyTexImage2D): Initialize undefined pixels to 0.
1407         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
1408         (WebCore::WebGLRenderingContext::framebufferTexture2D):
1409         (WebCore::WebGLRenderingContext::renderbufferStorage):
1410         (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
1411         (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
1412         * html/canvas/WebGLRenderingContext.h:
1413         * html/canvas/WebGLTexture.cpp: Track width/height/internalFormat of a texture by target/level.
1414         (WebCore::WebGLTexture::getInternalFormat):
1415         (WebCore::WebGLTexture::getWidth):
1416         (WebCore::WebGLTexture::getHeight):
1417         (WebCore::WebGLTexture::mapTargetToIndex):
1418         (WebCore::WebGLTexture::getLevelInfo):
1419         * html/canvas/WebGLTexture.h:
1420         (WebCore::WebGLTexture::isTexture):
1421         * platform/graphics/GraphicsContext3D.h: Add getInternalFramebufferSize() function.
1422         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1423         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
1424         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1425         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
1426
1427 2010-12-23  Zhenyao Mo  <zmo@google.com>
1428
1429         Reviewed by Kenneth Russell.
1430
1431         Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D
1432         https://bugs.webkit.org/show_bug.cgi?id=39855
1433
1434         * html/canvas/WebGLRenderingContext.cpp:
1435         (WebCore::WebGLRenderingContext::copyTexImage2D): Map GLsizei to long.
1436         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
1437         (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
1438         (WebCore::WebGLRenderingContext::scissor): Ditto.
1439         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
1440         (WebCore::WebGLRenderingContext::texImage2D): Ditto.
1441         (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
1442         (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
1443         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
1444         (WebCore::WebGLRenderingContext::viewport): Ditto.
1445         (WebCore::WebGLRenderingContext::validateSize): Check the sizes are non-negative.
1446         * html/canvas/WebGLRenderingContext.h:
1447         * html/canvas/WebGLRenderingContext.idl:
1448
1449 2010-12-28  Abhishek Arya  <inferno@chromium.org>
1450
1451         Reviewed by Kenneth Russell.
1452
1453         Fix crash with invalid font in m_fontList by not drawing text when a custom font is in the
1454         process of loading.
1455         https://bugs.webkit.org/show_bug.cgi?id=51681
1456
1457         Test: canvas/philip/tests/2d.text-custom-font-load-crash.html
1458
1459         * html/canvas/CanvasRenderingContext2D.cpp:
1460         (WebCore::CanvasRenderingContext2D::drawTextInternal): bail out if a custom font is loading.
1461         * platform/graphics/Font.cpp:
1462         (WebCore::Font::operator==): Replace condition with new function loadingCustomFonts()
1463         (WebCore::Font::drawText): Replace condition with new function loadingCustomFonts()
1464         (WebCore::Font::drawEmphasisMarks): Replace condition with new function loadingCustomFonts()
1465         * platform/graphics/Font.h:
1466         (WebCore::Font::loadingCustomFonts): new function that returns if a custom font is loading.
1467
1468 2010-12-28  Dimitri Glazkov  <dglazkov@chromium.org>
1469
1470         Reviewed by Eric Seidel.
1471
1472         Combine setShadowRoot and clearShadowRoot into a simpler API
1473         https://bugs.webkit.org/show_bug.cgi?id=50971
1474
1475         No change in behavior, and API is not used yet.
1476
1477         * dom/Element.cpp:
1478         (WebCore::Element::setShadowRoot): Combined clearing and setting of
1479             the shadowRoot, also hooked up with setting and clearing of the
1480             corresponding shadowHost values.
1481         * dom/Element.h: renamed clearShadowRoot to removeShadowRoot and made it
1482             private.
1483         * dom/Node.h: Made shadow host-related functions public so that
1484             Element::setShadowRoot can access setShadowHost. It seems logical
1485             to make shadowHost public as well to keep the defs together.
1486
1487 2010-12-28  Andrey Kosyakov  <caseq@chromium.org>
1488
1489         Reviewed by Pavel Feldman.
1490
1491         Web Inspector: [Chromium] Expose extension API to select a node in WebInspector
1492         Do not request content for resources with non-numeric identifiers.
1493         https://bugs.webkit.org/show_bug.cgi?id=49727
1494
1495         Test: http/tests/inspector/extensions-resources-redirect.html
1496
1497         * inspector/front-end/NetworkManager.js:
1498         (WebInspector.NetworkManager.prototype._appendRedirect):
1499
1500 2010-12-28  Ilya Tikhonovsky  <loislo@chromium.org>
1501
1502         Unreviewed build fix for Qt.
1503
1504         ResourceTreeModel.js was added.
1505
1506         * inspector/front-end/WebKit.qrc:
1507
1508 2010-12-28  Mikhail Naganov  <mnaganov@chromium.org>
1509
1510         Reviewed by Pavel Feldman.
1511
1512         [Chromium] Fix memory leak in Profiles tab concerned with heap profiles views.
1513
1514         https://bugs.webkit.org/show_bug.cgi?id=51680
1515
1516         * inspector/front-end/ProfilesPanel.js:
1517         (WebInspector.ProfilesPanel.prototype._reset):
1518
1519 2010-12-28  Alexander Pavlov  <apavlov@chromium.org>
1520
1521         Reviewed by Pavel Feldman.
1522
1523         Web Inspector: REGRESSION: Clicking image resource in style sidebar doesn't actually go to resource anymore
1524         https://bugs.webkit.org/show_bug.cgi?id=51663
1525
1526         The base URI is now computed correctly for links from CSS property uri(...) values. Additionally,
1527         optional quotes/apostrophes and spaces are now allowed inside uri(...).
1528
1529         Test: inspector/styles-url-linkify.html
1530
1531         * inspector/front-end/StylesSidebarPane.js:
1532         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
1533         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
1534
1535 2010-12-21  Ilya Tikhonovsky  <loislo@chromium.org>
1536
1537         Reviewed by Pavel Feldman.
1538
1539         Web Inspector: Protocol cleanup task. Introduce Network, DOMStorage and Database domains.
1540
1541         Domain was changed for Resources, FileSystem etc. related methods.
1542         ResourcesManager was renamed to NetworkManager.
1543         ResourceTreeModel was extracted as separate file.
1544         FileSystem, Database, DOMStorage and ApplicationCache methods were
1545         removed from NetworkManager and added to corresponding classes.
1546
1547         https://bugs.webkit.org/show_bug.cgi?id=51334
1548
1549         * WebCore.gypi:
1550         * WebCore.vcproj/WebCore.vcproj:
1551         * inspector/CodeGeneratorInspector.pm:
1552         * inspector/Inspector.idl:
1553         * inspector/front-end/AuditRules.js:
1554         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
1555         * inspector/front-end/CSSStyleModel.js:
1556         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
1557         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1558         * inspector/front-end/ConsoleView.js:
1559         (WebInspector.ConsoleView.prototype.addMessage):
1560         (WebInspector.ConsoleView.prototype.clearMessages):
1561         * inspector/front-end/DOMAgent.js:
1562         (WebInspector.ApplicationCache.updateApplicationCacheStatus):
1563         (WebInspector.ApplicationCache.updateNetworkState):
1564         * inspector/front-end/DOMStorage.js:
1565         (WebInspector.DOMStorage.addDOMStorage):
1566         (WebInspector.DOMStorage.selectDOMStorage):
1567         (WebInspector.DOMStorage.updateDOMStorage):
1568         * inspector/front-end/Database.js:
1569         (WebInspector.Database.prototype.executeSql):
1570         (WebInspector.Database.addDatabase):
1571         (WebInspector.Database.selectDatabase):
1572         (WebInspector.Database.sqlTransactionSucceeded):
1573         (WebInspector.Database.sqlTransactionFailed):
1574         * inspector/front-end/FileSystemView.js:
1575         (WebInspector.FileSystem.didGetFileSystemPath):
1576         (WebInspector.FileSystem.didGetFileSystemError):
1577         (WebInspector.FileSystem.didGetFileSystemDisabled):
1578         * inspector/front-end/NetworkItemView.js:
1579         (WebInspector.NetworkItemView):
1580         * inspector/front-end/NetworkManager.js: Added.
1581         (WebInspector.NetworkManager):
1582         (WebInspector.NetworkManager.prototype._createResource):
1583         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
1584         (WebInspector.NetworkManager.prototype.willSendRequest):
1585         (WebInspector.NetworkManager.prototype._updateResourceWithRequest):
1586         (WebInspector.NetworkManager.prototype._appendRedirect):
1587         (WebInspector.NetworkManager.prototype.markResourceAsCached):
1588         (WebInspector.NetworkManager.prototype.didReceiveResponse):
1589         (WebInspector.NetworkManager.prototype._updateResourceWithResponse):
1590         (WebInspector.NetworkManager.prototype.didReceiveContentLength):
1591         (WebInspector.NetworkManager.prototype.didFinishLoading):
1592         (WebInspector.NetworkManager.prototype.didFailLoading):
1593         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
1594         (WebInspector.NetworkManager.prototype._updateResourceWithCachedResource):
1595         (WebInspector.NetworkManager.prototype.setInitialContent):
1596         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
1597         (WebInspector.NetworkManager.prototype.frameDetachedFromParent):
1598         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
1599         (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
1600         (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
1601         (WebInspector.NetworkManager.prototype.didCloseWebSocket):
1602         (WebInspector.NetworkManager.prototype._processCachedResources):
1603         (WebInspector.NetworkManager.prototype._addFramesRecursively):
1604         (WebInspector.NetworkManager.requestContent):
1605         * inspector/front-end/NetworkPanel.js:
1606         (WebInspector.NetworkPanel.prototype.refreshResource):
1607         * inspector/front-end/Resource.js:
1608         (WebInspector.Resource.prototype._innerRequestContent):
1609         * inspector/front-end/ResourceManager.js: Removed.
1610         * inspector/front-end/ResourceTreeModel.js: Added.
1611         (WebInspector.ResourceTreeModel):
1612         (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
1613         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
1614         (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
1615         (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
1616         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
1617         (WebInspector.ResourceTreeModel.prototype._clearResources):
1618         (WebInspector.ResourceTreeModel.prototype.forAllResources):
1619         (WebInspector.ResourceTreeModel.prototype.addConsoleMessage):
1620         (WebInspector.ResourceTreeModel.prototype.clearConsoleMessages):
1621         (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
1622         (WebInspector.ResourceTreeModel.prototype.resourceForURL):
1623         (WebInspector.ResourceTreeModel.prototype.bindResourceURL):
1624         (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
1625         (WebInspector.ResourceTreeModel.createResource):
1626         * inspector/front-end/ResourceView.js:
1627         (WebInspector.ResourceView.createResourceView):
1628         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
1629         (WebInspector.ResourceView.resourceViewForResource):
1630         (WebInspector.ResourceView.recreateResourceView):
1631         (WebInspector.ResourceView.existingResourceViewForResource):
1632         * inspector/front-end/ResourcesPanel.js:
1633         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
1634         (WebInspector.ResourcesPanel.prototype.showSourceLine):
1635         (WebInspector.ResourcesPanel.prototype.showResource):
1636         (WebInspector.ResourcesPanel.prototype.get searchableViews.callback):
1637         (WebInspector.ResourcesPanel.prototype.get searchableViews):
1638         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
1639         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
1640         * inspector/front-end/ScriptsPanel.js:
1641         (WebInspector.ScriptsPanel.prototype._addScript):
1642         (WebInspector.ScriptsPanel.prototype.reset):
1643         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
1644         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1645         * inspector/front-end/WebKit.qrc:
1646         * inspector/front-end/inspector.html:
1647         * inspector/front-end/inspector.js:
1648         (WebInspector.forAllResources):
1649         (WebInspector.resourceForURL):
1650
1651 2010-12-27  Helder Correia  <helder@sencha.com>
1652
1653         Reviewed by Ariya Hidayat.
1654
1655         ContextShadow should use AffineTransform instead of TransformationMatrix
1656         https://bugs.webkit.org/show_bug.cgi?id=51661
1657
1658         ContextShadow needs the CTM to make sure shadows are not affected by
1659         transformations when drawing on a canvas. AffineTransform is sufficient
1660         in this case.
1661
1662         Existing tests: fast/canvas/canvas*shadow*html
1663
1664         * platform/graphics/ContextShadow.cpp:
1665         (WebCore::ContextShadow::mustUseContextShadow):
1666         (WebCore::ContextShadow::adjustBlurDistance):
1667         (WebCore::ContextShadow::calculateLayerBoundingRect):
1668         * platform/graphics/ContextShadow.h:
1669         * platform/graphics/cairo/ContextShadowCairo.cpp:
1670         (WebCore::ContextShadow::getTransformationMatrixFromContext):
1671         * platform/graphics/qt/ContextShadowQt.cpp:
1672         (WebCore::ContextShadow::getTransformationMatrixFromContext):
1673
1674 2010-12-27  Daniel Bates  <dbates@rim.com>
1675
1676         Reviewed by Antonio Gomes.
1677
1678         Clean up: Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
1679         https://bugs.webkit.org/show_bug.cgi?id=51634
1680
1681         Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
1682         to HTMLFrameElementBase::marginWidth() and HTMLFrameElementBase::marginHeight(), respectively.
1683         This will make the names of these getters consistent with the naming convention we use for
1684         getters.
1685
1686         * html/HTMLBodyElement.cpp:
1687         (WebCore::HTMLBodyElement::insertedIntoDocument):
1688         * html/HTMLFrameElementBase.h:
1689         (WebCore::HTMLFrameElementBase::marginWidth): Renamed; Formerly getMarginWidth().
1690         (WebCore::HTMLFrameElementBase::marginHeight): Renamed; Formerly getMarginHeight().
1691         * loader/SubframeLoader.cpp:
1692         (WebCore::SubframeLoader::loadSubframe):
1693         * page/FrameView.cpp:
1694         (WebCore::FrameView::init):
1695         * rendering/RenderEmbeddedObject.cpp:
1696         (WebCore::RenderEmbeddedObject::viewCleared): Also renamed variables marginw and marginh
1697         to marginWidth and marginHeight, respectively. This makes the names of these variables
1698         consistent with the names of similar variables in SubframeLoader::loadSubframe() and FrameView::init().
1699         * rendering/RenderFrame.cpp:
1700         (WebCore::RenderFrame::viewCleared): Ditto.
1701
1702 2010-12-27  Martin Robinson  <mrobinson@igalia.com>
1703
1704         Reviewed by Daniel Bates.
1705
1706         [GTK] RenderThemeGtk::m_HScale and RenderThemeGtk::m_VScale are not initialized
1707         https://bugs.webkit.org/show_bug.cgi?id=51654
1708
1709         Properly initialize slider members of RenderThemeGtk. This can lead to test crashes
1710         on some debug configurations.
1711
1712         No new tests. This is already covered by current slider tests. It isn't crashing on
1713         the bots, but it does crash locally.
1714
1715         * platform/gtk/RenderThemeGtk.cpp:
1716         (WebCore::RenderThemeGtk::RenderThemeGtk): Properly initialize members.
1717
1718 2010-12-27  Anton Muhin  <antonm@chromium.org>
1719
1720         Reviewed by David Levin.
1721
1722         [v8] Remove unused methods to protect/unprotect wrappers during garbage collection
1723         https://bugs.webkit.org/show_bug.cgi?id=51648
1724
1725         * bindings/v8/ScriptController.cpp:
1726         * bindings/v8/ScriptController.h:
1727         * bindings/v8/V8GCController.cpp:
1728         (WebCore::V8GCController::gcEpilogue):
1729         * bindings/v8/V8GCController.h:
1730
1731 2010-12-27  Yury Semikhatsky  <yurys@chromium.org>
1732
1733         Unreviewed. Removed trailing spaces from a localized
1734         string to make it the same as the one used in the code.
1735
1736         * English.lproj/localizedStrings.js:
1737
1738 2010-12-27  Yael Aharon  <yael.aharon@nokia.com>
1739
1740         Reviewed by Eric Seidel.
1741
1742         Browser is failing 16 baseline test from Selector API Test Suite
1743         https://bugs.webkit.org/show_bug.cgi?id=42968
1744
1745         Throw an exception if there is no argument to querySelector or 
1746         querySelectorAll. This replaces the current behavior of passing the string
1747         "undefined" as the argument.
1748
1749         No new tests, just updating the existing results for 
1750         fast/dom/SelectorAPI/resig-SelectorAPI-test.xhtml.
1751
1752         * dom/Document.idl:
1753         * dom/DocumentFragment.idl:
1754         * dom/Element.idl:
1755
1756 2010-12-26  MORITA Hajime  <morrita@google.com>
1757
1758         Reviewed by Dan Bernstein.
1759
1760         For box-shadow, non-primary shadows should have specified radii.
1761         https://bugs.webkit.org/show_bug.cgi?id=51386
1762
1763         On paintBoxShadow(), the spread value accidentally accumulated accidentally
1764         during the loop, which should be applied individually for radius of each shadow. 
1765         This change makes the radii for rects computed for each shadow.
1766         
1767         Test: fast/box-shadow/spread-multiple-normal.html
1768
1769         * rendering/RenderBoxModelObject.cpp:
1770         (WebCore::RenderBoxModelObject::paintBoxShadow):
1771
1772 2010-12-26  Patrick Gansterer  <paroga@webkit.org>
1773
1774         Reviewed by Eric Seidel.
1775
1776         Improve output of HTML parser benchmark
1777         https://bugs.webkit.org/show_bug.cgi?id=51611
1778
1779         Calculate and show median, min and max values.
1780
1781         * benchmarks/parser/html-parser.html:
1782
1783 2010-12-26  Abhishek Arya  <inferno@chromium.org>
1784
1785         Reviewed by Simon Fraser.
1786
1787         Remove the bad assert in paintPaginatedChildLayer, hitTestPaginatedChildLayer. 
1788         https://bugs.webkit.org/show_bug.cgi?id=48772
1789
1790         Test: fast/multicol/renderer-positioned-assert-crash.html
1791
1792         * rendering/RenderLayer.cpp:
1793         (WebCore::RenderLayer::paintPaginatedChildLayer):
1794         (WebCore::RenderLayer::hitTestPaginatedChildLayer):
1795
1796 2010-12-25  Peter Rybin  <peter.rybin@gmail.com>
1797
1798         Reviewed by Adam Barth.
1799
1800         Adds currentColumn (and currentLine) to SegmentedString. Switches
1801         HTMLTreeBuilder to HTMLDocumentParser::textPosition when it
1802         needs position for a <script> tag.
1803
1804         SegmentedString should provide column position
1805         https://bugs.webkit.org/show_bug.cgi?id=51311
1806
1807         * html/parser/HTMLDocumentParser.cpp:
1808         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1809         (WebCore::HTMLDocumentParser::textPosition):
1810         * html/parser/HTMLInputStream.h:
1811         (WebCore::HTMLInputStream::current):
1812         (WebCore::InsertionPointRecord::InsertionPointRecord):
1813         (WebCore::InsertionPointRecord::~InsertionPointRecord):
1814         * html/parser/HTMLTreeBuilder.cpp:
1815         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1816         (WebCore::HTMLTreeBuilder::processScriptStartTag):
1817         * html/parser/HTMLTreeBuilder.h:
1818         (WebCore::HTMLTreeBuilder::create):
1819         * platform/text/SegmentedString.cpp:
1820         (WebCore::SegmentedString::operator=):
1821         (WebCore::SegmentedString::numberOfCharactersConsumedSlow):
1822         (WebCore::SegmentedString::advanceSlowCase):
1823         (WebCore::SegmentedString::currentLine):
1824         (WebCore::SegmentedString::currentColumn):
1825         (WebCore::SegmentedString::setCurrentPosition):
1826         * platform/text/SegmentedString.h:
1827         (WebCore::SegmentedString::SegmentedString):
1828         (WebCore::SegmentedString::advancePastNewline):
1829         (WebCore::SegmentedString::advance):
1830         (WebCore::SegmentedString::numberOfCharactersConsumed):
1831
1832 2010-12-25  Andreas Kling  <kling@webkit.org>
1833
1834         Reviewed by Kenneth Rohde Christiansen.
1835
1836         GraphicsContext: Don't pass StrokeStyle (enum) as const reference
1837         https://bugs.webkit.org/show_bug.cgi?id=51608
1838
1839         * platform/graphics/GraphicsContext.cpp:
1840         (WebCore::GraphicsContext::setStrokeStyle):
1841         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1842         (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
1843         * platform/graphics/GraphicsContext.h:
1844         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1845         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1846         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
1847         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1848         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
1849         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1850         * platform/graphics/openvg/PainterOpenVG.cpp:
1851         (WebCore::PainterOpenVG::setStrokeStyle):
1852         * platform/graphics/openvg/PainterOpenVG.h:
1853         * platform/graphics/qt/GraphicsContextQt.cpp:
1854         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1855         * platform/graphics/skia/GraphicsContextSkia.cpp:
1856         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1857
1858 2010-12-24  Dan Bernstein  <mitz@apple.com>
1859
1860         Reviewed by Alexey Proskuryakov.
1861
1862         REGRESSION (r74648): XHR layout test failures
1863         https://bugs.webkit.org/show_bug.cgi?id=51603
1864
1865         Reverted r74648.
1866
1867         * WebCore.exp.in:
1868
1869 2010-12-24  Dan Bernstein  <mitz@apple.com>
1870
1871         Try to fix the Qt build after r74648.
1872
1873         * WebCore.gypi:
1874         * WebCore.pro:
1875         * platform/network/qt/CredentialStorageQt.cpp: Added.
1876         (WebCore::CredentialStorage::getFromPersistentStorage):
1877
1878 2010-12-24  Simon Fraser  <simon.fraser@apple.com>
1879
1880         Reviewed by Dan Bernstein.
1881
1882         CSSStyleSelector cleanup
1883         https://bugs.webkit.org/show_bug.cgi?id=51597
1884
1885         Make some methods const. Add assertion to checkOneSelector, with the
1886         intention of later removing the if (!e) check (this is hot code).
1887
1888         * css/CSSStyleSelector.cpp:
1889         (WebCore::CSSStyleSelector::locateCousinList):
1890         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1891         (WebCore::CSSStyleSelector::locateSharedStyle):
1892         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1893         (WebCore::CSSStyleSelector::mmLength):
1894         (WebCore::CSSStyleSelector::inchLength):
1895         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
1896         (WebCore::CSSStyleSelector::hasSelectorForAttribute):
1897         * css/CSSStyleSelector.h:
1898         (WebCore::CSSStyleSelector::fontSelector):
1899
1900 2010-12-24  Dan Bernstein  <mitz@apple.com>
1901
1902         Reviewed by Anders Carlsson.
1903
1904         <rdar://problem/8758386> The web process uses its own credential storage
1905         https://bugs.webkit.org/show_bug.cgi?id=51599
1906
1907         * WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(),
1908         and Credential::isEmpty().
1909
1910 2010-12-24  Yury Semikhatsky  <yurys@chromium.org>
1911
1912         Reviewed by Darin Adler.
1913
1914         [V8] Rename V8CustomEventListener.{h,cpp} to V8EventListener.{h,cpp}
1915         https://bugs.webkit.org/show_bug.cgi?id=51595
1916
1917         * WebCore.gypi:
1918         * bindings/v8/V8DOMWrapper.cpp:
1919         * bindings/v8/V8EventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.cpp.
1920         (WebCore::V8EventListener::V8EventListener):
1921         (WebCore::V8EventListener::getListenerFunction):
1922         (WebCore::V8EventListener::callListenerFunction):
1923         * bindings/v8/V8EventListener.h: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.h.
1924         (WebCore::V8EventListener::create):
1925         * bindings/v8/V8EventListenerList.h:
1926         * bindings/v8/V8WorkerContextEventListener.h:
1927         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1928         * bindings/v8/custom/V8LocationCustom.cpp:
1929         * bindings/v8/custom/V8NodeCustom.cpp:
1930         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1931
1932 2010-12-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1933
1934         Reviewed by Xan Lopez.
1935
1936         [GTK] Show current time / total in media player
1937         https://bugs.webkit.org/show_bug.cgi?id=51535
1938
1939         * css/mediaControlsGtk.css:
1940         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
1941         * platform/gtk/RenderThemeGtk.cpp:
1942         (WebCore::RenderThemeGtk::formatMediaControlsCurrentTime):
1943         (WebCore::RenderThemeGtk::paintMediaCurrentTime):
1944         * platform/gtk/RenderThemeGtk.h:
1945
1946 2010-12-24  Jan Erik Hanssen  <jhanssen@sencha.com>
1947
1948         Reviewed by Eric Seidel.
1949
1950         Clean up CSSRuleData in CSSStyleSelector.h
1951         https://bugs.webkit.org/show_bug.cgi?id=27753
1952
1953         Move CSSRuleData and CSSRuleDataList from CSSStyleSelector.h to the .cpp file.
1954
1955         * css/CSSStyleSelector.cpp:
1956         (WebCore::CSSRuleData::CSSRuleData):
1957         (WebCore::CSSRuleData::~CSSRuleData):
1958         (WebCore::CSSRuleData::position):
1959         (WebCore::CSSRuleData::rule):
1960         (WebCore::CSSRuleData::selector):
1961         (WebCore::CSSRuleData::next):
1962         (WebCore::CSSRuleDataList::CSSRuleDataList):
1963         (WebCore::CSSRuleDataList::~CSSRuleDataList):
1964         (WebCore::CSSRuleDataList::first):
1965         (WebCore::CSSRuleDataList::last):
1966         (WebCore::CSSRuleDataList::append):
1967         * css/CSSStyleSelector.h:
1968
1969 2010-12-24  Yury Semikhatsky  <yurys@chromium.org>
1970
1971         Unreviewed. Fix compilation on Windows.
1972
1973         * inspector/InspectorStyleSheet.cpp:
1974         (WebCore::InspectorStyle::~InspectorStyle): added explicit empty destructor
1975         * inspector/InspectorStyleSheet.h:
1976
1977 2010-12-24  Yury Semikhatsky  <yurys@chromium.org>
1978
1979         Reviewed by Darin Adler.
1980
1981         inspector/debugger-step-out.html crashing intermittently in the bots
1982         https://bugs.webkit.org/show_bug.cgi?id=50868
1983
1984         Use RefPtr rather instead of raw pointers when keeping references
1985         to refcounted objects.
1986
1987         * inspector/InspectorCSSAgent.cpp:
1988         (WebCore::InspectorCSSAgent::getStylesForNode2):
1989         (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
1990         * inspector/InspectorStyleSheet.cpp:
1991         (WebCore::InspectorStyle::create):
1992         (WebCore::InspectorStyle::InspectorStyle):
1993         (WebCore::InspectorStyle::buildObjectForStyle):
1994         (WebCore::InspectorStyle::setPropertyText):
1995         (WebCore::InspectorStyle::toggleProperty):
1996         (WebCore::InspectorStyle::styleText):
1997         (WebCore::InspectorStyle::populateAllProperties):
1998         (WebCore::InspectorStyle::replacePropertyInStyleText):
1999         (WebCore::InspectorStyleSheet::create):
2000         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
2001         (WebCore::InspectorStyleSheetForInlineStyle::create):
2002         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
2003         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2004         * inspector/InspectorStyleSheet.h:
2005         (WebCore::InspectorStyle::cssStyle):
2006         (WebCore::InspectorStyleSheet::pageStyleSheet):
2007
2008 2010-12-24  Justin Schuh  <jschuh@chromium.org>
2009
2010         Reviewed by Nikolas Zimmermann.
2011
2012         SVGElementInstance::m_useElement should be cleared when use element is removed from document
2013         https://bugs.webkit.org/show_bug.cgi?id=51486
2014
2015         Test: svg/custom/use-instanceRoot-with-use-removed.svg
2016
2017         * svg/SVGElementInstance.cpp:
2018         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
2019         * svg/SVGElementInstance.h:
2020         (WebCore::SVGElementInstance::clearUseElement):
2021         * svg/SVGUseElement.cpp:
2022         (WebCore::SVGUseElement::removedFromDocument):
2023         (WebCore::ShadowTreeUpdateBlocker::if):
2024         (WebCore::SVGUseElement::detachInstance):
2025         (WebCore::SVGUseElement::detach):
2026         * svg/SVGUseElement.h:
2027
2028 2010-12-23  Joseph Pecoraro  <joepeck@webkit.org>
2029
2030         Reviewed by Yury Semikhatsky.
2031
2032         Web Inspector: Missing Localized Strings
2033         https://bugs.webkit.org/show_bug.cgi?id=51542
2034
2035         Added missing strings: "WebSocket",  "Frames", "Text", "Transfer",
2036         "Preserve Log upon Navigation", and "Go to Line".
2037
2038         * English.lproj/localizedStrings.js:
2039
2040 2010-12-24  Alexander Pavlov  <apavlov@chromium.org>
2041
2042         Reviewed by Yury Semikhatsky.
2043
2044         Web Inspector: Inline HTML style property out of sync with element.style in Sidebar
2045         https://bugs.webkit.org/show_bug.cgi?id=51478
2046
2047         Now the element attribute modifications (including "style") are tracked, which results in the
2048         source offsets update (in the backend) and Styles/Metrics pane updates (in the frontend)
2049         on the "style" attribute modification through the Elements tree. Also, it appears that
2050         a complete "style" attribute removal destroys the inline style declaration
2051         (StyledElement::m_inlineStyleDecl), while the code used to rely on it being immutable (hence a crash).
2052
2053         Test: inspector/elements-delete-inline-style.html
2054
2055         * inspector/InspectorCSSAgent.cpp:
2056         (WebCore::InspectorCSSAgent::didModifyDOMAttr):
2057         * inspector/InspectorCSSAgent.h:
2058         * inspector/InspectorDOMAgent.cpp:
2059         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
2060         * inspector/InspectorDOMAgent.h:
2061         * inspector/InspectorStyleSheet.cpp:
2062         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
2063         (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
2064         (WebCore::InspectorStyleSheetForInlineStyle::text):
2065         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
2066         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2067         * inspector/InspectorStyleSheet.h:
2068         * inspector/front-end/ElementsTreeOutline.js:
2069         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
2070
2071 2010-12-24  Noel Gordon  <noel.gordon@gmail.com>
2072
2073         Reviewed by Andreas Kling.
2074
2075         [chromium] Fix a style nit in the JPEG encoder
2076         https://bugs.webkit.org/show_bug.cgi?id=51574
2077
2078         * platform/image-encoders/skia/JPEGImageEncoder.cpp: nit begone.
2079
2080 2010-12-23  Alexander Pavlov  <apavlov@chromium.org>
2081
2082         Reviewed by Maciej Stachowiak.
2083
2084         Web Inspector: CSS shorthand properties expand unnecessarily
2085         https://bugs.webkit.org/show_bug.cgi?id=36304
2086
2087         "border-radius" is a shorthand property that has a "non-standard" format and longhands, see
2088         http://www.w3.org/TR/css3-background/#border-radius for reference. CSSParser does not use the
2089         standard parseShorthand() or parse4Values() methods but instead a custom parseBorderRadius() method.
2090         This method didn't use to create a ShorthandScope instance and set the m_implicitShorthand value
2091         appropriately when adding implicit longhands, thus they were added as normal properties
2092         found in the CSS (neither implicit, nor longhands). This is now fixed.
2093
2094         * css/CSSParser.cpp:
2095         (WebCore::CSSParser::parseBorderRadius):
2096
2097 2010-12-24  Justin Schuh  <jschuh@chromium.org>
2098
2099         Reviewed by Darin Adler.
2100
2101         setTargetAttributeAnimatedValue should check for a null shadowTreeElement.
2102         https://bugs.webkit.org/show_bug.cgi?id=51576
2103
2104         Disallowed elements may be pruned from the shadow tree, leaving a null
2105         shadowTreeElement. We should check for that before setting attributes.
2106
2107         Test: svg/custom/animate-disallowed-use-element.svg
2108
2109         * svg/SVGAnimationElement.cpp:
2110         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2111
2112 2010-12-24  Evan Martin  <evan@chromium.org>
2113
2114         Reviewed by Darin Adler.
2115
2116         TextMetrics::width is an integer, but the member is a float
2117         https://bugs.webkit.org/show_bug.cgi?id=51566
2118
2119         Change the return type to a float.
2120
2121         No tests, fixing a compiler warning.
2122         (I was unable to produce a difference in the values exposed to pages
2123         with a float versus the previous conversion to an integer.)
2124
2125         * html/TextMetrics.h:
2126         (WebCore::TextMetrics::width):
2127
2128 2010-12-24  Ryuan Choi  <ryuan.choi@samsung.com>
2129
2130         Reviewed by Kenneth Rohde Christiansen.
2131
2132         [EFL] Add option to enable Touch Events.
2133         https://bugs.webkit.org/show_bug.cgi?id=49125
2134
2135         Add files for EFL to support TOUCH_EVENTS.
2136
2137         * CMakeLists.txt:
2138         * CMakeListsEfl.txt:
2139         * platform/PlatformTouchEvent.h: Add EFL related constructor.
2140         * platform/PlatformTouchPoint.h: ditto.
2141         * platform/efl/PlatformTouchEventEfl.cpp: Added.
2142         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2143         * platform/efl/PlatformTouchPointEfl.cpp: Added.
2144         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
2145
2146 2010-12-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2147
2148         Reviewed by Kenneth Rohde Christiansen.
2149
2150         [EFL] Return an empty string instead of 'application/octet-stream' in getMIMETypeForExtension()
2151         https://bugs.webkit.org/show_bug.cgi?id=51457
2152
2153         WebKit EFL can't play html5 audio because of wrong mime type checking.
2154         So, 'application/octet-stream' is changed with an empty string.
2155
2156         * platform/efl/MIMETypeRegistryEfl.cpp:
2157         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2158         Returns an empty string instead of application/octet-stream when it can't find proper mime type.
2159
2160 2010-12-24  Justin Schuh  <jschuh@chromium.org>
2161
2162         Reviewed by Darin Adler.
2163
2164         SVGFontFaceElement::rebuildFontFace() should exit when not in document
2165         https://bugs.webkit.org/show_bug.cgi?id=51571
2166
2167         We were hitting a NULL deref crash. Since most of the callers checked
2168         inDocument() anyway, I moved it into the start of rebuildFontFace.
2169
2170         Test: svg/custom/use-invalid-font-face.svg
2171
2172         * svg/SVGFontFaceElement.cpp:
2173         (WebCore::SVGFontFaceElement::parseMappedAttribute):
2174         (WebCore::SVGFontFaceElement::rebuildFontFace):
2175         (WebCore::SVGFontFaceElement::childrenChanged):
2176
2177 2010-12-24  Justin Schuh  <jschuh@chromium.org>
2178
2179         Reviewed by Darin Adler.
2180
2181         Remove unnecessary check in CSSCanvasValue::canvasDestroyed().
2182         https://bugs.webkit.org/show_bug.cgi?id=51564
2183
2184         This check was duplicating an ASSERT for a case fixed in r73927.
2185         Now that the bug is fixed the check is no longer necessary.
2186
2187         Removing dead code, so no new tests needed.
2188
2189         * css/CSSCanvasValue.cpp:
2190         (WebCore::CSSCanvasValue::canvasDestroyed):
2191
2192 2010-12-23  Evan Martin  <evan@chromium.org>
2193
2194         Reviewed by Darin Adler.
2195
2196         ViewportArguments.h uses an enum to intialize a bool
2197         https://bugs.webkit.org/show_bug.cgi?id=50982
2198
2199         Initialize userScalable to true, rather than -1.
2200         No tests; fixes a compiler warning.
2201
2202         * dom/ViewportArguments.h:
2203         (WebCore::ViewportArguments::ViewportArguments):
2204
2205 2010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>
2206
2207         Reviewed by Adam Barth.
2208
2209         [Qt] User name/password stripped from URLs
2210         https://bugs.webkit.org/show_bug.cgi?id=36232
2211
2212         If a username but no password or no username but a password is present
2213         in a URL, QtWebKit won't send any authentication information down to Qt
2214         as it should.
2215
2216         Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html
2217                http/tests/xmlhttprequest/basic-auth-nouser.html
2218
2219         * platform/network/qt/ResourceHandleQt.cpp:
2220         (WebCore::ResourceHandle::start):
2221         (WebCore::ResourceHandle::loadResourceSynchronously):
2222
2223 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
2224
2225         Reviewed by Darin Adler.
2226
2227         queryCommandValue("FormatBlock") does not respect editing boundaries
2228         https://bugs.webkit.org/show_bug.cgi?id=51219
2229
2230         Fixed the bug by checking the element we found in elementForFormatBlockCommand
2231         does not contain the editable root.
2232
2233         * editing/FormatBlockCommand.cpp:
2234         (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
2235
2236 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
2237
2238         Reviewed by Darin Adler.
2239
2240         FormatBlock doesn't preserve typing style but it should
2241         https://bugs.webkit.org/show_bug.cgi?id=51140
2242
2243         Fixed the bug by making preserveTypingStyle return true.
2244
2245         Test: editing/execCommand/format-block-typing-style.html
2246
2247         * editing/FormatBlockCommand.h:
2248         (WebCore::FormatBlockCommand::preservesTypingStyle):
2249
2250 2010-12-23  Jessie Berlin  <jberlin@apple.com>
2251
2252         Reviewed by Sam Weinig.
2253
2254         Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
2255         https://bugs.webkit.org/show_bug.cgi?id=51563
2256
2257         Add SecurityOrigin::create(const String& protocol, const String& host, int port).
2258
2259         * WebCore.exp.in:
2260         Export the symbols for WebCore::SecurityOrigin::create(String, String, int).
2261
2262         * page/SecurityOrigin.cpp:
2263         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
2264         Use the constant MaxAllowedPort.
2265         (WebCore::SecurityOrigin::create):
2266         Sanitizing based off of that done in createFromDatabaseIdentifier.
2267         * page/SecurityOrigin.h:
2268
2269 2010-12-23  Patrick Gansterer  <paroga@webkit.org>
2270
2271         Unreviewed build fix for WinCE after r73802.
2272
2273         Reapply r70812:
2274         Port ContextMenuItemWin.cpp to WinCE
2275         https://bugs.webkit.org/show_bug.cgi?id=48407
2276
2277         * platform/win/ContextMenuItemWin.cpp:
2278
2279 2010-12-23  Adam Barth  <abarth@webkit.org>
2280
2281         Remove include of non-existant file.
2282
2283         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2284
2285 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
2286
2287         Reviewed by Darin Adler.
2288
2289         Selection becomes stale when CharacterData is manipulated directly
2290         https://bugs.webkit.org/show_bug.cgi?id=51389
2291
2292         The bug was caused by SelectionController's not adjusting selection when CharacterData's
2293         m_data is modified by its API.
2294
2295         Fixed the bug by adding textWillBeReplaced to SelectionController and calling it in
2296         CharacterData::textWillBeReplaced. Added newLength to setDataAndUpdate, which is passed to
2297         textWillBeReplaced because inserting, replacing, or removing data may require moving
2298         the offset of the selection end points (done by shouldRemovePositionAfterAdoptingTextReplacement).
2299
2300         Also fixed the condition for determining whether or not a node intersects the selection
2301         in respondToNodeModification, which is extracted from nodeWillBeRemoved. The old condition
2302         failed to recognize certain cases when selection started and ended with non-zero offsets.
2303
2304         Tests: editing/selection/character-data-mutation-crash.html
2305                editing/selection/character-data-mutation.html
2306
2307         * dom/CharacterData.cpp:
2308         (WebCore::CharacterData::setData): Passes newLegnth to setDataAndUpdate.
2309         (WebCore::CharacterData::appendData): Ditto.
2310         (WebCore::CharacterData::insertData): Ditto.
2311         (WebCore::CharacterData::deleteData): Ditto.
2312         (WebCore::CharacterData::replaceData): Ditto.
2313         (WebCore::CharacterData::setDataAndUpdate): Added newLegnth to the argument list,
2314         and renamed lengthOfReplacedData to oldLength; calls textWillBeReplaced.
2315         * dom/CharacterData.h:
2316         * editing/SelectionController.cpp:
2317         (WebCore::removingNodeRemovesPosition): Removed indentations from blank lines.
2318         (WebCore::SelectionController::nodeWillBeRemoved): Calls nodeWillBeRemoved.
2319         (WebCore::SelectionController::respondToNodeModification): Extracted from nodeWillBeRemoved;
2320         fixed the logic to figure out whether a node is inside the range or not.
2321         (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): Added.
2322         (WebCore::SelectionController::textWillBeReplaced): Added.
2323         * editing/SelectionController.h:
2324
2325 2010-12-23  Adam Barth  <abarth@webkit.org>
2326
2327         Reviewed by Darin Adler.
2328
2329         Remove unneeded V8 bindings files
2330         https://bugs.webkit.org/show_bug.cgi?id=51570
2331
2332         * WebCore.gypi:
2333         * bindings/generic/BindingDOMWindow.h: Removed.
2334         * bindings/v8/specialization/V8BindingDOMWindow.h: Removed.
2335
2336 2010-12-23  Dan Bernstein  <mitz@apple.com>
2337
2338         Build fix.
2339
2340         * editing/EditorCommand.cpp:
2341         (WebCore::enabledDismissCorrectionPanel):
2342
2343 2010-12-23  Darin Adler  <darin@apple.com>
2344
2345         Try to fix crash seen on GTK bot.
2346
2347         * editing/EditorCommand.cpp:
2348         (WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580.
2349
2350         * WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file.
2351
2352 2010-12-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2353
2354         Unreviewed, rolling out r74561.
2355         http://trac.webkit.org/changeset/74561
2356         https://bugs.webkit.org/show_bug.cgi?id=51565
2357
2358         "Broke Chromium UI tests on Vista" (Requested by kbr_google on
2359         #webkit).
2360
2361         * platform/graphics/chromium/ImageLayerChromium.cpp:
2362         (WebCore::ImageLayerChromium::updateContentsIfDirty):
2363         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2364         (WebCore::GraphicsContext3D::getImageData):
2365
2366 2010-12-23  Mihai Parparita  <mihaip@chromium.org>
2367
2368         Reviewed by Kent Tamura.
2369
2370         [Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT
2371         https://bugs.webkit.org/show_bug.cgi?id=51507
2372         
2373         Adds WebThemeEngine for the Mac (it already has parallel definitions for
2374         Windows and Linux) so that scrollbar thumb rendering can be overridden
2375         for the DRT (to be consistent with the NSScroller-based rendering
2376         used by the Mac port).
2377
2378         No new tests since the functionality is not exposed yet. Eventually will
2379         result in the Chromium/Mac port being able to use the same pixel
2380         baselines for layout tests as the Mac port.
2381
2382         * platform/chromium/ChromiumBridge.h:
2383         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2384         (WebCore::scrollbarStateToThemeState):
2385         (WebCore::ScrollbarThemeChromiumMac::paint):
2386
2387 2010-12-23  Darin Adler  <darin@apple.com>
2388
2389         Reviewed by Sam Weinig.
2390
2391         WKView should not try to do asynchronous validation for selectors that are not editor commands
2392         https://bugs.webkit.org/show_bug.cgi?id=51555
2393
2394         * WebCore.exp.in: Added commandIsSupportedFromMenuOrKeyBinding.
2395         * editing/Editor.h: Reordered arguments in the Editor::Command constructor
2396         and the data members too so the frame is last. Added
2397         commandIsSupportedFromMenuOrKeyBinding.
2398
2399         * editing/EditorCommand.cpp:
2400         (WebCore::supported): Removed the EditorCommandSource argument. These
2401         functions are now only used when called from DOM.
2402         (WebCore::supportedFromMenuOrKeyBinding): Ditto.
2403         (WebCore::supportedCopyCut): Ditto.
2404         (WebCore::supportedPaste): Ditto.
2405         (WebCore::enabledDismissCorrectionPanel): Changed the supported function to
2406         an enabled function. It was incorrect to say that this is "supported" only
2407         when the correction panel is up. Correct to say that it is "enabled" only
2408         then. And also probably OK to enable it even when the selection is not in
2409         editable text, as long as the panel is up.
2410         (WebCore::createCommandMap): Moved conditional commands out of the main
2411         array into a separate section at the end.
2412         (WebCore::internalCommand): Added.
2413         (WebCore::Editor::command): Changed to use the new internalCommand function
2414         and simplified by relying on the null check in the Command constructor.
2415         (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding): Added.
2416         (WebCore::Editor::Command::Command): Removed unneeded initialization of
2417         m_source, which is never looked at if m_command is 0. Added feature of
2418         passing a null command pointer to the non-default constructor.
2419         (WebCore::Editor::Command::isSupported): Changed to only call the
2420         per-command isSupported function when the command source is DOM.
2421         Accordingly that function is now called isSupportedFromDOM.
2422
2423 2010-12-23  Matthew Delaney  <mdelaney@apple.com>
2424
2425         Reviewed by Simon Fraser.
2426
2427         Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing
2428         https://bugs.webkit.org/show_bug.cgi?id=51560
2429
2430         No new tests.
2431
2432         * platform/graphics/ca/GraphicsLayerCA.cpp:
2433         (WebCore::GraphicsLayerCA::setAcceleratesDrawing):
2434
2435 2010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>
2436
2437         Reviewed by Andreas Kling.
2438
2439         [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown
2440         https://bugs.webkit.org/show_bug.cgi?id=35635
2441
2442         Explicitly set text/html data on QClipboard as UTF-8 and also include a <meta>
2443         tag informing the OS that the data is in UTF-8 format.
2444
2445         * platform/qt/PasteboardQt.cpp:
2446         (WebCore::Pasteboard::writeSelection):
2447
2448 2010-12-23  Justin Schuh  <jschuh@chromium.org>
2449
2450         Reviewed by Eric Seidel.
2451
2452         CSSCursorImageValue destructor should clear referenced element.
2453         https://bugs.webkit.org/show_bug.cgi?id=51417
2454
2455         Calls correct method to clear image and renames method to avoid future confusion.
2456
2457         Test: svg/css/cursor-image-replace.svg
2458
2459         * css/CSSCursorImageValue.cpp:
2460         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
2461         * svg/SVGElement.cpp:
2462         (WebCore::SVGElement::cursorImageValueRemoved):
2463         * svg/SVGElement.h:
2464
2465 2010-12-22  Sam Weinig  <sam@webkit.org>
2466
2467         Reviewed by Darin Adler.
2468
2469         WebKit2 needs to mirror the frame tree in the UIProcess
2470         https://bugs.webkit.org/show_bug.cgi?id=51546
2471
2472         - Add client functions to notify that a frame has been added or
2473           removed from the page cache.
2474
2475         * history/CachedFrame.cpp:
2476         (WebCore::CachedFrameBase::restore):
2477         (WebCore::CachedFrame::CachedFrame):
2478         * history/CachedFrame.h:
2479         * loader/EmptyClients.h:
2480         (WebCore::EmptyFrameLoaderClient::didSaveToPageCache):
2481         (WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache):
2482         * loader/FrameLoaderClient.h:
2483
2484 2010-12-22  Matthew Delaney  <mdelaney@apple.com>
2485
2486         Reviewed by Simon Fraser.
2487
2488         Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces
2489         This patch also changes USE_IOSURFACE to instead follow USE(IOSURFACE)
2490         https://bugs.webkit.org/show_bug.cgi?id=51279
2491
2492         * html/HTMLCanvasElement.cpp: For IOSurface, use setNeedsStyleRecalc
2493         * html/canvas/CanvasRenderingContext2D.cpp: Use new flag
2494         * platform/graphics/ImageBuffer.h: Use new flag
2495         * platform/graphics/cg/ImageBufferCG.cpp: Use new flag
2496
2497 2010-12-20  Adrienne Walker  <enne@google.com>
2498
2499         Reviewed by Kenneth Russell.
2500
2501         [chromium] Tile root layer of the compositor.
2502         https://bugs.webkit.org/show_bug.cgi?id=49947
2503
2504         Refactor root layer update and drawing from LayerRendererChromium into
2505         LayerTilerChromium.  The root layer is now drawn as multiple tiles
2506         rather than as one single large texture.  Scrollbars are now drawn
2507         separately rather than as part of the root layer.
2508
2509         Test: LayoutTests/compositing/
2510
2511         * WebCore.gypi:
2512         * page/FrameView.cpp:
2513         (WebCore::FrameView::repaintContentRectangle):
2514         * platform/ScrollView.cpp:
2515         (WebCore::ScrollView::ScrollView):
2516         (WebCore::ScrollView::setClipsRepaints):
2517         * platform/ScrollView.h:
2518         (WebCore::ScrollView::clipsRepaints):
2519         * platform/graphics/chromium/LayerChromium.h:
2520         * platform/graphics/chromium/LayerRendererChromium.cpp:
2521         (WebCore::LayerRendererChromium::LayerRendererChromium):
2522         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2523         (WebCore::LayerRendererChromium::useShader):
2524         (WebCore::LayerRendererChromium::verticalScrollbarRect):
2525         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2526         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
2527         (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
2528         (WebCore::LayerRendererChromium::drawLayers):
2529         (WebCore::LayerRendererChromium::setRootLayer):
2530         (WebCore::LayerRendererChromium::initializeSharedObjects):
2531         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2532         * platform/graphics/chromium/LayerRendererChromium.h:
2533         * platform/graphics/chromium/LayerTilerChromium.cpp: Added.
2534         (WebCore::LayerTilerChromium::create):
2535         (WebCore::LayerTilerChromium::LayerTilerChromium):
2536         (WebCore::LayerTilerChromium::~LayerTilerChromium):
2537         (WebCore::LayerTilerChromium::layerRendererContext):
2538         (WebCore::LayerTilerChromium::setTileSize):
2539         (WebCore::LayerTilerChromium::reset):
2540         (WebCore::LayerTilerChromium::createTile):
2541         (WebCore::LayerTilerChromium::invalidateTiles):
2542         (WebCore::LayerTilerChromium::contentRectToTileIndices):
2543         (WebCore::LayerTilerChromium::contentRectToLayerRect):
2544         (WebCore::LayerTilerChromium::layerRectToContentRect):
2545         (WebCore::LayerTilerChromium::tileIndex):
2546         (WebCore::LayerTilerChromium::tileContentRect):
2547         (WebCore::LayerTilerChromium::tileLayerRect):
2548         (WebCore::LayerTilerChromium::invalidateRect):
2549         (WebCore::LayerTilerChromium::invalidateEntireLayer):
2550         (WebCore::LayerTilerChromium::update):
2551         (WebCore::LayerTilerChromium::setLayerPosition):
2552         (WebCore::LayerTilerChromium::draw):
2553         (WebCore::LayerTilerChromium::resizeLayer):
2554         (WebCore::LayerTilerChromium::growLayerToContain):
2555         (WebCore::LayerTilerChromium::Tile::~Tile):
2556         (WebCore::LayerTilerChromium::Tile::releaseTextureId):
2557         * platform/graphics/chromium/LayerTilerChromium.h: Added.
2558         (WebCore::LayerTilerChromium::Tile::Tile):
2559         (WebCore::LayerTilerChromium::Tile::textureId):
2560         (WebCore::LayerTilerChromium::Tile::dirty):
2561         (WebCore::LayerTilerChromium::Tile::clearDirty):
2562         (WebCore::LayerTilerChromium::layerRenderer):
2563
2564 2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
2565
2566         Reviewed by Eric Seidel.
2567
2568         Editor.h doesn't need to include SelectionController.h
2569         https://bugs.webkit.org/show_bug.cgi?id=51441
2570
2571         Removed #include <Selection.h> from Editor.h.
2572         Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection
2573         to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h
2574
2575         * WebCore.exp.in: Signature changes.
2576         * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h
2577         * accessibility/AccessibilityRenderObject.cpp:
2578         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection.
2579         * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h
2580         * editing/Editor.cpp:
2581         (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection.
2582         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
2583         (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
2584         * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h
2585         and WritingDirection.h; forward declared CSSMutableStyleDeclaration.
2586         * editing/EditorCommand.cpp:
2587         (WebCore::executeDeleteBackward): Change due to SelectionDirection.
2588         (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
2589         (WebCore::executeDeleteForward): Ditto.
2590         (WebCore::executeDeleteToBeginningOfLine): Ditto.
2591         (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
2592         (WebCore::executeDeleteToEndOfLine): Ditto.
2593         (WebCore::executeDeleteToEndOfParagraph): Ditto.
2594         (WebCore::executeDeleteWordBackward): Ditto.
2595         (WebCore::executeDeleteWordForward): Ditto.
2596         (WebCore::executeForwardDelete): Ditto.
2597         (WebCore::executeMoveBackward): Ditto.
2598         (WebCore::executeMoveBackwardAndModifySelection): Ditto.
2599         (WebCore::executeMoveDown): Ditto.
2600         (WebCore::executeMoveDownAndModifySelection): Ditto.
2601         (WebCore::executeMoveForward): Ditto.
2602         (WebCore::executeMoveForwardAndModifySelection): Ditto.
2603         (WebCore::executeMoveLeft): Ditto.
2604         (WebCore::executeMoveLeftAndModifySelection): Ditto.
2605         (WebCore::executeMoveRight): Ditto.
2606         (WebCore::executeMoveRightAndModifySelection): Ditto.
2607         (WebCore::executeMoveToBeginningOfDocument): Ditto.
2608         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
2609         (WebCore::executeMoveToBeginningOfLine): Ditto.
2610         (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
2611         (WebCore::executeMoveToBeginningOfParagraph): Ditto.
2612         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
2613         (WebCore::executeMoveToBeginningOfSentence): Ditto.
2614         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
2615         (WebCore::executeMoveToEndOfDocument): Ditto.
2616         (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
2617         (WebCore::executeMoveToEndOfSentence): Ditto.
2618         (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
2619         (WebCore::executeMoveToEndOfLine): Ditto.
2620         (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
2621         (WebCore::executeMoveToEndOfParagraph): Ditto.
2622         (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
2623         (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
2624         (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
2625         (WebCore::executeMoveUp): Ditto.
2626         (WebCore::executeMoveUpAndModifySelection): Ditto.
2627         (WebCore::executeMoveWordBackward): Ditto.
2628         (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
2629         (WebCore::executeMoveWordForward): Ditto.
2630         (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
2631         (WebCore::executeMoveWordLeft): Ditto.
2632         (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
2633         (WebCore::executeMoveWordRight): Ditto.
2634         (WebCore::executeMoveWordRightAndModifySelection): Ditto.
2635         (WebCore::executeMoveToLeftEndOfLine): Ditto.
2636         (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
2637         (WebCore::executeMoveToRightEndOfLine): Ditto.
2638         (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
2639         * editing/SelectionController.cpp:
2640         (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection.
2641         (WebCore::SelectionController::modify): Ditto.
2642         * editing/SelectionController.h: Change due to SelectionDirection.
2643         * editing/TypingCommand.cpp:
2644         (WebCore::TypingCommand::deleteKeyPressed): Ditto.
2645         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
2646         * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection
2647         in SelectionController.h
2648         * editing/WritingDirection.h: Added.
2649         * page/DOMSelection.cpp:
2650         (WebCore::DOMSelection::modify): Change due to SelectionDirection.
2651         (WebCore::DOMSelection::deleteFromDocument): Ditto.
2652         * page/EventHandler.cpp:
2653         (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto.
2654         * page/Frame.h: Includes SelectionController.h.
2655
2656 2010-12-23  Adam Barth  <abarth@webkit.org>
2657
2658         Reviewed by Darin Adler.
2659
2660         Move V8 to WebCore's implementation of showModalDialog
2661         https://bugs.webkit.org/show_bug.cgi?id=51527
2662
2663         This code is basically verbatim translation from the JavaScriptCore
2664         bindings.  The only intentional difference is in the world selection
2665         for the dialog's frame.  I suspect JavaScriptCore's bindings have a
2666         subtle bug there.
2667
2668         In this patch, I also remove a bunch of now-unneeded code in the
2669         generic bindings.
2670
2671         * bindings/generic/BindingDOMWindow.h:
2672         * bindings/js/JSDOMWindowCustom.cpp:
2673         (WebCore::DialogHandler::dialogCreated):
2674         (WebCore::setUpDialog):
2675         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2676         (WebCore::DialogHandler::DialogHandler):
2677         (WebCore::DialogHandler::dialogCreated):
2678         (WebCore::DialogHandler::returnValue):
2679         (WebCore::setUpDialog):
2680         (WebCore::V8DOMWindow::showModalDialogCallback):
2681         (WebCore::V8DOMWindow::openCallback):
2682         * bindings/v8/specialization/V8BindingDOMWindow.h:
2683
2684 2010-12-23  Alexander Pavlov  <apavlov@chromium.org>
2685
2686         Reviewed by Joseph Pecoraro.
2687
2688         Web Inspector: Can't backspace from CSS value to CSS key field
2689         https://bugs.webkit.org/show_bug.cgi?id=51476
2690
2691         * inspector/front-end/StylesSidebarPane.js:
2692         (WebInspector.StylePropertyTreeElement.prototype.):
2693         (WebInspector.StylePropertyTreeElement.prototype):
2694
2695 2010-12-23  W. James MacLean  <wjmaclean@chromium.org>
2696
2697         Reviewed by Kenneth Russell.
2698
2699         [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
2700         https://bugs.webkit.org/show_bug.cgi?id=51186
2701
2702         No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
2703
2704         * platform/graphics/chromium/ImageLayerChromium.cpp:
2705         (WebCore::ImageLayerChromium::updateContentsIfDirty):
2706         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2707         (WebCore::GraphicsContext3D::getImageData):
2708
2709 2010-12-23  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
2710
2711         Reviewed by Kenneth Rohde Christiansen.
2712
2713         Fix check by undefined macro
2714         https://bugs.webkit.org/show_bug.cgi?id=51531
2715
2716         Fix check by undefined macro
2717
2718         When building EFL port with libsoup, BUILDING_GTK__ is not defined,
2719         leading to warnings during compile. We actually have to use an #ifdef
2720         instead of an #if.
2721
2722         No change in functionality so no new tests.
2723
2724         * platform/network/soup/cache/webkit/soup-cache.h:
2725
2726 2010-12-23  Jonathan Dixon  <joth@chromium.org>
2727
2728         Reviewed by Steve Block.
2729
2730         TouchEvents does not support multi-touch on a page with multiple touch targets
2731         https://bugs.webkit.org/show_bug.cgi?id=51258
2732
2733         Test: fast/events/touch/multi-touch-grouped-targets.html
2734
2735         * page/EventHandler.cpp:
2736         (WebCore::eventNameForTouchPointState):
2737         (WebCore::EventHandler::handleTouchEvent):
2738         Redesigned event handler to ensure all event targets involved in a given
2739         multitouch event get the appropriate event(s) fired.
2740
2741         * platform/PlatformTouchPoint.h: Added end-stop marker for State enum.
2742
2743 2010-12-23  Philippe Normand  <pnormand@igalia.com>
2744
2745         Reviewed by Xan Lopez.
2746
2747         [GTK] media/audio-data-url.html fails since r75504
2748         https://bugs.webkit.org/show_bug.cgi?id=51525
2749
2750         Make the GStreamer media-player advertize 3gpp mime-types as
2751         supported if the 3gp caps are in the typefind factories.
2752
2753         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2754         (WebCore::mimeTypeCache):
2755
2756 2010-12-23  Kent Tamura  <tkent@chromium.org>
2757
2758         Reviewed by Dimitri Glazkov.
2759
2760         Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler()
2761         to InputTypes.
2762         https://bugs.webkit.org/show_bug.cgi?id=51093
2763
2764         Move BeforeTextInserted and Wheel event handling, event forwarding to
2765         renderers, and the isindex form submission quirk code to InputTypes.
2766         Also, change the return types of InputType event handlers from 'bool'
2767         to 'void'. We use Event::defaultHandled() to decide whether event
2768         handling should be stopped.
2769
2770         No new tests because this is just a refactoring.
2771
2772         * html/BaseButtonInputType.cpp: bool->void changes
2773         (WebCore::BaseButtonInputType::handleKeydownEvent):
2774         (WebCore::BaseButtonInputType::handleKeypressEvent):
2775         (WebCore::BaseButtonInputType::handleKeyupEvent):
2776         * html/BaseButtonInputType.h: ditto.
2777         * html/BaseCheckableInputType.cpp: ditto.
2778         (WebCore::BaseCheckableInputType::handleKeydownEvent):
2779         (WebCore::BaseCheckableInputType::handleKeypressEvent):
2780         * html/BaseCheckableInputType.h: ditto.
2781         * html/BaseDateAndTimeInputType.cpp:
2782         (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): ditto.
2783         (WebCore::BaseDateAndTimeInputType::handleWheelEvent): Just calls handleWheelEventForSpinButton().
2784         * html/BaseDateAndTimeInputType.h: bool->void change and handleWhellEvent() addition.
2785         * html/CheckboxInputType.cpp: bool->void change
2786         (WebCore::CheckboxInputType::handleKeyupEvent):
2787         * html/CheckboxInputType.h: ditto.
2788         * html/FileInputType.cpp: ditto.
2789         (WebCore::FileInputType::handleDOMActivateEvent):
2790         * html/FileInputType.h: ditto.
2791         * html/HTMLInputElement.cpp:
2792         (WebCore::HTMLInputElement::defaultEventHandler):
2793          - Change return-value handling of InputType event handlers
2794          - Move out beforeTextInserted/wheel event handling and isindex form quirk.
2795         * html/HTMLInputElement.h:
2796         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
2797          Added so that InputType can call InputElement::handleBeforeTextInsertedEvent().
2798         * html/ImageInputType.cpp: bool->void change
2799         (WebCore::ImageInputType::handleDOMActivateEvent):
2800         * html/ImageInputType.h: ditto.
2801         * html/InputType.cpp: ditto.
2802         (WebCore::InputType::handleClickEvent):
2803         (WebCore::InputType::handleDOMActivateEvent):
2804         (WebCore::InputType::handleKeydownEvent):
2805         (WebCore::InputType::handleKeypressEvent):
2806         (WebCore::InputType::handleKeyupEvent):
2807         (WebCore::InputType::handleBeforeTextInsertedEvent):
2808         (WebCore::InputType::handleWheelEvent): Added default implementation.
2809         (WebCore::InputType::forwardEvent): ditto.
2810         (WebCore::InputType::formForSubmission): ditto.
2811         * html/InputType.h:
2812         * html/IsIndexInputType.cpp:
2813         (WebCore::IsIndexInputType::formForSubmission): Moved from HTMLInputElement.cpp.
2814         * html/IsIndexInputType.h:
2815         * html/NumberInputType.cpp:
2816         (WebCore::isNumberCharacter): Moved from HTMLInputElement.cpp.
2817         (WebCore::NumberInputType::handleKeydownEvent): bool->void change.
2818         (WebCore::NumberInputType::handleBeforeTextInsertedEvent): Moved from HTMInputElement.cpp.
2819         (WebCore::NumberInputType::handleWheelEvent): Added. Just calls handleWheelEventForSpinButton().
2820         * html/NumberInputType.h:
2821         * html/RadioInputType.cpp: bool->void changes.
2822         (WebCore::RadioInputType::handleClickEvent):
2823         (WebCore::RadioInputType::handleKeydownEvent):
2824         (WebCore::RadioInputType::handleKeyupEvent):
2825         * html/RadioInputType.h:
2826         * html/RangeInputType.cpp:
2827         (WebCore::RangeInputType::handleKeydownEvent): ditto.
2828         (WebCore::RangeInputType::forwardEvent): Moved from HTMLInputElement.cpp.
2829         * html/RangeInputType.h:
2830         * html/ResetInputType.cpp: bool->void change.
2831         (WebCore::ResetInputType::handleDOMActivateEvent):
2832         * html/ResetInputType.h: ditto.
2833         * html/SubmitInputType.cpp: ditto.
2834         (WebCore::SubmitInputType::handleDOMActivateEvent):
2835         * html/SubmitInputType.h: ditto.
2836         * html/TextFieldInputType.cpp:
2837         (WebCore::TextFieldInputType::handleKeydownEvent): bool->void change.
2838         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
2839         (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Moved from HTMLInputElement.cpp.
2840         (WebCore::TextFieldInputType::forwardEvent): ditto.
2841         * html/TextFieldInputType.h:
2842
2843 2010-12-23  Alexander Pavlov  <apavlov@chromium.org>
2844
2845         Reviewed by Joseph Pecoraro.
2846
2847         Web Inspector: After scrolling new property value and cancelling, removed property remains active in page style
2848         https://bugs.webkit.org/show_bug.cgi?id=51390
2849
2850         * inspector/front-end/StylesSidebarPane.js:
2851         (WebInspector.StylePropertyTreeElement.prototype):
2852
2853 2010-12-23  Noel Gordon  <noel.gordon@gmail.com>
2854
2855         Reviewed by Adam Barth.
2856
2857         [chromium] Reduce canvas.toDataURL("image/png") run-time costs 300%
2858         https://bugs.webkit.org/show_bug.cgi?id=51455
2859
2860         Chromium uses the libpng compression defaults.  Good compression results,
2861         but at much larger run-time cost compared to other browsers.  Chrome is 2
2862         times slower than Mozilla 3.6.12 and 3-4 times slower than Safari 5.0.3.
2863
2864         libpng has supported alternative compression methods for some time, they
2865         better meet the dual goals of good compression and run-time cost for the
2866         on-line case, and are well-documented.  Here use Huffman encoding.  It's
2867         2-20% faster than other encodings (Z_RLE, Z_FILTERED) and the compressed
2868         size is within 1% of the Safari 5.0.3 result independent of image size.
2869
2870         No change in behaviour, so no new tests.
2871
2872         * platform/image-encoders/skia/PNGImageEncoder.cpp:
2873         (WebCore::PNGImageEncoder::encode): Apply Huffman image encoding.
2874
2875 2010-12-22  Noel Gordon  <noel.gordon@gmail.com>
2876
2877         Reviewed by Darin Fisher.
2878
2879         [chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop
2880         https://bugs.webkit.org/show_bug.cgi?id=51321
2881
2882         Follow on from r73890, unroll the SkUnPreMultiply::PMColorToColor() call for
2883         the "image/png" encoder case viz., compute the unpremultiplication in-place.
2884         See https://bugs.webkit.org/show_bug.cgi?id=50804 for reference.
2885
2886         No new tests: canvas.toDataURL() is covered by existing tests.
2887
2888         * platform/image-encoders/skia/PNGImageEncoder.cpp:
2889         (WebCore::preMultipliedBGRAtoRGBA):
2890
2891 2010-12-22  Ariya Hidayat  <ariya@sencha.com>
2892
2893         Reviewed by Simon Fraser.
2894
2895         Implement skewX() and skewY() for CSSMatrix.
2896         https://bugs.webkit.org/show_bug.cgi?id=38335
2897
2898         * css/WebKitCSSMatrix.cpp:
2899         (WebCore::WebKitCSSMatrix::skew): Implemented skewX() and skewY().
2900         * css/WebKitCSSMatrix.h: Added skewX() and skewY().
2901         * css/WebKitCSSMatrix.idl: Added skewX() and skewY().
2902
2903 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
2904
2905         Reviewed by Dan Bernstein.
2906
2907         Support unprefixed box-shadow property
2908         https://bugs.webkit.org/show_bug.cgi?id=51448
2909         
2910         Add support for the box-shadow CSS property. We'll currently render this
2911         similarly to -webkit-box-shadow, but a later fix will adjust the blur radius
2912         handling to match the spec.
2913
2914         Test: fast/css/box-shadow.html
2915
2916         * css/CSSComputedStyleDeclaration.cpp:
2917         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle
2918         for box-shadow
2919         
2920         * css/CSSParser.cpp:
2921         (WebCore::CSSParser::parseValue):
2922         (WebCore::ShadowParseContext::ShadowParseContext):
2923         (WebCore::ShadowParseContext::commitValue):
2924         (WebCore::ShadowParseContext::commitLength):
2925         (WebCore::ShadowParseContext::commitColor): Support CSSPropertyBoxShadow
2926
2927         * css/CSSPropertyNames.in: add box-shadow
2928
2929         * css/CSSStyleSelector.cpp:
2930         (WebCore::CSSStyleSelector::applyProperty): Add CSSPropertyBoxShadow, and
2931         store in the ShadowData if this is -webkit-box-shadow or not. We'll use this
2932         to adjust radii later.
2933
2934         * css/SVGCSSStyleSelector.cpp:
2935         (WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow.
2936         
2937         * page/animation/AnimationBase.cpp:
2938         (WebCore::blendFunc):
2939         (WebCore::PropertyWrapperShadow::blend):
2940         (WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow.
2941         
2942         * rendering/style/ShadowData.cpp: Store a flag to say if this is a -webkit-box-shadow.
2943         (WebCore::ShadowData::ShadowData):
2944         (WebCore::ShadowData::operator==):
2945         * rendering/style/ShadowData.h:
2946         (WebCore::ShadowData::ShadowData):
2947         (WebCore::ShadowData::isWebkitBoxShadow):
2948
2949 2010-12-22  Michael Saboff  <msaboff@apple.com>
2950
2951         Reviewed by Sam Weinig.
2952
2953         REGRESSION: Can't shadow/overwrite window.constructor 
2954         (causes TypeError exception)
2955         https://bugs.webkit.org/show_bug.cgi?id=48953
2956
2957         Added code in the javascript code generator to create a setter for
2958         a constructor if the new extended attribute ReplaceableConstructor
2959         is present for the interface.
2960
2961         * bindings/scripts/CodeGeneratorJS.pm:
2962         * page/DOMWindow.idl:
2963
2964 2010-12-22  Steve Lacey  <sjl@chromium.org>
2965
2966         Reviewed by David Levin.
2967
2968         Change css for chromium media controls to deal with the timeline
2969         not expanding when the current time disappears. This happens when
2970         the width of the control drops below 240px.
2971
2972         This change results in a minor pixel difference - the timebar now
2973         aligns better with the time and when the time is not displayed is
2974         now perfectly centered. Disabling the affected tests for now
2975         and will rebaseline.
2976
2977         https://bugs.webkit.org/show_bug.cgi?id=51500
2978
2979         * css/mediaControlsChromium.css:
2980         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
2981         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2982         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2983         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2984
2985 2010-12-22  Mihai Parparita  <mihaip@chromium.org>
2986
2987         Reviewed by Simon Fraser.
2988
2989         the shadow direction is negated in canvas context shadowOffsetY.
2990         https://bugs.webkit.org/show_bug.cgi?id=25619
2991         
2992         Invert shadow offset Y direction in 0-blur path in FontMac::drawGlyps
2993         if we're not transforming shadows (i.e. are rendering in a canvas). Also
2994         use CG shadows if there's a non-translate/flip transform applied
2995         (shadow offsets are supposed to ignore transforms, but the naive/simple
2996         implementation was taking them into account).
2997         
2998         Also does the equivalent changes to FontCGWin.
2999
3000         Test: fast/canvas/fillText-shadow.html
3001
3002         * platform/graphics/GraphicsContext.cpp:
3003         (WebCore::GraphicsContext::shadowsIgnoreTransforms):
3004         * platform/graphics/GraphicsContext.h:
3005         * platform/graphics/mac/FontMac.mm:
3006         (WebCore::Font::drawGlyphs):
3007         * platform/graphics/win/FontCGWin.cpp:
3008         (WebCore::Font::drawGlyphs):
3009
3010 2010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>
3011
3012         Unreviewed, rolling out r74503.
3013         http://trac.webkit.org/changeset/74503
3014         https://bugs.webkit.org/show_bug.cgi?id=51513
3015
3016         breaks chromium mac debug compile (Requested by tonyg-cr on
3017         #webkit).
3018
3019         * platform/graphics/chromium/ImageLayerChromium.cpp:
3020         (WebCore::ImageLayerChromium::updateContentsIfDirty):
3021         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3022         (WebCore::GraphicsContext3D::getImageData):
3023
3024 2010-12-22  Dan Bernstein  <mitz@apple.com>
3025
3026         Reviewed by Darin Adler.
3027
3028         Replace runtime checks for hyphenation API availability with compile-time checks.
3029
3030         * platform/text/cf/HyphenationCF.cpp:
3031         (WebCore::::createValueForNullKey): Changed to use CFLocaleCopyCurrent() instead of using the
3032         search locale, which is empty on Windows. On Mac, this is equivalent to using the search locale.
3033         (WebCore::canHyphenate): Added this implementation for when the hyphenation API is not available.
3034         It is identical to the implementation in Hyphenation.cpp.
3035         (WebCore::lastHyphenLocation): Ditto.
3036
3037 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
3038
3039         Reviewed by Darin Adler.
3040
3041         Cache snapshots of plug-ins before painting, to avoid script running during painting
3042         https://bugs.webkit.org/show_bug.cgi?id=51493
3043         
3044         When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
3045         or when printing), plug-ins which otherwise use the CA rendering model
3046         are sent a paint event. Some plug-ins may run script while handling this event,
3047         or out of process plug-ins may process queued requests at this time. Running
3048         script while inside layout or painting can have bad consequences, because it
3049         can result in arbitrary changes to the render tree.
3050         
3051         This patch avoids sending plug-ins paint events inside of painting. Instead,
3052         we ask the plug-ins to cache a snapshot before we paint, and then the software
3053         paint simply draws that snapshot.
3054         
3055         Requires manual test, because the bug happens when Safari does
3056         a page snapshot. It's not possible to tell the Test Netscape Plug-in
3057         to paint without laying out, making an automated test impossible.
3058
3059         * manual-tests/plugins/plugin-paint-causes-layout.html: Added.
3060
3061         * page/FrameView.h:
3062         * page/FrameView.cpp:
3063         (WebCore::FrameView::paintContents): Notify all enclosed widgets
3064         that a flattening paint is going to happen.
3065         (WebCore::FrameView::notifyWidgetsInAllFrames): Utility method 
3066         that tells the RenderView in all subframes to notify their widgets.
3067
3068         * platform/Widget.h:
3069         (WebCore::Widget::notifyWidget): Generic method that can be used
3070         to send messages to widgets. Current messages are just 'before flattening paint'
3071         and 'after flattening paint'. Message has no payload.
3072
3073         * rendering/RenderView.h:
3074         * rendering/RenderView.cpp:
3075         (WebCore::RenderView::getRetainedWidgets):
3076         (WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(),
3077         since we use it in two places now.
3078         
3079         (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc.
3080         (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send
3081         them all the message.
3082
3083         * rendering/RenderWidget.h:
3084         * rendering/RenderWidget.cpp:
3085         (WebCore::RenderWidget::notifyWidget): Pass the message to the widget.
3086
3087 2010-12-22  Adrienne Walker  <enne@google.com>
3088
3089         Reviewed by Kenneth Russell.
3090
3091         Fix null pointer deref when restoring a lost WebGL context.
3092         https://bugs.webkit.org/show_bug.cgi?id=51494
3093
3094         No new tests, as context restored events are not currently testable.
3095
3096         * html/canvas/WebGLRenderingContext.cpp:
3097         (WebCore::WebGLRenderingContext::initializeNewContext):
3098         (WebCore::WebGLRenderingContext::restoreContext):
3099
3100 2010-12-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>
3101
3102         Reviewed by Martin Robinson.
3103
3104         [GTK] Building with Blob support fails again
3105         https://bugs.webkit.org/show_bug.cgi?id=51392
3106
3107         Build fix.
3108
3109         * GNUmakefile.am:
3110
3111 2010-12-22  Dan Bernstein  <mitz@apple.com>
3112
3113         Reviewed by Anders Carlsson.
3114
3115         canHyphenate() always returns true for the default locale
3116         https://bugs.webkit.org/show_bug.cgi?id=51506
3117
3118         No test, since this change only affects performance.
3119
3120         * platform/text/cf/HyphenationCF.cpp:
3121         (WebCore::::createValueForNullKey): Return 0 if hyphenation is not supported for the default locale.
3122         (WebCore::::createValueForKey): Removed whitespace.
3123
3124 2010-12-22  Yury Semikhatsky  <yurys@chromium.org>
3125
3126         Reviewed by Joseph Pecoraro.
3127
3128         Web Inspector: script name gets parsed as HTML in Call stack panel
3129         https://bugs.webkit.org/show_bug.cgi?id=51468
3130
3131         * inspector/front-end/Placard.js:
3132         (WebInspector.Placard.prototype.set subtitle):
3133
3134 2010-12-22  Eric Carlson  <eric.carlson@apple.com>
3135
3136         Reviewed by Darin Adler.
3137
3138         MediaPlayer should look for MIME type in data: URL
3139         https://bugs.webkit.org/show_bug.cgi?id=51195
3140
3141         If no MIME type is passed from the media element for a data: URL, try to get it from
3142         the URL itself.
3143
3144         No new tests are possible because the MIME type is just passed to the media engine.
3145
3146         * platform/graphics/MediaPlayer.cpp:
3147         (WebCore::MediaPlayer::load):
3148
3149 2010-12-22  W. James MacLean  <wjmaclean@chromium.org>
3150
3151         Reviewed by Kenneth Russell.
3152
3153         [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
3154         https://bugs.webkit.org/show_bug.cgi?id=51186
3155
3156         No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
3157
3158         * platform/graphics/chromium/ImageLayerChromium.cpp:
3159         (WebCore::ImageLayerChromium::updateContentsIfDirty):
3160         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3161         (WebCore::GraphicsContext3D::getImageData):
3162
3163 2010-12-22  Chris Fleizach  <cfleizach@apple.com>
3164
3165         Reviewed by Darin Adler.
3166
3167         WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar
3168         https://bugs.webkit.org/show_bug.cgi?id=51488
3169
3170         Test: platform/mac/accessibility/aria-menubar.html
3171
3172         * accessibility/AccessibilityObject.cpp:
3173         (WebCore::createARIARoleMap):
3174
3175 2010-12-22  Zhenyao Mo  <zmo@google.com>
3176
3177         Reviewed by Kenneth Russell.
3178
3179         CopyTex{Sub}Image2D check always if the bound fbo's internal color format is compatible
3180         https://bugs.webkit.org/show_bug.cgi?id=51423
3181
3182         * html/canvas/WebGLRenderingContext.cpp:
3183         (WebCore::WebGLRenderingContext::copyTexImage2D): Remove the isGLES2Compliant flag around format compatibility checking.
3184         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
3185         (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): Helper function to get bound framebuffer's color format; deal with the case of webgl's internal fbo.
3186         * html/canvas/WebGLRenderingContext.h:
3187
3188 2010-12-22  Xan Lopez  <xlopez@igalia.com>
3189
3190         Reviewed by Gustavo Noronha.
3191
3192         [GTK] Compilation fixes with GTK+ 2.91.7
3193         https://bugs.webkit.org/show_bug.cgi?id=51487
3194
3195         * platform/gtk/GtkVersioning.h: do not define GDK_DISPLAY for
3196         backwards compatibility, it's now defined again in GTK+ 3.x.
3197         * platform/gtk/PasteboardHelper.cpp: do not call GDK functions to
3198         initialize global static variables (!). These are called when the
3199         .so is loaded, and they now require GType to be initialized and
3200         will crash. Initialize them once from the ctor, which is a more
3201         common pattern anyway.
3202         (WebCore::initGdkAtoms): new method to initialize static variables.
3203         (WebCore::PasteboardHelper::PasteboardHelper): call it.
3204         * plugins/gtk/PluginViewGtk.cpp: do not include gdkconfig.h when
3205         using GTK+ 3.x, since it's no longer installed.
3206
3207 2010-12-22  Dirk Schulze  <krit@wbekit.org>
3208
3209         Reviewed by Nikolas Zimmermann.
3210
3211         Cleanup SVG code according to the webkit style rules 2
3212         https://bugs.webkit.org/show_bug.cgi?id=51461
3213
3214         Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
3215
3216         No changes of functionality, so no new tests. 
3217
3218         * svg/SVGFEDisplacementMapElement.cpp:
3219         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
3220         * svg/SVGFEDistantLightElement.h:
3221         * svg/SVGFEFuncAElement.h:
3222         * svg/SVGFEFuncBElement.h:
3223         * svg/SVGFEFuncGElement.h:
3224         * svg/SVGFEFuncRElement.h:
3225         * svg/SVGFEMergeElement.cpp:
3226         (WebCore::SVGFEMergeElement::build):
3227         * svg/SVGFEMorphologyElement.cpp:
3228         * svg/SVGFEPointLightElement.h:
3229         * svg/SVGFESpecularLightingElement.cpp:
3230         (WebCore::SVGFESpecularLightingElement::findLights):
3231         * svg/SVGFESpotLightElement.h:
3232         * svg/SVGFitToViewBox.cpp:
3233         (WebCore::SVGFitToViewBox::parseViewBox):
3234         (WebCore::SVGFitToViewBox::isKnownAttribute):
3235         * svg/SVGFontFaceElement.cpp:
3236         (WebCore::cssPropertyIdForSVGAttributeName):
3237         * svg/SVGFontFaceElement.h:
3238         (WebCore::SVGFontFaceElement::associatedFontElement):
3239         * svg/SVGFontFaceNameElement.h:
3240         * svg/SVGFontFaceSrcElement.cpp:
3241         * svg/SVGFontFaceSrcElement.h:
3242         * svg/SVGFontFaceUriElement.h:
3243         * svg/SVGForeignObjectElement.h:
3244         * svg/SVGGlyphElement.cpp:
3245         (WebCore::parseArabicForm):
3246         (WebCore::parseOrientation):
3247         * svg/SVGGlyphElement.h:
3248         (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
3249         (WebCore::SVGGlyphIdentifier::inheritedValue):
3250         (WebCore::SVGGlyphIdentifier::operator==):
3251         (WebCore::SVGGlyphElement::rendererIsNeeded):
3252         * svg/SVGGlyphMap.h:
3253         (WebCore::GlyphMapNode::GlyphMapNode):
3254         (WebCore::GlyphMapNode::create):
3255         (WebCore::SVGGlyphMap::SVGGlyphMap):
3256         (WebCore::SVGGlyphMap::add):
3257         (WebCore::SVGGlyphMap::compareGlyphPriority):
3258         (WebCore::SVGGlyphMap::get):
3259         (WebCore::SVGGlyphMap::clear):
3260         * svg/SVGGradientElement.cpp:
3261         * svg/SVGHKernElement.cpp:
3262         * svg/SVGHKernElement.h:
3263         (WebCore::SVGHKernElement::rendererIsNeeded):
3264         * svg/SVGImageElement.h:
3265         * svg/SVGImageLoader.cpp:
3266         * svg/SVGImageLoader.h:
3267         * svg/SVGLangSpace.cpp:
3268         (WebCore::SVGLangSpace::parseMappedAttribute):
3269         (WebCore::SVGLangSpace::isKnownAttribute):
3270         * svg/SVGLangSpace.h:
3271         (WebCore::SVGLangSpace::xmllang):
3272         * svg/SVGMetadataElement.h:
3273         * svg/SVGMissingGlyphElement.h:
3274         (WebCore::SVGMissingGlyphElement::rendererIsNeeded):
3275         * svg/SVGPaint.cpp:
3276         (WebCore::SVGPaint::cssText):
3277         * svg/SVGPaint.h:
3278         (WebCore::SVGPaint::create):
3279         (WebCore::SVGPaint::paintType):
3280         (WebCore::SVGPaint::isSVGPaint):
3281         * svg/SVGParserUtilities.cpp:
3282         * svg/SVGParserUtilities.h:
3283         (WebCore::isWhitespace):
3284         (WebCore::skipOptionalSpaces):
3285         (WebCore::skipOptionalSpacesOrDelimiter):
3286         * svg/SVGPathElement.cpp:
3287         * svg/SVGPathParserFactory.h:
3288         * svg/SVGPathSegList.h:
3289
3290 2010-12-22  Chris Fleizach  <cfleizach@apple.com>
3291
3292         Reviewed by Sam Weinig.
3293
3294         AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property
3295         https://bugs.webkit.org/show_bug.cgi?id=51481
3296
3297         Support aria-multiline and use it to change the role of an ARIA "textbox" 
3298         from AXTextArea to AXTextField.
3299
3300         Test: platform/mac/accessibility/aria-multiline.html
3301
3302         * accessibility/AccessibilityObject.cpp:
3303         (WebCore::AccessibilityObject::ariaIsMultiline):
3304         * accessibility/AccessibilityObject.h:
3305         (WebCore::AccessibilityObject::isPasswordField):
3306         (WebCore::AccessibilityObject::isTextControl):
3307         * accessibility/AccessibilityRenderObject.cpp:
3308         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
3309         * accessibility/AccessibilityRenderObject.h:
3310         * html/HTMLAttributeNames.in:
3311
3312 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
3313
3314         Reviewed by Dan Bernstein.
3315
3316         CSS 2.1 failure: counter-increment-013 fails
3317         https://bugs.webkit.org/show_bug.cgi?id=51483
3318         
3319         Clamp the counter-increment property to the valid range of signed
3320         integers.
3321
3322         Test: fast/css/counters/counter-increment-overflow.html
3323
3324         * css/CSSParser.cpp:
3325         (WebCore::clampToSignedInteger):
3326         (WebCore::CSSParser::parseCounter):
3327
3328 2010-12-22  Dan Bernstein  <mitz@apple.com>
3329
3330         Rubber-stamped by Mark Rowe.
3331
3332         Changed WebKitTools to Tools in script build phases.
3333
3334         * WebCore.xcodeproj/project.pbxproj:
3335
3336 2010-12-21  Vangelis Kokkevis  <vangelis@chromium.org>
3337
3338         Reviewed by Kenneth Russell.
3339
3340         [chromium] Fixing crash with empty render surfaces.
3341         https://bugs.webkit.org/show_bug.cgi?id=51432
3342
3343         Test: platform/chromium/compositing/empty-render-surface-crasher.html
3344
3345         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3346         (WebCore::RenderSurfaceChromium::draw):
3347
3348 2010-12-21  Pavel Podivilov  <podivilov@chromium.org>
3349
3350         Reviewed by Yury Semikhatsky.
3351
3352         Web Inspector: persist JavaScript breakpoints in frontend settings.
3353         https://bugs.webkit.org/show_bug.cgi?id=48434
3354
3355         * bindings/js/ScriptDebugServer.cpp:
3356         (WebCore::ScriptDebugServer::setBreakpoint):
3357         (WebCore::ScriptDebugServer::removeBreakpoint):
3358         * bindings/js/ScriptDebugServer.h:
3359         * bindings/v8/DebuggerScript.js:
3360         ():
3361         * bindings/v8/ScriptDebugServer.cpp:
3362         (WebCore::ScriptDebugServer::setBreakpoint):
3363         (WebCore::ScriptDebugServer::removeBreakpoint):
3364         * bindings/v8/ScriptDebugServer.h:
3365         * inspector/Inspector.idl:
3366         * inspector/InspectorBackend.cpp:
3367         * inspector/InspectorController.cpp:
3368         (WebCore::InspectorController::InspectorController):
3369         (WebCore::InspectorController::enableDebuggerFromFrontend):
3370         (WebCore::InspectorController::setStickyBreakpoints):
3371         (WebCore::InspectorController::restoreStickyBreakpoint):
3372         * inspector/InspectorController.h:
3373         * inspector/InspectorDebuggerAgent.cpp:
3374         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3375         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
3376         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3377         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
3378         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
3379         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
3380         (WebCore::InspectorDebuggerAgent::didParseSource):
3381         * inspector/InspectorDebuggerAgent.h:
3382         * inspector/front-end/Breakpoint.js:
3383         (WebInspector.Breakpoint):
3384         (WebInspector.Breakpoint.prototype.remove):
3385         * inspector/front-end/BreakpointManager.js:
3386         (WebInspector.BreakpointManager):
3387         (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
3388         (WebInspector.JavaScriptBreakpoint):
3389         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
3390         * inspector/front-end/DebuggerModel.js:
3391         (WebInspector.DebuggerModel):
3392         * inspector/front-end/ScriptsPanel.js:
3393         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3394         * inspector/front-end/SourceFrame.js:
3395
3396 2010-12-20  Antti Koivisto  <antti@apple.com>
3397
3398         Reviewed by Alexey Proskuryakov.
3399
3400         https://bugs.webkit.org/show_bug.cgi?id=51354
3401         Don't block rendering and script execution on deferred stylesheets
3402         
3403         - Don't add low priority stylesheets to the document pending sheet count.
3404         - Resolve media attribute fully for the link element stylesheet load.
3405
3406         Test: http/tests/local/stylesheet-and-script-load-order-media-print.html
3407
3408         * html/HTMLLinkElement.cpp:
3409         (WebCore::HTMLLinkElement::HTMLLinkElement):
3410         (WebCore::HTMLLinkElement::~HTMLLinkElement):
3411         (WebCore::HTMLLinkElement::setDisabledState):
3412         (WebCore::HTMLLinkElement::process):
3413         (WebCore::HTMLLinkElement::sheetLoaded):
3414         (WebCore::HTMLLinkElement::addPendingSheet):
3415         (WebCore::HTMLLinkElement::removePendingSheet):
3416         * html/HTMLLinkElement.h:
3417
3418 2010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>
3419
3420         Unreviewed, rolling out r74473.
3421         http://trac.webkit.org/changeset/74473
3422         https://bugs.webkit.org/show_bug.cgi?id=51463
3423
3424         broke compilation on leopard intel release (Requested by
3425         podivilov on #webkit).
3426
3427         * bindings/js/ScriptDebugServer.cpp:
3428         (WebCore::ScriptDebugServer::setBreakpoint):
3429         (WebCore::ScriptDebugServer::removeBreakpoint):
3430         * bindings/js/ScriptDebugServer.h:
3431         * bindings/v8/DebuggerScript.js:
3432         ():
3433         * bindings/v8/ScriptDebugServer.cpp:
3434         (WebCore::ScriptDebugServer::setBreakpoint):
3435         (WebCore::ScriptDebugServer::removeBreakpoint):
3436         * bindings/v8/ScriptDebugServer.h:
3437         * inspector/Inspector.idl:
3438         * inspector/InspectorBackend.cpp:
3439         * inspector/InspectorController.cpp:
3440         (WebCore::InspectorController::InspectorController):
3441         (WebCore::InspectorController::enableDebuggerFromFrontend):
3442         (WebCore::InspectorController::setStickyBreakpoints):
3443         (WebCore::InspectorController::restoreStickyBreakpoint):
3444         (WebCore::InspectorController::breakpointsSettingKey):
3445         (WebCore::InspectorController::loadBreakpoints):
3446         (WebCore::InspectorController::saveBreakpoints):
3447         * inspector/InspectorController.h:
3448         * inspector/InspectorDebuggerAgent.cpp:
3449         (WebCore::formatBreakpointId):
3450         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3451         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3452         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
3453         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
3454         (WebCore::InspectorDebuggerAgent::md5Base16):
3455         (WebCore::InspectorDebuggerAgent::loadBreakpoints):
3456         (WebCore::InspectorDebuggerAgent::saveBreakpoints):
3457         (WebCore::InspectorDebuggerAgent::didParseSource):
3458         * inspector/InspectorDebuggerAgent.h:
3459         * inspector/front-end/Breakpoint.js:
3460         (WebInspector.Breakpoint):
3461         (WebInspector.Breakpoint.jsBreakpointId):
3462         (WebInspector.Breakpoint.prototype.set enabled):
3463         (WebInspector.Breakpoint.prototype.get id):
3464         (WebInspector.Breakpoint.prototype.set condition):
3465         (WebInspector.Breakpoint.prototype.remove):
3466         * inspector/front-end/BreakpointManager.js:
3467         (WebInspector.BreakpointManager):
3468         (WebInspector.BreakpointManager.prototype._createDOMBreakpoint):
3469         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
3470         (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
3471         (WebInspector.BreakpointManager.prototype._setNativeBreakpoint):
3472         (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
3473         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
3474         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
3475         (WebInspector.BreakpointManager.prototype._projectChanged):
3476         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
3477         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
3478         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
3479         (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
3480         (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
3481         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
3482         (WebInspector.NativeBreakpointView.prototype.set enabled):
3483         (WebInspector.NativeBreakpointView.prototype.remove):
3484         * inspector/front-end/DebuggerModel.js:
3485         (WebInspector.DebuggerModel):
3486         (WebInspector.DebuggerModel.prototype.setOneTimeBreakpoint):
3487         (WebInspector.DebuggerModel.prototype.removeOneTimeBreakpoint):
3488         (WebInspector.DebuggerModel.prototype.setBreakpoint):
3489         (WebInspector.DebuggerModel.prototype.findBreakpoint):
3490         (WebInspector.DebuggerModel.prototype.reset):
3491         (WebInspector.DebuggerModel.prototype._setBreakpoint):
3492         (WebInspector.DebuggerModel.prototype._breakpointRemoved):
3493         (WebInspector.DebuggerModel.prototype._setBreakpointOnBackend):
3494         (WebInspector.DebuggerModel.prototype.breakpointRestored):
3495         (WebInspector.DebuggerModel.prototype.pausedScript):
3496         (WebInspector.DebuggerModel.prototype.resumedScript):
3497         * inspector/front-end/ScriptsPanel.js:
3498         (WebInspector.ScriptsPanel.prototype.continueToLine):
3499         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3500         * inspector/front-end/SourceFrame.js:
3501         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
3502         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
3503         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
3504         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
3505         (WebInspector.SourceFrame.prototype._contextMenu):
3506         (WebInspector.SourceFrame.prototype._mouseDown):
3507         (WebInspector.SourceFrame.prototype._continueToLine):
3508         (WebInspector.SourceFrame.prototype._setBreakpoint):
3509
3510 2010-12-21  Pavel Podivilov  <podivilov@chromium.org>
3511
3512         Reviewed by Yury Semikhatsky.
3513
3514         Web Inspector: persist JavaScript breakpoints in frontend settings.
3515         https://bugs.webkit.org/show_bug.cgi?id=48434
3516
3517         * bindings/js/ScriptDebugServer.cpp:
3518         (WebCore::ScriptDebugServer::setBreakpoint):
3519         (WebCore::ScriptDebugServer::removeBreakpoint):
3520         * bindings/js/ScriptDebugServer.h:
3521         * bindings/v8/DebuggerScript.js:
3522         ():
3523         * bindings/v8/ScriptDebugServer.cpp:
3524         (WebCore::ScriptDebugServer::setBreakpoint):
3525         (WebCore::ScriptDebugServer::removeBreakpoint):
3526         * bindings/v8/ScriptDebugServer.h:
3527         * inspector/Inspector.idl:
3528         * inspector/InspectorBackend.cpp:
3529         * inspector/InspectorController.cpp:
3530         (WebCore::InspectorController::InspectorController):
3531         (WebCore::InspectorController::enableDebuggerFromFrontend):
3532         (WebCore::InspectorController::setStickyBreakpoints):
3533         (WebCore::InspectorController::restoreStickyBreakpoint):
3534         * inspector/InspectorController.h:
3535         * inspector/InspectorDebuggerAgent.cpp:
3536         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3537         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
3538         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3539         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
3540         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
3541         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
3542         (WebCore::InspectorDebuggerAgent::didParseSource):
3543         * inspector/InspectorDebuggerAgent.h:
3544         * inspector/front-end/Breakpoint.js:
3545         (WebInspector.Breakpoint):
3546         (WebInspector.Breakpoint.prototype.remove):
3547         * inspector/front-end/BreakpointManager.js:
3548         (WebInspector.BreakpointManager):
3549         (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
3550         (WebInspector.JavaScriptBreakpoint):
3551         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
3552         * inspector/front-end/DebuggerModel.js:
3553         (WebInspector.DebuggerModel):
3554         * inspector/front-end/ScriptsPanel.js:
3555         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3556         * inspector/front-end/SourceFrame.js:
3557
3558 2010-12-22  Dirk Schulze  <krit@wbekit.org>
3559
3560         Reviewed by Nikolas Zimmermann.
3561
3562         Cleanup SVG code according to the webkit style rules 1
3563         https://bugs.webkit.org/show_bug.cgi?id=51411
3564
3565         First patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
3566
3567         No change of functionality. 
3568
3569         * svg/ColorDistance.cpp:
3570         (WebCore::ColorDistance::isZero):
3571         * svg/ColorDistance.h:
3572         * svg/ElementTimeControl.h:
3573         (WebCore::ElementTimeControl::~ElementTimeControl):
3574         * svg/LinearGradientAttributes.h:
3575         (WebCore::LinearGradientAttributes::LinearGradientAttributes):
3576         (WebCore::LinearGradientAttributes::x1):
3577         (WebCore::LinearGradientAttributes::y1):
3578         (WebCore::LinearGradientAttributes::x2):
3579         (WebCore::LinearGradientAttributes::y2):
3580         (WebCore::LinearGradientAttributes::setX1):
3581         (WebCore::LinearGradientAttributes::setY1):
3582         (WebCore::LinearGradientAttributes::setX2):
3583         (WebCore::LinearGradientAttributes::setY2):
3584         (WebCore::LinearGradientAttributes::hasX1):
3585         (WebCore::LinearGradientAttributes::hasY1):
3586         (WebCore::LinearGradientAttributes::hasX2):
3587         (WebCore::LinearGradientAttributes::hasY2):
3588         * svg/RadialGradientAttributes.h:
3589         (WebCore::RadialGradientAttributes::RadialGradientAttributes):
3590         (WebCore::RadialGradientAttributes::cx):
3591         (WebCore::RadialGradientAttributes::cy):
3592         (WebCore::RadialGradientAttributes::r):
3593         (WebCore::RadialGradientAttributes::fx):
3594         (WebCore::RadialGradientAttributes::fy):
3595         (WebCore::RadialGradientAttributes::setCx):
3596         (WebCore::RadialGradientAttributes::setCy):
3597         (WebCore::RadialGradientAttributes::setR):
3598         (WebCore::RadialGradientAttributes::setFx):
3599         (WebCore::RadialGradientAttributes::setFy):
3600         (WebCore::RadialGradientAttributes::hasCx):
3601         (WebCore::RadialGradientAttributes::hasCy):
3602         (WebCore::RadialGradientAttributes::hasR):
3603         (WebCore::RadialGradientAttributes::hasFx):
3604         (WebCore::RadialGradientAttributes::hasFy):
3605         * svg/SVGAngle.cpp:
3606         * svg/SVGAnimateColorElement.h:
3607         * svg/SVGAnimateElement.cpp:
3608         (WebCore::SVGAnimateElement::calculateAnimatedValue):
3609         (WebCore::SVGAnimateElement::calculateDistance):
3610         * svg/SVGAnimateElement.h:
3611         * svg/SVGAnimateMotionElement.cpp:
3612         * svg/SVGAnimateMotionElement.h:
3613         * svg/SVGAnimatedNumber.h:
3614         * svg/SVGAnimationElement.cpp:
3615         (WebCore::parseKeyTimes):
3616         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
3617         (WebCore::SVGAnimationElement::updateAnimation):
3618         * svg/SVGClipPathElement.cpp:
3619         (WebCore::SVGClipPathElement::svgAttributeChanged):
3620         * svg/SVGColor.h:
3621         (WebCore::SVGColor::create):
3622         (WebCore::SVGColor::createCurrentColor):
3623         (WebCore::SVGColor::colorType):
3624         (WebCore::SVGColor::setRGBColor):
3625         (WebCore::SVGColor::color):
3626         (WebCore::SVGColor::isSVGColor):
3627         * svg/SVGCursorElement.cpp:
3628         (WebCore::SVGCursorElement::svgAttributeChanged):
3629         * svg/SVGCursorElement.h:
3630         * svg/SVGDescElement.h:
3631         (WebCore::SVGDescElement::rendererIsNeeded):
3632         * svg/SVGDocument.cpp:
3633         * svg/SVGDocument.h:
3634         (WebCore::SVGDocument::create):
3635         (WebCore::SVGDocument::isSVGDocument):
3636         * svg/SVGElement.h:
3637         (WebCore::SVGElement::isStyled):
3638         (WebCore::SVGElement::isStyledTransformable):
3639         (WebCore::SVGElement::isStyledLocatable):
3640         (WebCore::SVGElement::isSVG):
3641         (WebCore::SVGElement::isFilterEffect):
3642         (WebCore::SVGElement::isGradientStop):
3643         (WebCore::SVGElement::isTextContent):
3644         (WebCore::SVGElement::isValid):
3645         (WebCore::SVGElement::svgAttributeChanged):
3646         (WebCore::SVGElement::synchronizeProperty):
3647         (WebCore::SVGElement::supplementalTransform):
3648         (WebCore::SVGElement::invalidateSVGAttributes):
3649         (WebCore::SVGElement::rendererIsNeeded):
3650         (WebCore::SVGElement::needsPendingResourceHandling):
3651         (WebCore::SVGElement::buildPendingResource):
3652         * svg/SVGElementInstance.h:
3653         (WebCore::SVGElementInstance::create):
3654         (WebCore::SVGElementInstance::correspondingElement):
3655         (WebCore::SVGElementInstance::correspondingUseElement):
3656         (WebCore::SVGElementInstance::shadowTreeElement):
3657         (WebCore::SVGElementInstance::parentNode):
3658         (WebCore::SVGElementInstance::previousSibling):
3659         (WebCore::SVGElementInstance::nextSibling):
3660         (WebCore::SVGElementInstance::firstChild):
3661         (WebCore::SVGElementInstance::lastChild):
3662         (WebCore::SVGElementInstance::ownerDocument):
3663         (WebCore::SVGElementInstance::toNode):
3664         (WebCore::SVGElementInstance::toSVGElementInstance):
3665         (WebCore::SVGElementInstance::hasChildNodes):
3666         (WebCore::SVGElementInstance::setFirstChild):
3667         (WebCore::SVGElementInstance::setLastChild):
3668         (WebCore::SVGElementInstance::setNextSibling):
3669         (WebCore::SVGElementInstance::setPreviousSibling):
3670         (WebCore::SVGElementInstance::refEventTarget):
3671         (WebCore::SVGElementInstance::derefEventTarget):
3672         * svg/SVGElementInstanceList.h:
3673         (WebCore::SVGElementInstanceList::create):
3674         * svg/SVGException.h:
3675         (WebCore::SVGException::create):
3676         (WebCore::SVGException::SVGException):
3677         * svg/SVGFEColorMatrixElement.cpp:
3678         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
3679         * svg/SVGFEComponentTransferElement.cpp:
3680         (WebCore::SVGFEComponentTransferElement::build):
3681         * svg/SVGFEDiffuseLightingElement.cpp:
3682         (WebCore::SVGFEDiffuseLightingElement::findLights):
3683         * svg/SVGFont.cpp:
3684         (WebCore::convertEmUnitToPixel):
3685         * svg/SVGUseElement.cpp:
3686         (WebCore::isDirectReference):
3687
3688 2010-12-22  Dai Mikurube  <dmikurube@google.com>
3689
3690         Reviewed by Kent Tamura.
3691
3692         https://bugs.webkit.org/show_bug.cgi?id=51289
3693         Initial state of checkValidity() and :invalid are incorrect with <select required>
3694
3695         * html/HTMLSelectElement.cpp:
3696         (WebCore::HTMLSelectElement::childrenChanged): setNeedsValidityCheck() after <select>'s children change.
3697
3698 2010-12-22  Alexander Pavlov  <apavlov@chromium.org>
3699
3700         Reviewed by Joseph Pecoraro.
3701
3702         Web Inspector: Styles pane fails to display properties from a broken CSS rule correctly
3703         https://bugs.webkit.org/show_bug.cgi?id=51405
3704
3705         Invoke markPropertyStart() after the parser has restored after an error.
3706
3707         * css/CSSGrammar.y:
3708
3709 2010-12-22  Dai Mikurube  <dmikurube@google.com>
3710
3711         Reviewed by Kent Tamura.
3712
3713         Assertion failure with <select multiple required>
3714         https://bugs.webkit.org/show_bug.cgi?id=51260
3715
3716         Test: fast/css/pseudo-valid-select-click.html
3717
3718         * dom/SelectElement.cpp: updateValidity() after selecting some options of ListBox-typed <select> elements to update valid() cache.
3719         (WebCore::SelectElement::updateListBoxSelection):
3720
3721 2010-12-21  Darin Adler  <darin@apple.com>
3722
3723         Unreviewed correction to unreviewed build fix for r74447.
3724
3725         Inappropriate code was left behind in sourceURI function for non-Dashboard platforms.
3726
3727         * html/HTMLImageLoader.cpp:
3728         (WebCore::HTMLImageLoader::sourceURI): Change the logic so all the bug-workaround
3729         logic is inside the #ifdef.
3730
3731 2010-12-21  Simon Fraser  <simon.fraser@apple.com>
3732
3733         Reviewed by Darin Adler.
3734
3735         Include the shadow color space as part of the GraphicsContext state
3736         https://bugs.webkit.org/show_bug.cgi?id=51420
3737         
3738         Include the ColorSpace for the shadow color as part of the graphics
3739         state. This will be used later for a shadow implementation that
3740         does not rely on platform shadow code.
3741
3742         * platform/graphics/GraphicsContext.cpp:
3743         (WebCore::GraphicsContext::setShadow):
3744         (WebCore::GraphicsContext::clearShadow):
3745         (WebCore::GraphicsContext::getShadow):
3746         * platform/graphics/GraphicsContext.h:
3747         (WebCore::GraphicsContextState::GraphicsContextState):
3748         * platform/graphics/chromium/FontChromiumWin.cpp:
3749         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
3750         (WebCore::Font::drawComplexText):
3751         * platform/graphics/mac/FontMac.mm:
3752         (WebCore::Font::drawGlyphs):
3753         * platform/graphics/skia/SkiaFontWin.cpp:
3754         (WebCore::windowsCanHandleDrawTextShadow):
3755         * platform/graphics/win/FontCGWin.cpp:
3756         (WebCore::drawGDIGlyphs):
3757         (WebCore::Font::drawGlyphs):
3758         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3759         (WebCore::GraphicsContext::fillRoundedRect):
3760         (WebCore::GraphicsContext::drawText):
3761
3762 2010-12-21  Dan Bernstein  <mitz@apple.com>
3763
3764         Reviewed by Sam Weinig.
3765
3766         <rdar://problem/8668230> REGRESSION (r71884): Returning alternate requests from willSendRequest can prevent other requests from ever being sent
3767         https://bugs.webkit.org/show_bug.cgi?id=51413
3768
3769         71884 was wrong in moving willSendRequest to ResourceLoader::start(). It’s wrong to do all the
3770         scheduling, which is host-dependent, before calling willSendRequest, because the latter can
3771         change the host.
3772
3773         * loader/NetscapePlugInStreamLoader.cpp:
3774         (WebCore::NetscapePlugInStreamLoader::create): Check the return value from ResourceLoader::init()
3775         and return 0 if it is false.
3776         * loader/ResourceLoader.cpp:
3777         (WebCore::ResourceLoader::init): Made this function return a boolean. Moved the call to willSendRequest()
3778         from start() into here. Return false if willSendRequest() canceled the request.
3779         (WebCore::ResourceLoader::start): Moved the call to willSendRequest() from here to init().
3780         * loader/ResourceLoader.h:
3781         * loader/SubresourceLoader.cpp:
3782         (WebCore::SubresourceLoader::create): Check the return value from ResourceLoader::init()
3783         and return 0 if it is false.
3784
3785 2010-12-21  Benjamin Kalman  <kalman@chromium.org>
3786
3787         Reviewed by Darin Adler.
3788
3789         Shift-End does not select to the end of the line
3790         https://bugs.webkit.org/show_bug.cgi?id=50610
3791
3792         Let the VisiblePosition affinity for end of line selection to be set by
3793         visibleEnd/visibleStart rather than using end/start and always using UPSTREAM.
3794
3795         Test: editing/selection/extend-to-line-boundary.html
3796
3797         * editing/SelectionController.cpp:
3798         (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
3799         start/end.
3800         (WebCore::SelectionController::modifyExtendingForward): Don't explicitly use UPSTREAM affinity.
3801
3802 2010-12-21  Jan Erik Hanssen  <jhanssen@sencha.com>
3803
3804         Reviewed by Simon Fraser.
3805
3806         matrix3d() must take the zoom factor into account
3807         https://bugs.webkit.org/show_bug.cgi?id=51408
3808
3809         Test: transforms/3d/general/matrix-with-zoom-3d.html
3810
3811         * css/CSSStyleSelector.cpp:
3812         (WebCore::CSSStyleSelector::createTransformOperations):
3813
3814 2010-12-21  Adam Barth  <abarth@webkit.org>
3815
3816         Reviewed by Darin Adler.
3817
3818         Move V8 to common implementation of window.open
3819         https://bugs.webkit.org/show_bug.cgi?id=51385
3820
3821         I also changed some function names to match WebKit style.  There's a
3822         bunch of code we can remove in the generic bindings now.  I'll do that
3823         in the next patch.
3824
3825         * bindings/generic/BindingDOMWindow.h:
3826         (WebCore::::open):
3827         * bindings/generic/BindingFrame.h:
3828         (WebCore::::navigateIfAllowed):
3829         * bindings/generic/BindingSecurity.h:
3830         (WebCore::::canAccessWindow):
3831         (WebCore::::allowPopUp):
3832         (WebCore::::shouldAllowNavigation):
3833         * bindings/generic/GenericBinding.h:
3834         (WebCore::completeURL):
3835         * bindings/js/JSDOMBinding.cpp:
3836         (WebCore::toLexicalFrame):
3837         (WebCore::toDynamicFrame):
3838         * bindings/js/specialization/JSBindingState.cpp:
3839         (WebCore::::activeFrame):
3840         (WebCore::::firstFrame):
3841         * bindings/js/specialization/JSBindingState.h:
3842         * bindings/v8/V8Utilities.cpp:
3843         (WebCore::callingOrEnteredFrame):
3844         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3845         (WebCore::V8DOMWindow::locationAccessorSetter):
3846         (WebCore::V8DOMWindow::openCallback):
3847         * bindings/v8/specialization/V8BindingState.cpp:
3848         (WebCore::::activeWindow):
3849         (WebCore::::firstWindow):
3850         (WebCore::::activeFrame):
3851         (WebCore::::firstFrame):
3852         * bindings/v8/specialization/V8BindingState.h:
3853
3854 2010-12-21  Ryosuke Niwa  <rniwa@webkit.org>
3855
3856         Unreviewed build fix for r74447.
3857
3858         Call usesDashboardBackwardCompatibilityMode() only if DASHBOARD_SUPPORT is enabled.
3859
3860         * html/HTMLImageLoader.cpp:
3861         (WebCore::HTMLImageLoader::sourceURI):
3862
3863 2010-12-21  Dan Bernstein  <mitz@apple.com>
3864
3865         Reviewed by John Sullivan.
3866
3867         <rdar://problem/8725702> REGRESSION (r68854): Broken image icon seen in the Address Book Dashboard widget
3868
3869         Test: platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html
3870
3871         The Address Book widget sets the src attribute of an img element to a string that looks like a CSS
3872         URL value. This used to work prior to r68854, because some DOM attribute parsing functions were using
3873         the wrong function to parse URL attributes (last named deprecatedParseURL).
3874
3875         * html/HTMLImageLoader.cpp:
3876         (WebCore::HTMLImageLoader::sourceURI): In Dashboard, check if the src attribute begins with 'url("'
3877         and ends with '")', and if so, strip those away.
3878
3879 2010-12-21  Ryosuke Niwa  <rniwa@webkit.org>
3880
3881         Reviewed by Darin Adler.
3882
3883         CharacterData needs cleanup
3884         https://bugs.webkit.org/show_bug.cgi?id=51426
3885
3886         Extracted CharacterData::setDataAndNotify and CharacterData::updateRenderer.
3887
3888         * dom/CharacterData.cpp:
3889         (WebCore::CharacterData::setData): Calls setDataAndUpdate.
3890         (WebCore::CharacterData::parserAppendData): Ditto.
3891         (WebCore::CharacterData::appendData): Ditto.
3892         (WebCore::CharacterData::insertData): Ditto.
3893         (WebCore::CharacterData::deleteData): Ditto.
3894         (WebCore::CharacterData::replaceData): Ditto.
3895         (WebCore::CharacterData::setDataAndUpdate): Added.
3896         (WebCore::CharacterData::updateRenderer): Added.
3897         (WebCore::CharacterData::dispatchModifiedEvent): Renamed prevValue to oldData.
3898         * dom/CharacterData.h:
3899
3900 2010-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3901
3902         Unreviewed, rolling out r74420.
3903         http://trac.webkit.org/changeset/74420
3904         https://bugs.webkit.org/show_bug.cgi?id=51436
3905
3906         causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash
3907         (Requested by tonyg-cr on #webkit).
3908
3909         * dom/DocumentParser.cpp:
3910         * dom/DocumentParser.h:
3911         * html/parser/HTMLDocumentParser.cpp:
3912         * html/parser/HTMLDocumentParser.h:
3913         * html/parser/HTMLParserScheduler.cpp:
3914         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
3915         * html/parser/HTMLParserScheduler.h:
3916         (WebCore::HTMLParserScheduler::isScheduledForResume):
3917         * page/PageGroupLoadDeferrer.cpp:
3918         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
3919         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
3920
3921 2010-12-21  Kenneth Russell  <kbr@google.com>
3922
3923         Reviewed by Darin Fisher.
3924
3925         Enable extensions used in accelerated 2D canvas implementation
3926         https://bugs.webkit.org/show_bug.cgi?id=51433
3927
3928         Call Extensions3D::ensureEnabled() for all supported extensions
3929         the accelerated 2D Canvas implementation uses. Tested with a few
3930         layout tests previously failing when run in Chromium due to OpenGL
3931         INVALID_ENUM and other errors.
3932
3933         * platform/graphics/gpu/DrawingBuffer.cpp:
3934         (WebCore::DrawingBuffer::create):
3935         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3936         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
3937         (WebCore::SharedGraphicsContext3D::supportsBGRA):
3938         * platform/graphics/gpu/SharedGraphicsContext3D.h:
3939
3940 2010-12-21  Zhenyao Mo  <zmo@google.com>
3941
3942         Reviewed by Kenneth Russell.
3943
3944         WebGLRenderingContext needs to zero textures and renderbuffers
3945         https://bugs.webkit.org/show_bug.cgi?id=49355
3946
3947         Test: fast/canvas/webgl/uninitialized-test.html
3948
3949         * html/canvas/WebGLFramebuffer.cpp:
3950         (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
3951         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
3952         * html/canvas/WebGLFramebuffer.h: Modify onAccess with an added parameter.
3953         * html/canvas/WebGLRenderingContext.cpp:
3954         (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
3955         (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
3956         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
3957         (WebCore::WebGLRenderingContext::drawArrays): Ditto.
3958         (WebCore::WebGLRenderingContext::drawElements): Ditto.
3959         (WebCore::WebGLRenderingContext::readPixels): Ditto.
3960         (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
3961         * platform/graphics/GraphicsContext3D.cpp:
3962         (WebCore::GraphicsContext3D::texImage2DResourceSafe): Helper function that initialize all pixels to 0.
3963         * platform/graphics/GraphicsContext3D.h:
3964         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3965         (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): Use texImage2DResourceSafe.
3966         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3967         (WebCore::generateColorTexture): Ditto.
3968         * platform/graphics/chromium/LayerRendererChromium.cpp:
3969         (WebCore::LayerRendererChromium::prepareToDrawLayers): Ditto.
3970         * platform/graphics/chromium/TextureManager.cpp:
3971         (WebCore::TextureManager::requestTexture): Ditto.
3972         * platform/graphics/chromium/VideoLayerChromium.cpp:
3973         (WebCore::VideoLayerChromium::allocateTexture): Ditto.
3974         * platform/graphics/gpu/DrawingBuffer.cpp:
3975         (WebCore::DrawingBuffer::reset): Use texImage2DResourceSafe; also, only initialize depth/stencil buffer.
3976         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3977         (WebCore::SharedGraphicsContext3D::texImage2D): Use texImage2DResourceSafe.
3978         * platform/graphics/gpu/Texture.cpp:
3979         (WebCore::Texture::create): Ditto.
3980         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3981         (WebCore::GraphicsContext3D::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in.
3982
3983 2010-12-21  Chris Rogers  <crogers@google.com>
3984
3985         Reviewed by Kenneth Russell.
3986
3987         Add AudioBusChromium for decoding audio file data
3988         https://bugs.webkit.org/show_bug.cgi?id=51430
3989
3990         No new tests since audio API is not yet implemented.
3991
3992         * platform/audio/chromium: Added.
3993         * platform/audio/chromium/AudioBusChromium.cpp: Added.
3994         (WebCore::createBusFromInMemoryAudioFile):
3995
3996 2010-12-21  Chris Rogers  <crogers@google.com>
3997
3998         Reviewed by Kenneth Russell.
3999
4000         Add web audio spatialization resource files
4001         https://bugs.webkit.org/show_bug.cgi?id=50998
4002
4003         No new tests since audio API is not yet implemented.
4004
4005         * platform/audio/HRTFElevation.cpp:
4006         (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
4007         * platform/audio/mac/AudioBusMac.mm:
4008         (WebCore::AudioBus::loadPlatformResource):
4009         * platform/audio/resources: Added.
4010         * platform/audio/resources/IRC_Composite_C_R0195_T000_P000.wav: Added.
4011         * platform/audio/resources/IRC_Composite_C_R0195_T000_P015.wav: Added.
4012         * platform/audio/resources/IRC_Composite_C_R0195_T000_P030.wav: Added.
4013         * platform/audio/resources/IRC_Composite_C_R0195_T000_P045.wav: Added.
4014         * platform/audio/resources/IRC_Composite_C_R0195_T000_P060.wav: Added.
4015         * platform/audio/resources/IRC_Composite_C_R0195_T000_P075.wav: Added.
4016         * platform/audio/resources/IRC_Composite_C_R0195_T000_P090.wav: Added.
4017         * platform/audio/resources/IRC_Composite_C_R0195_T000_P315.wav: Added.
4018         * platform/audio/resources/IRC_Composite_C_R0195_T000_P330.wav: Added.
4019         * platform/audio/resources/IRC_Composite_C_R0195_T000_P345.wav: Added.
4020         * platform/audio/resources/IRC_Composite_C_R0195_T015_P000.wav: Added.
4021         * platform/audio/resources/IRC_Composite_C_R0195_T015_P015.wav: Added.
4022         * platform/audio/resources/IRC_Composite_C_R0195_T015_P030.wav: Added.
4023         * platform/audio/resources/IRC_Composite_C_R0195_T015_P045.wav: Added.
4024         * platform/audio/resources/IRC_Composite_C_R0195_T015_P060.wav: Added.
4025         * platform/audio/resources/IRC_Composite_C_R0195_T015_P075.wav: Added.
4026         * platform/audio/resources/IRC_Composite_C_R0195_T015_P090.wav: Added.
4027         * platform/audio/resources/IRC_Composite_C_R0195_T015_P315.wav: Added.
4028         * platform/audio/resources/IRC_Composite_C_R0195_T015_P330.wav: Added.
4029         * platform/audio/resources/IRC_Composite_C_R0195_T015_P345.wav: Added.
4030         * platform/audio/resources/IRC_Composite_C_R0195_T030_P000.wav: Added.
4031         * platform/audio/resources/IRC_Composite_C_R0195_T030_P015.wav: Added.
4032         * platform/audio/resources/IRC_Composite_C_R0195_T030_P030.wav: Added.
4033         * platform/audio/resources/IRC_Composite_C_R0195_T030_P045.wav: Added.
4034         * platform/audio/resources/IRC_Composite_C_R0195_T030_P060.wav: Added.
4035         * platform/audio/resources/IRC_Composite_C_R0195_T030_P075.wav: Added.
4036         * platform/audio/resources/IRC_Composite_C_R0195_T030_P090.wav: Added.
4037         * platform/audio/resources/IRC_Composite_C_R0195_T030_P315.wav: Added.
4038         * platform/audio/resources/IRC_Composite_C_R0195_T030_P330.wav: Added.
4039         * platform/audio/resources/IRC_Composite_C_R0195_T030_P345.wav: Added.
4040         * platform/audio/resources/IRC_Composite_C_R0195_T045_P000.wav: Added.
4041         * platform/audio/resources/IRC_Composite_C_R0195_T045_P015.wav: Added.
4042         * platform/audio/resources/IRC_Composite_C_R0195_T045_P030.wav: Added.
4043         * platform/audio/resources/IRC_Composite_C_R0195_T045_P045.wav: Added.
4044         * platform/audio/resources/IRC_Composite_C_R0195_T045_P060.wav: Added.
4045         * platform/audio/resources/IRC_Composite_C_R0195_T045_P075.wav: Added.
4046         * platform/audio/resources/IRC_Composite_C_R0195_T045_P090.wav: Added.
4047         * platform/audio/resources/IRC_Composite_C_R0195_T045_P315.wav: Added.
4048         * platform/audio/resources/IRC_Composite_C_R0195_T045_P330.wav: Added.
4049         * platform/audio/resources/IRC_Composite_C_R0195_T045_P345.wav: Added.
4050         * platform/audio/resources/IRC_Composite_C_R0195_T060_P000.wav: Added.
4051         * platform/audio/resources/IRC_Composite_C_R0195_T060_P015.wav: Added.
4052         * platform/audio/resources/IRC_Composite_C_R0195_T060_P030.wav: Added.
4053         * platform/audio/resources/IRC_Composite_C_R0195_T060_P045.wav: Added.
4054         * platform/audio/resources/IRC_Composite_C_R0195_T060_P060.wav: Added.
4055         * platform/audio/resources/IRC_Composite_C_R0195_T060_P075.wav: Added.
4056         * platform/audio/resources/IRC_Composite_C_R0195_T060_P090.wav: Added.
4057         * platform/audio/resources/IRC_Composite_C_R0195_T060_P315.wav: Added.
4058         * platform/audio/resources/IRC_Composite_C_R0195_T060_P330.wav: Added.
4059         * platform/audio/resources/IRC_Composite_C_R0195_T060_P345.wav: Added.
4060         * platform/audio/resources/IRC_Composite_C_R0195_T075_P000.wav: Added.
4061         * platform/audio/resources/IRC_Composite_C_R0195_T075_P015.wav: Added.
4062         * platform/audio/resources/IRC_Composite_C_R0195_T075_P030.wav: Added.
4063         * platform/audio/resources/IRC_Composite_C_R0195_T075_P045.wav: Added.
4064         * platform/audio/resources/IRC_Composite_C_R0195_T075_P060.wav: Added.
4065         * platform/audio/resources/IRC_Composite_C_R0195_T075_P075.wav: Added.
4066         * platform/audio/resources/IRC_Composite_C_R0195_T075_P090.wav: Added.
4067         * platform/audio/resources/IRC_Composite_C_R0195_T075_P315.wav: Added.
4068         * platform/audio/resources/IRC_Composite_C_R0195_T075_P330.wav: Added.
4069         * platform/audio/resources/IRC_Composite_C_R0195_T075_P345.wav: Added.
4070         * platform/audio/resources/IRC_Composite_C_R0195_T090_P000.wav: Added.
4071         * platform/audio/resources/IRC_Composite_C_R0195_T090_P015.wav: Added.
4072         * platform/audio/resources/IRC_Composite_C_R0195_T090_P030.wav: Added.
4073         * platform/audio/resources/IRC_Composite_C_R0195_T090_P045.wav: Added.
4074         * platform/audio/resources/IRC_Composite_C_R0195_T090_P060.wav: Added.
4075         * platform/audio/resources/IRC_Composite_C_R0195_T090_P075.wav: Added.
4076         * platform/audio/resources/IRC_Composite_C_R0195_T090_P090.wav: Added.
4077         * platform/audio/resources/IRC_Composite_C_R0195_T090_P315.wav: Added.
4078         * platform/audio/resources/IRC_Composite_C_R0195_T090_P330.wav: Added.
4079         * platform/audio/resources/IRC_Composite_C_R0195_T090_P345.wav: Added.
4080         * platform/audio/resources/IRC_Composite_C_R0195_T105_P000.wav: Added.
4081         * platform/audio/resources/IRC_Composite_C_R0195_T105_P015.wav: Added.
4082         * platform/audio/resources/IRC_Composite_C_R0195_T105_P030.wav: Added.
4083         * platform/audio/resources/IRC_Composite_C_R0195_T105_P045.wav: Added.
4084         * platform/audio/resources/IRC_Composite_C_R0195_T105_P060.wav: Added.
4085         * platform/audio/resources/IRC_Composite_C_R0195_T105_P075.wav: Added.
4086         * platform/audio/resources/IRC_Composite_C_R0195_T105_P090.wav: Added.
4087         * platform/audio/resources/IRC_Composite_C_R0195_T105_P315.wav: Added.
4088         * platform/audio/resources/IRC_Composite_C_R0195_T105_P330.wav: Added.
4089         * platform/audio/resources/IRC_Composite_C_R0195_T105_P345.wav: Added.
4090         * platform/audio/resources/IRC_Composite_C_R0195_T120_P000.wav: Added.
4091         * platform/audio/resources/IRC_Composite_C_R0195_T120_P015.wav: Added.
4092         * platform/audio/resources/IRC_Composite_C_R0195_T120_P030.wav: Added.
4093         * platform/audio/resources/IRC_Composite_C_R0195_T120_P045.wav: Added.
4094         * platform/audio/resources/IRC_Composite_C_R0195_T120_P060.wav: Added.
4095         * platform/audio/resources/IRC_Composite_C_R0195_T120_P075.wav: Added.
4096         * platform/audio/resources/IRC_Composite_C_R0195_T120_P090.wav: Added.
4097         * platform/audio/resources/IRC_Composite_C_R0195_T120_P315.wav: Added.
4098         * platform/audio/resources/IRC_Composite_C_R0195_T120_P330.wav: Added.
4099         * platform/audio/resources/IRC_Composite_C_R0195_T120_P345.wav: Added.
4100         * platform/audio/resources/IRC_Composite_C_R0195_T135_P000.wav: Added.
4101         * platform/audio/resources/IRC_Composite_C_R0195_T135_P015.wav: Added.
4102         * platform/audio/resources/IRC_Composite_C_R0195_T135_P030.wav: Added.
4103         * platform/audio/resources/IRC_Composite_C_R0195_T135_P045.wav: Added.
4104         * platform/audio/resources/IRC_Composite_C_R0195_T135_P060.wav: Added.
4105         * platform/audio/resources/IRC_Composite_C_R0195_T135_P075.wav: Added.
4106         * platform/audio/resources/IRC_Composite_C_R0195_T135_P090.wav: Added.
4107         * platform/audio/resources/IRC_Composite_C_R0195_T135_P315.wav: Added.
4108         * platform/audio/resources/IRC_Composite_C_R0195_T135_P330.wav: Added.
4109         * platform/audio/resources/IRC_Composite_C_R0195_T135_P345.wav: Added.
4110         * platform/audio/resources/IRC_Composite_C_R0195_T150_P000.wav: Added.
4111         * platform/audio/resources/IRC_Composite_C_R0195_T150_P015.wav: Added.
4112         * platform/audio/resources/IRC_Composite_C_R0195_T150_P030.wav: Added.
4113         * platform/audio/resources/IRC_Composite_C_R0195_T150_P045.wav: Added.
4114         * platform/audio/resources/IRC_Composite_C_R0195_T150_P060.wav: Added.
4115         * platform/audio/resources/IRC_Composite_C_R0195_T150_P075.wav: Added.
4116         * platform/audio/resources/IRC_Composite_C_R0195_T150_P090.wav: Added.
4117         * platform/audio/resources/IRC_Composite_C_R0195_T150_P315.wav: Added.
4118         * platform/audio/resources/IRC_Composite_C_R0195_T150_P330.wav: Added.
4119         * platform/audio/resources/IRC_Composite_C_R0195_T150_P345.wav: Added.
4120         * platform/audio/resources/IRC_Composite_C_R0195_T165_P000.wav: Added.
4121         * platform/audio/resources/IRC_Composite_C_R0195_T165_P015.wav: Added.
4122         * platform/audio/resources/IRC_Composite_C_R0195_T165_P030.wav: Added.
4123         * platform/audio/resources/IRC_Composite_C_R0195_T165_P045.wav: Added.
4124         * platform/audio/resources/IRC_Composite_C_R0195_T165_P060.wav: Added.
4125         * platform/audio/resources/IRC_Composite_C_R0195_T165_P075.wav: Added.
4126         * platform/audio/resources/IRC_Composite_C_R0195_T165_P090.wav: Added.
4127         * platform/audio/resources/IRC_Composite_C_R0195_T165_P315.wav: Added.
4128         * platform/audio/resources/IRC_Composite_C_R0195_T165_P330.wav: Added.
4129         * platform/audio/resources/IRC_Composite_C_R0195_T165_P345.wav: Added.
4130         * platform/audio/resources/IRC_Composite_C_R0195_T180_P000.wav: Added.
4131         * platform/audio/resources/IRC_Composite_C_R0195_T180_P015.wav: Added.
4132         * platform/audio/resources/IRC_Composite_C_R0195_T180_P030.wav: Added.
4133         * platform/audio/resources/IRC_Composite_C_R0195_T180_P045.wav: Added.
4134         * platform/audio/resources/IRC_Composite_C_R0195_T180_P060.wav: Added.
4135         * platform/audio/resources/IRC_Composite_C_R0195_T180_P075.wav: Added.
4136         * platform/audio/resources/IRC_Composite_C_R0195_T180_P090.wav: Added.
4137         * platform/audio/resources/IRC_Composite_C_R0195_T180_P315.wav: Added.
4138         * platform/audio/resources/IRC_Composite_C_R0195_T180_P330.wav: Added.
4139         * platform/audio/resources/IRC_Composite_C_R0195_T180_P345.wav: Added.
4140         * platform/audio/resources/IRC_Composite_C_R0195_T195_P000.wav: Added.
4141         * platform/audio/resources/IRC_Composite_C_R0195_T195_P015.wav: Added.
4142         * platform/audio/resources/IRC_Composite_C_R0195_T195_P030.wav: Added.
4143         * platform/audio/resources/IRC_Composite_C_R0195_T195_P045.wav: Added.
4144         * platform/audio/resources/IRC_Composite_C_R0195_T195_P060.wav: Added.
4145         * platform/audio/resources/IRC_Composite_C_R0195_T195_P075.wav: Added.
4146         * platform/audio/resources/IRC_Composite_C_R0195_T195_P090.wav: Added.
4147         * platform/audio/resources/IRC_Composite_C_R0195_T195_P315.wav: Added.
4148         * platform/audio/resources/IRC_Composite_C_R0195_T195_P330.wav: Added.
4149         * platform/audio/resources/IRC_Composite_C_R0195_T195_P345.wav: Added.
4150         * platform/audio/resources/IRC_Composite_C_R0195_T210_P000.wav: Added.
4151         * platform/audio/resources/IRC_Composite_C_R0195_T210_P015.wav: Added.
4152         * platform/audio/resources/IRC_Composite_C_R0195_T210_P030.wav: Added.
4153         * platform/audio/resources/IRC_Composite_C_R0195_T210_P045.wav: Added.
4154         * platform/audio/resources/IRC_Composite_C_R0195_T210_P060.wav: Added.
4155         * platform/audio/resources/IRC_Composite_C_R0195_T210_P075.wav: Added.
4156         * platform/audio/resources/IRC_Composite_C_R0195_T210_P090.wav: Added.
4157         * platform/audio/resources/IRC_Composite_C_R0195_T210_P315.wav: Added.
4158         * platform/audio/resources/IRC_Composite_C_R0195_T210_P330.wav: Added.
4159         * platform/audio/resources/IRC_Composite_C_R0195_T210_P345.wav: Added.
4160         * platform/audio/resources/IRC_Composite_C_R0195_T225_P000.wav: Added.
4161         * platform/audio/resources/IRC_Composite_C_R0195_T225_P015.wav: Added.
4162         * platform/audio/resources/IRC_Composite_C_R0195_T225_P030.wav: Added.
4163         * platform/audio/resources/IRC_Composite_C_R0195_T225_P045.wav: Added.
4164         * platform/audio/resources/IRC_Composite_C_R0195_T225_P060.wav: Added.
4165         * platform/audio/resources/IRC_Composite_C_R0195_T225_P075.wav: Added.
4166         * platform/audio/resources/IRC_Composite_C_R0195_T225_P090.wav: Added.
4167         * platform/audio/resources/IRC_Composite_C_R0195_T225_P315.wav: Added.
4168         * platform/audio/resources/IRC_Composite_C_R0195_T225_P330.wav: Added.
4169         * platform/audio/resources/IRC_Composite_C_R0195_T225_P345.wav: Added.
4170         * platform/audio/resources/IRC_Composite_C_R0195_T240_P000.wav: Added.
4171         * platform/audio/resources/IRC_Composite_C_R0195_T240_P015.wav: Added.
4172         * platform/audio/resources/IRC_Composite_C_R0195_T240_P030.wav: Added.
4173         * platform/audio/resources/IRC_Composite_C_R0195_T240_P0