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