2010-07-20 Jessie Berlin <jberlin@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-07-20  Jessie Berlin  <jberlin@apple.com>
2
3         Reviewed by Darin Adler.
4
5         Code Generator: Allow negative and string constants.
6         Also add tests for hexadecimal numbers.
7
8         * bindings/scripts/CodeGeneratorJS.pm:
9         If it is a string, do not try to cast it to an int.
10
11         * bindings/scripts/IDLStructure.pm:
12         Add a regex just for constant values that allows strings, hexadecimal numbers, and integral numbers.
13
14         * bindings/scripts/test/CPP/WebDOMTestObj.h:
15         Update the tests.
16
17         * bindings/scripts/test/JS/JSTestObj.cpp:
18         Ditto.
19
20         * bindings/scripts/test/JS/JSTestObj.h:
21         Ditto.
22
23         * bindings/scripts/test/ObjC/DOMTestObj.h:
24         Ditto.
25
26         * bindings/scripts/test/TestObj.idl:
27         Add tests for negative numbers, strings, and hexadecimal numbers.
28
29         * bindings/scripts/test/V8/V8TestObj.cpp:
30         Update the tests.
31
32 2010-07-22  Simon Fraser  <simon.fraser@apple.com>
33
34         Reviewed by Darin Adler.
35
36         Composited layers don't scroll in WebKit2
37         https://bugs.webkit.org/show_bug.cgi?id=42771
38
39         More prep work: make a single scrollPositionChanged() bottleneck method, and use it to 
40         send the scroll event, repaint fixed elements, and update compositing layers.
41
42         * page/FrameView.cpp:
43         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
44         (WebCore::FrameView::scrollPositionChanged):
45         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
46         (WebCore::FrameView::valueChanged):
47         * page/FrameView.h:
48         * platform/ScrollView.cpp:
49         (WebCore::ScrollView::valueChanged):
50
51 2010-07-22  Sam Weinig  <sam@webkit.org>
52
53         Reviewed by Anders Carlsson.
54
55         Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
56         Add localized strings stubs for WebKit2.
57
58         - Convert WebKit (mac) to use a LocalizationStrategy rather than the WebCoreViewFactory
59           for localized strings.
60
61         Gets us below 200 tests failing in WebKitTestRunner.
62
63         * WebCore.exp.in:
64         * WebCore.xcodeproj/project.pbxproj:
65         * page/mac/WebCoreViewFactory.h:
66         * platform/LocalizationStrategy.h: Added.
67         (WebCore::LocalizationStrategy::~LocalizationStrategy):
68         * platform/PlatformStrategies.h:
69         (WebCore::PlatformStrategies::pluginStrategy):
70         (WebCore::PlatformStrategies::localizationStrategy):
71         (WebCore::PlatformStrategies::PlatformStrategies):
72         (WebCore::PlatformStrategies::~PlatformStrategies):
73         * platform/mac/LocalizedStringsMac.mm:
74
75 2010-07-22  Andras Becsi  <abecsi@webkit.org>
76
77         Reviewed by Antonio Gomes.
78
79         [Qt] Implement WebContext::applicationCacheDirectory() for the Qt port of WebKit2.
80         https://bugs.webkit.org/show_bug.cgi?id=42830
81
82         No new tests needed.
83
84         * WebCore.pri: add ApplicationCacheStorage.h to wk2 headers
85         * WebCore.pro: add WebContextQt.cpp to sources
86
87 2010-07-22  Joone Hur  <joone.hur@samsung.com>
88
89         Reviewed by Antonio Gomes.
90
91         [EFL] add support for logging
92         https://bugs.webkit.org/show_bug.cgi?id=40807
93
94         Enable to turn log channels on for EFL port
95
96         * platform/efl/LoggingEfl.cpp:
97         (WebCore::InitializeLoggingChannelsIfNecessary):
98
99 2010-07-22  Balazs Kelemen  <kb@inf.u-szeged.hu>
100
101         Ureviewed build fix.
102
103         [Qt] Fix WebKit2 build
104
105         https://bugs.webkit.org/show_bug.cgi?id=42638
106
107         * WebCore.pri:
108         * WebCore.pro:
109
110 2010-07-22  Andrey Kosyakov  <caseq@chromium.org>
111
112         Reviewed by Yury Semikhatsky.
113
114         Web Inspector: Stop granting universal access to inspector front-end page.
115         https://bugs.webkit.org/show_bug.cgi?id=42817
116
117         * inspector/InspectorFrontendClientLocal.cpp:
118         (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
119
120 2010-07-22  Yury Semikhatsky  <yurys@chromium.org>
121
122         Unreviewed. Fix inspector console tests crashes.
123
124         * bindings/v8/ScriptValue.cpp:
125         (WebCore::v8ToInspectorValue):
126         (WebCore::ScriptValue::toInspectorValue): enter v8 context before calling GetPropertyNames
127
128 2010-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
129
130         Unreviewed build fix.
131
132         [EFL] Build break for SVN r63881
133         https://bugs.webkit.org/show_bug.cgi?id=42813
134
135         * CMakeLists.txt: Add platform/SchemeRegistry.cpp
136
137 2010-07-22  Hayato Ito  <hayato@chromium.org>
138
139         Reviewed by Darin Adler.
140
141         Refactor CSSSelector's destructor and make it inline.
142
143         https://bugs.webkit.org/show_bug.cgi?id=42726
144
145         Refactor with no behavior change, thus no new tests.
146
147         * css/CSSSelector.cpp:
148         (WebCore::CSSSelectorBag::~CSSSelectorBag): Make sure the bag is empty.
149         (WebCore::CSSSelectorBag::add): Renamed from append().
150         (WebCore::CSSSelector::releaseOwnedSelectorsToBag):
151         (WebCore::CSSSelector::deleteReachableSelectors):
152         * css/CSSSelector.h:
153         (WebCore::CSSSelector::~CSSSelector):
154
155 2010-07-22  Yury Semikhatsky  <yurys@chromium.org>
156
157         Reviewed by Pavel Feldman.
158
159         Web Inspector: should be possible to convert console message arguments to InspectorValues
160         https://bugs.webkit.org/show_bug.cgi?id=42457
161
162         Now it is possible to convert simple JavaScript objects to
163         InspectorValues.
164
165         * bindings/js/ScriptValue.cpp:
166         (WebCore::jsToInspectorValue):
167         (WebCore::ScriptValue::toInspectorValue):
168         * bindings/js/ScriptValue.h:
169         * bindings/v8/ScriptValue.cpp:
170         (WebCore::v8ToInspectorValue):
171         (WebCore::ScriptValue::toInspectorValue):
172         * bindings/v8/ScriptValue.h:
173         * inspector/ConsoleMessage.cpp: console notifications are pushed to RemoteInspectorFrontend instead of InspectorFrontend.
174         (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
175         (WebCore::ConsoleMessage::addToFrontend):
176         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
177         * inspector/ConsoleMessage.h:
178         * inspector/InjectedScript.cpp:
179         (WebCore::InjectedScript::wrapForConsole): return InspectorValue instead of SerializedScriptValue
180         * inspector/InjectedScript.h:
181         * inspector/Inspector.idl:
182         * inspector/InspectorBackend.cpp:
183         (WebCore::InspectorBackend::clearConsoleMessages): send response directly from the backend
184         (WebCore::InspectorBackend::remoteFrontend):
185         * inspector/InspectorBackend.h:
186         * inspector/InspectorController.cpp:
187         (WebCore::InspectorController::addConsoleMessage):
188         (WebCore::InspectorController::clearConsoleMessages): don't send notification to the front end,
189         it will be send either from InspectorBackend.cpp if it was a user request or reset message will
190         be send to the front end if the messages are cleared due to page navigation.
191         (WebCore::InspectorController::populateScriptObjects):
192         * inspector/front-end/ConsoleView.js:
193         * inspector/front-end/inspector.js:
194
195 2010-07-22  Alexander Pavlov  <apavlov@chromium.org>
196
197         Reviewed by Pavel Feldman.
198
199         Web Inspector: Modifying settings actually modifies defaultValues
200         https://bugs.webkit.org/show_bug.cgi?id=42816
201
202         Avoid using live modifiable objects as property default values.
203
204         * inspector/front-end/Settings.js:
205         (WebInspector.Settings):
206         (WebInspector.Settings.prototype.reset):
207         (WebInspector.Settings.prototype._load):
208         (WebInspector.Settings.prototype.installSetting):
209         (WebInspector.Settings.prototype._get):
210
211 2010-07-22  Ben Murdoch  <benm@google.com>
212
213         Reviewed by Simon Fraser.
214
215         Touch events do not affect the :active CSS state
216         https://bugs.webkit.org/show_bug.cgi?id=39493
217
218         Clean the code up by using a typedef based on comments
219         post landing of the original patch.
220
221         No change in functionality so no new tests.
222
223         * rendering/HitTestRequest.h: Typedef the HitTestRequestType to unsigned.
224         * WebCore.exp.in: Update export signature.
225         * WebCore.order: Ditto.
226         * page/EventHandler.cpp: use the new typedef.
227         * page/EventHandler.h: ditto.
228
229
230 2010-07-22  Alexander Pavlov  <apavlov@chromium.org>
231
232         Reviewed by Pavel Feldman.
233
234         Web Inspector: Rename method for CSS rule source range retrieval and fix return object format
235         https://bugs.webkit.org/show_bug.cgi?id=42379
236
237         * inspector/Inspector.idl:
238         * inspector/InspectorBackend.cpp:
239         (WebCore::InspectorBackend::getRuleRanges):
240         * inspector/InspectorBackend.h:
241         * inspector/InspectorBackend.idl:
242         * inspector/InspectorCSSStore.cpp:
243         (WebCore::InspectorCSSStore::getRuleRanges):
244         * inspector/InspectorCSSStore.h:
245         * inspector/InspectorDOMAgent.cpp:
246         (WebCore::InspectorDOMAgent::getRuleRanges):
247         * inspector/InspectorDOMAgent.h:
248         * inspector/front-end/DOMAgent.js:
249
250 2010-07-21  Pavel Feldman  <pfeldman@chromium.org>
251
252         Reviewed by Yury Semikhatsky.
253
254         Chromium Dev Tools: Separators are missing in the context menu.
255
256         https://bugs.webkit.org/show_bug.cgi?id=42761
257
258         * bindings/js/JSInspectorFrontendHostCustom.cpp:
259         (WebCore::JSInspectorFrontendHost::showContextMenu):
260         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
261         (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
262         * platform/ContextMenuItem.h:
263         (WebCore::):
264
265 2010-07-22  Zoltan Herczeg  <zherczeg@webkit.org>
266
267         Reviewed by Nikolas Zimmermann.
268
269         SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
270         https://bugs.webkit.org/show_bug.cgi?id=42244
271
272         Implementing svgAttributeChanged and childrenChanged for the base class of all filters,
273         called SVGFilterPrimitiveStandardAttributes.
274
275         Tests: svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html
276                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html
277                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html
278                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html
279                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html
280                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html
281                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html
282                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html
283                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html
284                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html
285
286         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
287         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
288         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
289         * svg/SVGFilterPrimitiveStandardAttributes.h:
290         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter):
291
292 2010-07-22  Kent Tamura  <tkent@chromium.org>
293
294         Reviewed by Darin Adler.
295
296         Small refactoring for input value sanitization
297         https://bugs.webkit.org/show_bug.cgi?id=42807
298
299         Rename some functions to clarify their roles.
300
301         * dom/InputElement.cpp:
302         (WebCore::replaceEOLAndLimitLength):
303           Renamed from sanitizeUserInputValue().
304         (WebCore::InputElement::sanitizeValueForTextField):
305           Renamed from sanitizeValue(), and call replaceEOLAndLimitLength()
306           instead of sanitizeUserInputValue().
307         (WebCore::InputElement::sanitizeUserInputValue):
308           Just call replaceEOLAndLimitLength().
309         (WebCore::InputElement::updateValueIfNeeded):
310           Use non-static sanitizeValue() for consistency.
311         * dom/InputElement.h:
312         * html/HTMLInputElement.cpp:
313         (WebCore::HTMLInputElement::setInputType):
314           Revert the change of r63876. It is not needed because of the
315           updateValueIfNeeded() change.
316         (WebCore::HTMLInputElement::sanitizeValue):
317           Apply the sanitizeValue() renaming.
318
319 2010-07-22  Tony Gentilcore  <tonyg@chromium.org>
320
321         Reviewed by Darin Fisher.
322
323         webkitPerformance.timing.responseEnd should not include document parse time
324         https://bugs.webkit.org/show_bug.cgi?id=42797
325
326         No new tests because timing based test would be flaky.
327
328         * loader/FrameLoader.cpp:
329         (WebCore::FrameLoader::finishedLoading): finishedLoading() is called by the platform at the right time, but didReceiveData() synchronously invokes parsing without returning to the event loop prior to this. So by the time the didFinishLoading() method is executed, parsing is finished. The solution is to move this time to didReceiveData() prior to parsing.
330         * loader/MainResourceLoader.cpp:
331         (WebCore::MainResourceLoader::didReceiveData): Update the time each time didReceiveData() is called.
332         (WebCore::MainResourceLoader::didFinishLoading): When finished, and after parsing, set responseEnd appropriately.
333         * loader/MainResourceLoader.h:
334         * page/Timing.cpp:
335         (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Now that responseEnd is set correctly, it can be much shorter for very fast loads (like local files). This exposed the fact that this skew check was not tight enough. We need to make sure that the whole range of values from the ResourceLoadTiming API fit within fetchStart-responseEnd, not just that requestTime fits in this range.
336
337 2010-07-21  Kent Tamura  <tkent@chromium.org>
338
339         Reviewed by Darin Adler.
340
341         Assertion failure by changing the type of an input element with a
342         non-number value to 'range'.
343         https://bugs.webkit.org/show_bug.cgi?id=42643
344
345         Test: fast/forms/input-value-sanitization.html
346
347         * html/HTMLInputElement.cpp:
348         (WebCore::HTMLInputElement::setInputType):
349         Update the value by HTMLInputElement::sanitizeValue() in a case that
350         storesValueSeparateFromAttribute() state is not changed.
351
352 2010-07-21  Adam Barth  <abarth@webkit.org>
353
354         Reviewed by Eric Seidel.
355
356         Implement spec changes for basefont and bgsound
357         https://bugs.webkit.org/show_bug.cgi?id=42792
358
359         * html/HTMLTreeBuilder.cpp:
360         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
361         (WebCore::HTMLTreeBuilder::processStartTag):
362         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
363
364 2010-07-21  Adam Barth  <abarth@webkit.org>
365
366         Reviewed by Eric Seidel.
367
368         Update a list of tags to match changes in the HTML5 spec
369         https://bugs.webkit.org/show_bug.cgi?id=42791
370
371         We need to atomize these strings at some point.
372
373         * html/HTMLTreeBuilder.cpp:
374         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
375
376 2010-07-21  Adam Barth  <abarth@webkit.org>
377
378         Reviewed by Eric Seidel.
379
380         HTMLTreeBuilder needs to update to match new spec behavior for <button>
381         https://bugs.webkit.org/show_bug.cgi?id=42233
382
383         The spec has some typos in this area, but this is my best guess for
384         what Ian means.  I've filed bugs against the spec for each typo.
385
386         * html/HTMLElementStack.cpp:
387         (WebCore::HTMLNames::isScopeMarker):
388         (WebCore::HTMLNames::isButtonScopeMarker):
389         (WebCore::HTMLElementStack::inButtonScope):
390         * html/HTMLElementStack.h:
391         * html/HTMLTreeBuilder.cpp:
392         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
393         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
394         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
395         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
396         * html/HTMLTreeBuilder.h:
397
398 2010-07-21  Justin Schuh  <jschuh@chromium.org>
399
400         Reviewed by Oliver Hunt.
401
402         Prevent DeleteButtonController enable state from changing when not editing
403         https://bugs.webkit.org/show_bug.cgi?id=42659
404
405         Test: svg/custom/use-invalid-html.xhtml
406
407         * dom/ContainerNode.cpp:
408         (WebCore::ContainerNode::cloneChildNodes):
409
410 2010-07-21  Beth Dakin  <bdakin@apple.com>
411
412         Reviewed by Dan Bernstein.
413
414         Fix for https://bugs.webkit.org/show_bug.cgi?id=42605 New border-
415         radius path-based drawing code has some issues with corner-joins
416
417         GraphicsContext::clipConvexPolygon() now takes a boolean parameter 
418         indicating whether or not the clip should be antialiased.
419         * platform/graphics/GraphicsContext.h:
420         * platform/graphics/cairo/GraphicsContextCairo.cpp:
421         (WebCore::GraphicsContext::clipConvexPolygon):
422         * platform/graphics/cg/GraphicsContextCG.cpp:
423         (WebCore::GraphicsContext::clipConvexPolygon):
424         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
425         (WebCore::GraphicsContext::clipConvexPolygon):
426         * platform/graphics/qt/GraphicsContextQt.cpp:
427         (WebCore::GraphicsContext::clipConvexPolygon):
428         * platform/graphics/skia/GraphicsContextSkia.cpp:
429         (WebCore::GraphicsContext::clipConvexPolygon):
430         * platform/graphics/wince/GraphicsContextWince.cpp:
431         (WebCore::GraphicsContext::clipConvexPolygon):
432         * platform/graphics/wx/GraphicsContextWx.cpp:
433         (WebCore::GraphicsContext::clipConvexPolygon):
434
435         Compute 4 booleans determining if each edge is a "matching" edge of 
436         not. Send the two appropriate values to clipBorderSidePolygon() so 
437         we can decide there whether or not to antialias the clip based on 
438         matchy-ness.
439         * rendering/RenderBoxModelObject.cpp:
440         (WebCore::RenderBoxModelObject::paintBorder):
441
442         If both edges are matching, don't antialias. If neither edge 
443         matches, never antialias. If one edge matches and one does not, 
444         apply two clips to get the appropriate antialiasing in each corner.
445         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
446         * rendering/RenderBoxModelObject.h:
447
448 2010-07-21  Brady Eidson  <beidson@apple.com>
449
450         Reviewed by Geoffrey Garen.
451
452         Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
453         https://bugs.webkit.org/show_bug.cgi?id=42783
454
455         No new tests. (No change in behavior)
456
457         * GNUmakefile.am:
458         * WebCore.exp.in:
459         * WebCore.gypi:
460         * WebCore.pro:
461         * WebCore.vcproj/WebCore.vcproj:
462         * WebCore.xcodeproj/project.pbxproj:
463         
464         * loader/FrameLoader.cpp:
465         (WebCore::FrameLoader::isMixedContent):
466         (WebCore::FrameLoader::loadFrameRequest):
467         
468         * page/SecurityOrigin.cpp:
469         (WebCore::SecurityOrigin::SecurityOrigin):
470         (WebCore::SecurityOrigin::canLoad):
471         (WebCore::SecurityOrigin::isLocal):
472         * page/SecurityOrigin.h:
473         
474         * platform/SchemeRegistry.cpp: Added.
475         (WebCore::localSchemes):
476         (WebCore::secureSchemes):
477         (WebCore::schemesWithUniqueOrigins):
478         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
479         (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
480         (WebCore::SchemeRegistry::localURLSchemes):
481         (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
482         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
483         (WebCore::SchemeRegistry::registerURLSchemeAsNoAccess):
484         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
485         (WebCore::SchemeRegistry::registerURLSchemeAsSecure):
486         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
487         * platform/SchemeRegistry.h: Added.
488
489 2010-07-21  Chris Marrin  <cmarrin@apple.com>
490
491         Reviewed by Simon Fraser.
492
493         Assertion failure in AnimationBase::updateStateMachine() coming out of paused state
494         https://bugs.webkit.org/show_bug.cgi?id=37993
495         
496         Added logic to properly handle pausing and resuming when in the 
497         AnimationStateStartWaitStyleAvailable state. This was causing an
498         assert when going out of the pause state because the paused flag
499         was not set.
500         
501         The fix is a straightforward implementation, going into a new
502         AnimationStatePausedWaitStyleAvailable state and setting the paused
503         flag (actually setting the m_pauseTime variable to something other
504         than -1). Also added handling of the new state, both when the 
505         "style available" callback comes in while in this state and when
506         unpausing while in this state. 
507         
508         For now a LayoutTest is not possible since there's no way to go in
509         and out of the pause state. I've opened https://bugs.webkit.org/show_bug.cgi?id=42790
510         to track this.
511
512         * page/animation/AnimationBase.cpp:
513         (WebCore::AnimationBase::updateStateMachine):
514         * page/animation/AnimationBase.h:
515         (WebCore::AnimationBase::):
516
517 2010-07-21  Bo Liu  <boliu@chromium.org>
518
519         Reviewed by Darin Fisher.
520
521         [Chromium] Add chromium WebMediaPlayer to PlatformMedia
522         https://bugs.webkit.org/show_bug.cgi?id=41295
523
524         * platform/graphics/MediaPlayer.h:
525         (WebCore::PlatformMedia::):
526
527 2010-07-21  Simon Fraser  <simon.fraser@apple.com>
528
529         Reviewed by Anders Carlsson.
530
531         Composited layers don't scroll in WebKit2
532         https://bugs.webkit.org/show_bug.cgi?id=42771
533
534         Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
535         but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
536         scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().
537
538         * WebCore.exp.in:
539         * page/FrameView.cpp:
540         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
541         * page/FrameView.h:
542
543 2010-07-21  Peter Beverloo  <peter@lvp-media.com>
544
545         Reviewed by Eric Carlson.
546
547         Removed support for the -khtml CSS vendor prefix and limit the
548         -apple prefix to two properties (dashboard-region and line-clamp).
549
550         Test: fast/css/limited-vendor-prefix-behavior.html
551
552         * css/CSSParser.cpp:
553         (WebCore::cssPropertyID):
554
555 2010-07-21  Adam Barth  <abarth@webkit.org>
556
557         Reviewed by Eric Seidel.
558
559         Fix the last tree HTML5 tree builder crashes
560         https://bugs.webkit.org/show_bug.cgi?id=42773
561
562         This patch changes the internal representation of a bookmark to handle
563         the case where one of the adjecent entries in the list of active
564         formatting elements is actually a marker.
565
566         After this patch, the bookmarking mechanism isn't as general, but it
567         works for the cases we need in the adoption agency.
568
569         Also, after this patch, there aren't any more known crashers in the
570         HTML5 tree builder.  :)
571
572         * html/HTMLFormattingElementList.cpp:
573         (WebCore::HTMLFormattingElementList::bookmarkFor):
574         (WebCore::HTMLFormattingElementList::swapTo):
575         * html/HTMLFormattingElementList.h:
576         (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
577         (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
578         (WebCore::HTMLFormattingElementList::Bookmark::hasBeenMoved):
579         (WebCore::HTMLFormattingElementList::Bookmark::mark):
580         (WebCore::HTMLFormattingElementList::first):
581         * html/HTMLTreeBuilder.cpp:
582         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
583
584 2010-07-21  Tony Gentilcore  <tonyg@chromium.org>
585
586         Unreviewed build fix.
587
588         Disable overzealous ASSERT
589         https://bugs.webkit.org/show_bug.cgi?id=42775
590
591         No new tests because no changed functionality.
592
593         * loader/FrameLoader.cpp:
594         (WebCore::FrameLoader::stopLoading):
595
596 2010-07-21  Yael Aharon  <yael.aharon@nokia.com>
597
598         Reviewed by Darin Adler.
599
600         Crash in Notification::disconnectFrame() triggered by Frame::lifeSupportTimerFired()
601         https://bugs.webkit.org/show_bug.cgi?id=42534
602
603         Call NotificationsCenter::disconnectFrame() when the frame is disconnected from the page.
604         Calling it from the destructor of Frame is too late and sometimes causes access violation.
605         I was not able to reproduce this crash, so did not add new tests.
606         This patch is based on the error reported in 
607         http://code.google.com/p/chromium/issues/detail?id=49323.
608
609         * page/DOMWindow.cpp:
610         (WebCore::DOMWindow::pageDestroyed):
611         * page/DOMWindow.h:
612         * page/Frame.cpp:
613         (WebCore::Frame::pageDestroyed):
614
615 2010-07-21  Anders Carlsson  <andersca@apple.com>
616
617         Reviewed by Sam Weinig.
618
619         Don't assert when clicking on a plug-in in WebKit2
620         https://bugs.webkit.org/show_bug.cgi?id=42762
621
622         Remove a now invalid assert and return false instead.
623
624         * page/mac/EventHandlerMac.mm:
625         (WebCore::EventHandler::passMouseDownEventToWidget):
626
627 2010-07-21  Anton Muhin  <antonm@chromium.org>
628
629         Reviewed by Adam Barth.
630
631         [v8] Revert r60670 as it introduced a regression: in some cases named children couldn't be retrieved.
632         https://bugs.webkit.org/show_bug.cgi?id=42766
633
634         See http://code.google.com/p/chromium/issues/detail?id=48804 for more details.
635
636         * bindings/scripts/CodeGeneratorV8.pm:
637         * bindings/v8/ScriptController.cpp:
638         (WebCore::ScriptController::namedItemAdded):
639         (WebCore::ScriptController::namedItemRemoved):
640         * bindings/v8/V8DOMWindowShell.cpp:
641         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
642         * bindings/v8/V8DOMWindowShell.h:
643         * bindings/v8/V8DOMWrapper.cpp:
644         (WebCore::V8DOMWrapper::instantiateV8Object):
645         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
646         (WebCore::V8HTMLDocument::namedPropertyDeleter):
647         (WebCore::V8HTMLDocument::namedPropertyGetter):
648         (WebCore::V8HTMLDocument::indexedPropertyGetter):
649         (WebCore::V8HTMLDocument::allAccessorSetter):
650         (WebCore::toV8):
651
652 2010-07-21  Eric Carlson  <eric.carlson@apple.com>
653
654         Reviewed by Simon Fraser.
655
656         Update plug-in proxy backed <video> and <audio> elements.
657         https://bugs.webkit.org/show_bug.cgi?id=42770
658         <rdar://problem/7963467>
659
660         * html/HTMLMediaElement.cpp:
661         (WebCore::HTMLMediaElement::attributeChanged): Only call m_player->setControls when
662         the 'controls' attribute changes.
663         (WebCore::HTMLMediaElement::createRenderer): 
664         (WebCore::HTMLMediaElement::attach): If we have a proxy widget, call the WebFrameLoaderClient's 
665         'hide' and 'show' methods for the media proxy plug-in to make sure we remove and re-add the 
666         plug-in's view to the global list of plugin views.
667         (WebCore::HTMLMediaElement::createMediaPlayerProxy): Bail if m_proxyWidget is non-NULL
668
669         * loader/EmptyClients.h:
670         (WebCore::EmptyFrameLoaderClient::hideMediaPlayerProxyPlugin): Empty stub method.
671         (WebCore::EmptyFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto.
672
673         * loader/FrameLoader.cpp:
674         * loader/FrameLoaderClient.h:
675         * loader/SubframeLoader.cpp:
676         (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): Always set m_containsPlugIns in loadMediaPlayerProxyPlugin(),
677          even when we don't have a renderer.
678         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): New, call hideMediaPlayerProxyPlugin.
679         (WebCore::FrameLoader::showMediaPlayerProxyPlugin): New, call showMediaPlayerProxyPlugin.
680
681         * platform/graphics/MediaPlayer.cpp:
682         (WebCore::NullMediaPlayerPrivate::setControls):
683         (WebCore::MediaPlayer::setControls): New, pass through to media engine.
684         (WebCore::MediaPlayer::enterFullscreen): Ditto.
685         (WebCore::MediaPlayer::exitFullscreen): Ditto.
686         * platform/graphics/MediaPlayer.h:
687         * platform/graphics/MediaPlayerPrivate.h:
688         (WebCore::MediaPlayerPrivateInterface::setControls):
689         (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
690         (WebCore::MediaPlayerPrivateInterface::exitFullscreen):
691
692 2010-07-21  Dimitri Glazkov  <dglazkov@chromium.org>
693
694         Reviewed by Darin Adler.
695
696         Make more members of CSSStyleSelector private.
697         https://bugs.webkit.org/show_bug.cgi?id=42757
698
699         No change in behavior, so no new tests.
700
701         * css/CSSStyleSelector.h: Made a publicly-unused methods private.
702
703 2010-07-21  Pavel Feldman  <pfeldman@chromium.org>
704
705         Reviewed by Timothy Hatcher.
706
707         Web Inspector: consider jQuery object to be of array nature.
708
709         https://bugs.webkit.org/show_bug.cgi?id=42758
710
711         * inspector/front-end/InjectedScript.js:
712         (injectedScriptConstructor):
713
714 2010-07-21  Alexey Proskuryakov  <ap@apple.com>
715
716         Unreviewed Windows build fix.
717
718         https://bugs.webkit.org/show_bug.cgi?id=42717
719         <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
720         credential storage, and is sent with subsequent requests
721
722         * platform/network/cf/ResourceHandleCFNet.cpp:
723         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Don't use that direct a
724         copy/paste, oops!
725
726 2010-07-21  Simon Fraser  <simon.fraser@apple.com>
727
728         Reviewed by Darin Adler.
729
730         When GraphicsLayer::contentsOrientation() is CompositingCoordinatesBottomUp, need to flip repaint rects
731         https://bugs.webkit.org/show_bug.cgi?id=42662
732         
733         If the contentsOrientation() on a GraphicsLayer is CompositingCoordinatesBottomUp, then we
734         need to flip the rects passed to setNeedsDisplayInRect:.
735         
736         Avoid writing this code twice by making a bare function to share code
737         between WebLayer and WebTiledLayer. Convert the existing +drawContents:ofLayer:intoContext:
738         class method into a bare function, because the Obj-C calling overhead doesn't buy us anything.
739         
740         Take out an assertion in GraphicsLayerCA::updateContentsTransform() that is not
741         correct.
742         
743         No new tests because no layers use bottom-up contents at present.
744
745         * platform/graphics/mac/GraphicsLayerCA.mm:
746         (WebCore::GraphicsLayerCA::updateContentsTransform):
747         * platform/graphics/mac/WebLayer.h:
748         * platform/graphics/mac/WebLayer.mm:
749         (drawLayerContents):
750         (setLayerNeedsDisplayInRect):
751         (-[WebLayer setNeedsDisplayInRect:]):
752         (-[WebLayer drawInContext:]):
753         * platform/graphics/mac/WebTiledLayer.mm:
754         (-[WebTiledLayer setNeedsDisplayInRect:]):
755         (-[WebTiledLayer drawInContext:]):
756
757 2010-07-20  Alexey Proskuryakov  <ap@apple.com>
758
759         Reviewed by Darin Adler.
760
761         https://bugs.webkit.org/show_bug.cgi?id=42717
762         <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
763         credential storage, and is sent with subsequent requests
764
765         Tests: http/tests/security/401-logout/401-logout.php
766                http/tests/xmlhttprequest/remember-bad-password.html
767
768         * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::remove):
769         * platform/network/CredentialStorage.h:
770         Added a way to remove stored credentials for a given protection space.
771
772         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
773         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
774         Remove stored credentials if they didn't work the first time.
775
776 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
777
778         Reviewed by Adam Roben.
779
780         WebKit on Windows should build optionally with an unversioned ICU DLL
781         https://bugs.webkit.org/show_bug.cgi?id=42722
782         <rdar://problem/8211767> WebKit needs to link against unversioned ICU
783
784         To get the proper value for U_DISABLE_RENAMING into all source files, we force
785         the include of ICUVersion.h (our generated header) via the compiler options.
786         
787         * WebCore.vcproj/WebCore.vcproj:
788         Add forced include of ICUVersion.h.
789         * WebCore.vcproj/WebCoreCommon.vsprops: Add forced include of ICUVersion.h.
790
791 2010-07-21  Ilya Tikhonovsky  <loislo@chromium.org>
792
793         Reviewed by Pavel Feldman.
794
795         WebInspector: Serialization to JSON in InspectorValue works incorrect
796         if comma is assigned as decimal separator. Windows with Russian locale.
797         https://bugs.webkit.org/show_bug.cgi?id=42755
798
799         * inspector/InspectorValues.cpp:
800         (WebCore::InspectorBasicValue::writeJSON):
801
802 2010-07-20  Simon Fraser  <simon.fraser@apple.com>
803
804         Reviewed by Dan Bernstein.
805
806         CSS rotation transform can cause elements with certain styles to vanish during rotation.
807         https://bugs.webkit.org/show_bug.cgi?id=42579
808         
809         Remove some untested, broken code that, as far as I can tell, could never get hit.
810         Use the correct rect for the PaintInfo so that zero-sized elements with overflow:hidden
811         but a border paint correctly.
812
813         Test: compositing/overflow/zero-size-overflow.html
814
815         * rendering/RenderLayerBacking.cpp:
816         (WebCore::RenderLayerBacking::paintIntoLayer):
817
818 2010-07-21  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
819
820         Reviewed by Laszlo Gombos.
821
822         [QT] Leak and few more fixes to qt port of geolocation
823         https://bugs.webkit.org/show_bug.cgi?id=42753
824
825         Fixes memory leak and default values set to attributes. 
826         
827         Memory leak fix no new test case added. 
828
829         * platform/qt/GeolocationServiceQt.cpp: Added.
830         (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
831         (WebCore::GeolocationServiceQt::positionUpdated):
832
833 2010-07-21  Kristian Amlie <kristian.amlie@nokia.com>
834
835         Reviewed by Kenneth Rohde Christiansen.
836
837         Added automatic sqlite extraction for Symbian to QtWebKit.
838
839         Also added sqlite detection in case sqlite is not present in the SDK.
840         This is possible if WebKit is compiled standalone.
841
842         The inclusion part is a consequence of commit c578c6c1d6d in the Qt
843         repository. It will not work on Qt versions < 4.7.1, but that is ok,
844         since the only build system it will affect is marked as experimental
845         in the whole 4.7 series.
846
847         * WebCore.pro:
848
849 2010-07-21  Adam Barth  <abarth@webkit.org>
850
851         Reviewed by Eric Seidel.
852
853         Associate elements with the active form
854         https://bugs.webkit.org/show_bug.cgi?id=42728
855
856         This patch fixes fast/forms/formmove3.html.  The test still doesn't
857         pass due to some render tree differences, but it works as intended now.
858
859         To fix this test, I needed to deviate from the spec slight.  Minefield
860         seems to have the same deviation:
861           - http://www.w3.org/Bugs/Public/show_bug.cgi?id=10216
862
863         * html/HTMLConstructionSite.cpp:
864         (WebCore::HTMLConstructionSite::takeForm):
865         (WebCore::HTMLConstructionSite::setForm):
866         (WebCore::HTMLConstructionSite::createHTMLElement):
867         * html/HTMLConstructionSite.h:
868         (WebCore::HTMLConstructionSite::form):
869         * html/HTMLTreeBuilder.cpp:
870         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
871
872 2010-07-21  Adam Barth  <abarth@webkit.org>
873
874         Reviewed by Eric Seidel.
875
876         The adoption agency doesn't properly attach()
877         https://bugs.webkit.org/show_bug.cgi?id=42727
878
879         The adoption agency is transliterated rather directly from the spec,
880         but it misses some of the WebKit-specific machinations, such as
881         attaching to the render tree.
882
883         The algorithm, as written, is a minor layer violation.  I've added to
884         the problem by calling attach() from HTMLTreeBuilder (even though
885         that's the job of the HTMLConstructionSite).  We'll need to clean up
886         the layering a bit at some point.
887
888         This patch half fixes fast/forms/formmove3.html.  Hopefully I'll finish
889         fixing it in the next patch.
890
891         * html/HTMLConstructionSite.cpp:
892         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
893         * html/HTMLTreeBuilder.cpp:
894         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
895
896 2010-07-21  Adam Barth  <abarth@webkit.org>
897
898         Reviewed by Eric Seidel.
899
900         <input> elements with no type attribute should be foster parented
901         https://bugs.webkit.org/show_bug.cgi?id=42725
902
903         Fix spec transcription error.
904
905         * html/HTMLTreeBuilder.cpp:
906         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
907
908 2010-07-21  Adam Barth  <abarth@webkit.org>
909
910         Reviewed by Eric Seidel.
911
912         Fix fast/css/last-child-style-sharing.html
913         https://bugs.webkit.org/show_bug.cgi?id=42731
914
915         Prior to this patch, we weren't calling finishParsingChildren on the
916         body element.  We need a more systematic way of catching these bugs.
917
918         * html/HTMLElementStack.cpp:
919         (WebCore::HTMLElementStack::popAll):
920         * html/HTMLElementStack.h:
921         * html/HTMLTreeBuilder.cpp:
922         (WebCore::HTMLTreeBuilder::processEndOfFile):
923
924 2010-07-21  Hans Wennborg  <hans@chromium.org>
925
926         Reviewed by Steve Block.
927
928         Runtime feature switch for device orientation
929         https://bugs.webkit.org/show_bug.cgi?id=42265
930
931         Add a runtime feature switch that decides whether device orientation
932         events are available or not. Defaults to true.
933
934         * WebCore.vcproj/WebCoreCommon.vsprops: Add bindings/generic to include path.
935         * bindings/generic/RuntimeEnabledFeatures.cpp:
936         * bindings/generic/RuntimeEnabledFeatures.h:
937         (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
938         (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
939         (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
940         (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
941         * page/DOMWindow.cpp:
942         (WebCore::DOMWindow::addEventListener):
943         (WebCore::DOMWindow::removeEventListener):
944         (WebCore::DOMWindow::removeAllEventListeners):
945         * page/DOMWindow.idl:
946         * page/Page.cpp:
947         (WebCore::Page::Page):
948
949 2010-07-21  Zoltan Herczeg  <zherczeg@webkit.org>
950
951         Reviewed Nikolas Zimmermann.
952
953         SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
954         https://bugs.webkit.org/show_bug.cgi?id=42244
955
956         The implementation was done by Nikolas Zimmermann before, but
957         there was no tests for it. The patch also implements the simple
958         setFilterRes method.
959
960         Tests: svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr.html
961                svg/dynamic-updates/SVGFilterElement-dom-filterUnits-attr.html
962                svg/dynamic-updates/SVGFilterElement-dom-height-attr.html
963                svg/dynamic-updates/SVGFilterElement-dom-primitiveUnits-attr.html
964                svg/dynamic-updates/SVGFilterElement-dom-width-attr.html
965                svg/dynamic-updates/SVGFilterElement-dom-x-attr.html
966                svg/dynamic-updates/SVGFilterElement-dom-y-attr.html
967                svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html
968                svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html
969                svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html
970                svg/dynamic-updates/SVGFilterElement-svgdom-filterUnits-prop.html
971                svg/dynamic-updates/SVGFilterElement-svgdom-height-prop.html
972                svg/dynamic-updates/SVGFilterElement-svgdom-primitiveUnits-prop.html
973                svg/dynamic-updates/SVGFilterElement-svgdom-width-prop.html
974                svg/dynamic-updates/SVGFilterElement-svgdom-x-prop.html
975                svg/dynamic-updates/SVGFilterElement-svgdom-y-prop.html
976
977         * svg/SVGFilterElement.cpp:
978         (WebCore::SVGFilterElement::setFilterRes):
979         (WebCore::SVGFilterElement::svgAttributeChanged):
980         (WebCore::SVGFilterElement::childrenChanged):
981         * svg/SVGFilterElement.h:
982
983 2010-07-21  Ben Murdoch  <benm@google.com>
984
985         Unreviewed, build fix.
986
987         Forgot to update the role of HitTestRequest.h in
988         the xcode project after landing patch from
989         https://bugs.webkit.org/show_bug.cgi?id=39493
990
991         * WebCore.xcodeproj/project.pbxproj: Make HitTestRequest.h
992             private so it can be included in WebKit by EventHandler.h
993             which is already private..
994
995 2010-07-20  Ben Murdoch  <benm@google.com>
996
997         Reviewed by Steve Block.
998
999         Touch events do not affect the :active CSS state
1000         https://bugs.webkit.org/show_bug.cgi?id=39493
1001
1002         Test: fast/events/touch/touch-active-state.html
1003
1004         * WebCore.exp.in: Update exports for new signature of
1005             hitTestResultAtPoint.
1006         * WebCore.order: ditto.
1007         * page/EventHandler.cpp:
1008         (WebCore::EventHandler::EventHandler):
1009         (WebCore::EventHandler::hitTestResultAtPoint): Pass the type
1010             of the hit test to perform as a parameter with a default
1011             value rather than harcoding it in the function body.
1012         (WebCore::EventHandler::handleMouseMoveEvent): Do not modiify
1013             the active element during a mouse move if the user is
1014             touching the screen.
1015         (WebCore::EventHandler::handleTouchEvent): Set the correct
1016             type of hit test to perform depending on the type of the
1017             touch event we are handling.
1018         * page/EventHandler.h: Update the signature of hitTestResultAtPoint.
1019
1020 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
1021
1022         Reviewed by Pavel Feldman.
1023
1024         console.assert should include stack trace with line numbers.
1025         https://bugs.webkit.org/show_bug.cgi?id=22556
1026
1027         Test: inspector/console-assert.html
1028
1029         * bindings/v8/ScriptCallStack.cpp:
1030         (WebCore::getTopFrameLocation):
1031         (WebCore::toScriptCallFramesVector):
1032         (WebCore::ScriptCallStack::create):
1033         (WebCore::ScriptCallStack::ScriptCallStack):
1034         * bindings/v8/ScriptCallStack.h:
1035         * bindings/v8/ScriptController.cpp:
1036         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
1037         * bindings/v8/custom/V8ConsoleCustom.cpp:
1038         (WebCore::V8Console::traceCallback):
1039         (WebCore::V8Console::assertCallback):
1040         * inspector/ConsoleMessage.cpp:
1041         (WebCore::ConsoleMessage::ConsoleMessage):
1042         * inspector/InspectorController.cpp:
1043         (WebCore::InspectorController::addMessageToConsole):
1044         * inspector/front-end/ConsoleView.js:
1045         (WebInspector.ConsoleMessage.prototype._formatMessage):
1046         (WebInspector.ConsoleMessage.prototype.toMessageElement):
1047         * page/Console.cpp:
1048         (WebCore::Console::lastWMLErrorMessage):
1049         * page/Console.idl:
1050
1051 2010-07-20  Rafael Antognolli  <antognolli@profusion.mobi>
1052
1053         Reviewed by Kent Tamura.
1054
1055         [EFL] Use log functions instead of fprintf
1056         https://bugs.webkit.org/show_bug.cgi?id=42576
1057
1058         Use LOG and LOG_ERROR instead of fprintf.
1059
1060         No new tests, no new functionality.
1061
1062         * platform/efl/WidgetEfl.cpp:
1063         (WebCore::Widget::applyFallbackCursor):
1064
1065 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
1066
1067         Reviewed by Yury Semikhatsky.
1068
1069         WebInspector: the bindings generation helper script can be
1070         simplified a bit. Chromium.
1071         https://bugs.webkit.org/show_bug.cgi?id=42523
1072
1073         * WebCore.gyp/WebCore.gyp:
1074         * WebCore.gyp/scripts/rule_binding.py:
1075         * bindings/scripts/CodeGenerator.pm:
1076         * bindings/scripts/CodeGeneratorCPP.pm:
1077         * bindings/scripts/CodeGeneratorJS.pm:
1078         * bindings/scripts/CodeGeneratorObjC.pm:
1079         * bindings/scripts/CodeGeneratorV8.pm:
1080         * bindings/scripts/generate-bindings.pl:
1081         * inspector/CodeGeneratorInspector.pm:
1082
1083 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
1084
1085         Re-save vsprops file after no-op edit in Visual Studio
1086         to fix manual edit issues.
1087
1088         * WebCore.vcproj/WebCoreCommon.vsprops:
1089
1090 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
1091
1092         Re-save vcproj file after no-op edit in Visual Studio
1093         to fix manual edit issues.
1094
1095         * WebCore.vcproj/WebCore.vcproj:
1096
1097 2010-07-20  Adam Barth  <abarth@webkit.org>
1098
1099         Reviewed by Eric Seidel.
1100
1101         Include attributes when reconstructing elements in HTML5 tree builder
1102         https://bugs.webkit.org/show_bug.cgi?id=42594
1103
1104         Remove FIXME now that we have a test.
1105
1106         * html/HTMLConstructionSite.cpp:
1107         (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
1108
1109 2010-07-20  Sam Weinig  <sam@webkit.org>
1110
1111         Reviewed by Brady Eidson.
1112
1113         Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
1114         Make Acid2 pass in WebKit2
1115
1116         * WebCore.exp.in: Update exported functions.
1117
1118 2010-07-20  Gavin Peters  <gavinp@chromium.org>
1119
1120         Reviewed by Adam Barth.
1121
1122         prefetch categorization is exactly wrong
1123         https://bugs.webkit.org/show_bug.cgi?id=42651
1124
1125         While I was in the area, I saw that CachedResource::schedule() was dead, so I have removed it.
1126
1127         Test: fast/dom/HTMLLinkElement/onload-completion-test.html
1128
1129         * loader/CachedCSSStyleSheet.h:
1130         * loader/CachedFont.h:
1131         * loader/CachedImage.h:
1132         * loader/CachedResource.cpp:
1133         * loader/CachedResource.h:
1134         (WebCore::CachedResource::isPrefetch):
1135         * loader/CachedScript.h:
1136         * loader/CachedXBLDocument.h:
1137         * loader/CachedXSLStyleSheet.h:
1138
1139 2010-07-20  James Hawkins  <jhawkins@chromium.org>
1140
1141         Reviewed by Darin Fisher.
1142
1143         Expose the form submission trigger on the HTMLFormElement object. This
1144         is used to verify that the user submitted the form instead of JS when
1145         saving form data in Chrome AutoFill.
1146         https://bugs.webkit.org/show_bug.cgi?id=42479
1147
1148         No new tests as this is only used by the Chromium WebKit API.
1149
1150         * html/HTMLFormElement.cpp:
1151         (WebCore::HTMLFormElement::HTMLFormElement):
1152         (WebCore::HTMLFormElement::submit):
1153         (WebCore::HTMLFormElement::reset):
1154         (WebCore::HTMLFormElement::submissionTrigger):
1155         * html/HTMLFormElement.h:
1156
1157 2010-07-20  Adam Barth  <abarth@webkit.org>
1158
1159         Unreviewed.
1160
1161         Fix fast/dom/title-content-write-set.html for HTML5 tree builder
1162         https://bugs.webkit.org/show_bug.cgi?id=42668
1163
1164         Address some late-breaking review comments.
1165
1166         * dom/CharacterData.cpp:
1167         (WebCore::CharacterData::appendDataCommon):
1168         (WebCore::CharacterData::parserAppendData):
1169         (WebCore::CharacterData::appendData):
1170         (WebCore::CharacterData::insertData):
1171         (WebCore::CharacterData::replaceData):
1172         * dom/CharacterData.h:
1173
1174 2010-07-20  Daniel Erat  <derat@chromium.org>
1175
1176         Reviewed by Ojan Vafai.
1177
1178         Subpixel rendering always disabled for Chromium Linux
1179         https://bugs.webkit.org/show_bug.cgi?id=42220
1180
1181         Explicitly initialize global Chromium Linux isSkiaSubpixelGlyphs
1182         flag to false for clarity.
1183
1184         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1185
1186 2010-07-20  Adam Barth  <abarth@webkit.org>
1187
1188         Reviewed by Darin Adler.
1189
1190         Fix fast/dom/title-content-write-set.html for HTML5 tree builder
1191         https://bugs.webkit.org/show_bug.cgi?id=42668
1192
1193         When I split parserAppendData from appendData, it was tempting to cut
1194         the function at dispatchModifiedEvent, but that's not quite right.  We
1195         still need to notify the parent that it's children have changed.
1196
1197         * dom/CharacterData.cpp:
1198         (WebCore::CharacterData::appendDataCommon):
1199         (WebCore::CharacterData::parserAppendData):
1200         (WebCore::CharacterData::appendData):
1201         * dom/CharacterData.h:
1202
1203 2010-07-20  Chris Fleizach  <cfleizach@apple.com>
1204
1205         Reviewed by Beth Dakin.
1206
1207         CrashTracer: [USER] 300 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 573
1208         https://bugs.webkit.org/show_bug.cgi?id=42652
1209
1210         When a table cell accesses its parent table, we should not use getOrCreate, because creating an AXTable inspects its render tree state
1211         which may be out of date, leading to a crash.
1212         By using only get(), it implies that the AXTable must be created before AXTableCells. This should
1213         always be the case when AT clients access a table.
1214
1215         Test: accessibility/updating-attribute-in-table-causes-crash.html
1216
1217         * accessibility/AccessibilityTableCell.cpp:
1218         (WebCore::AccessibilityTableCell::parentTable):
1219
1220 2010-07-20  Abhishek Arya  <inferno@chromium.org>
1221
1222         Reviewed by David Hyatt.
1223
1224         Check the node is a text node before doing the static cast
1225         for editing commands.
1226         https://bugs.webkit.org/show_bug.cgi?id=42655
1227
1228         Test: editing/execCommand/editing-nontext-node-crash.xhtml
1229
1230         * editing/DeleteSelectionCommand.cpp:
1231         (WebCore::DeleteSelectionCommand::fixupWhitespace):
1232         * editing/InsertLineBreakCommand.cpp:
1233         (WebCore::InsertLineBreakCommand::doApply):
1234         * editing/InsertParagraphSeparatorCommand.cpp:
1235         (WebCore::InsertParagraphSeparatorCommand::doApply):
1236
1237 2010-07-20  Leo Yang  <leo.yang@torchmobile.com.cn>
1238
1239         Reviewed by David Hyatt.
1240
1241         Don't merge Anonymous block whose first child is inline run-in.
1242         Make run-in recalculate its style after its renderer is destroyed.
1243         https://bugs.webkit.org/show_bug.cgi?id=41375.
1244
1245         Test: fast/runin/crash-when-reparent-sibling.html
1246
1247         * rendering/RenderBlock.cpp:
1248         (WebCore::canMergeContiguousAnonymousBlocks):
1249         * rendering/RenderObjectChildList.cpp:
1250         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1251
1252 2010-07-20  Steve Block  <steveblock@google.com>
1253
1254         Unreviewed Qt test fix.
1255
1256         Qt should not use PREEMPT_GEOLOCATION_PERMISSION until Bug 42027 is fixed.
1257         https://bugs.webkit.org/show_bug.cgi?id=42068
1258
1259         No new tests, test fix only.
1260
1261         * WebCore.pro:
1262
1263 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1264
1265         Unreviewed, rolling out r63764.
1266         http://trac.webkit.org/changeset/63764
1267         https://bugs.webkit.org/show_bug.cgi?id=42658
1268
1269         have broken Chromium linux build (Requested by loislo on
1270         #webkit).
1271
1272         * WebCore.gyp/WebCore.gyp:
1273         * WebCore.gyp/scripts/rule_binding.py:
1274         * bindings/scripts/CodeGenerator.pm:
1275         * bindings/scripts/CodeGeneratorCPP.pm:
1276         * bindings/scripts/CodeGeneratorJS.pm:
1277         * bindings/scripts/CodeGeneratorObjC.pm:
1278         * bindings/scripts/CodeGeneratorV8.pm:
1279         * bindings/scripts/generate-bindings.pl:
1280         * inspector/CodeGeneratorInspector.pm:
1281
1282 2010-07-20  Alexey Proskuryakov  <ap@apple.com>
1283
1284         Reviewed by Brady Eidson.
1285
1286         https://bugs.webkit.org/show_bug.cgi?id=41531
1287         Asynchronous cross origin XMLHttpRequest doesn't expose 401 response when withCredentials is false
1288
1289         This doesn't match Firefox, but it matches our sync case, XHR2 spec and common sense.
1290
1291         Test: http/tests/xmlhttprequest/cross-origin-no-authorization.html (updated results).
1292
1293         * loader/DocumentThreadableLoader.cpp:
1294         (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Instead of canceling
1295         the request, continue without credentials - if the platform has a necessary method on
1296         ResourceHandle.
1297
1298         * loader/SubresourceLoader.cpp:
1299         (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Don't ask resource loader
1300         client for credentials if subresource loader client already took care of those.
1301
1302         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::hasAuthenticationChallenge):
1303         * platform/network/ResourceHandle.h:
1304         Added an accessor to check whether ResourceHandle is currently waiting for credentials.
1305
1306 2010-07-20  Leandro Pereira  <leandro@profusion.mobi>
1307
1308         [EFL] Unreviewed build fix.
1309
1310         Build SVGPathBuilder, SVGPathParser and SVGPathSegListBuilder.
1311         Add websockets include directory.
1312
1313         The EFL port doesn't yet support automated tests.
1314
1315         * CMakeLists.txt:
1316
1317 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
1318
1319         Reviewed by Yury Semikhatsky.
1320
1321         WebInspector: the bindings generation helper script can be
1322         simplified a bit. Chromium.
1323         https://bugs.webkit.org/show_bug.cgi?id=42523
1324
1325         * WebCore.gyp/WebCore.gyp:
1326         * WebCore.gyp/scripts/rule_binding.py:
1327         * bindings/scripts/CodeGenerator.pm:
1328         * bindings/scripts/CodeGeneratorCPP.pm:
1329         * bindings/scripts/CodeGeneratorJS.pm:
1330         * bindings/scripts/CodeGeneratorObjC.pm:
1331         * bindings/scripts/CodeGeneratorV8.pm:
1332         * bindings/scripts/generate-bindings.pl:
1333         * inspector/CodeGeneratorInspector.pm:
1334
1335 2010-07-20  Joseph Pecoraro  <joepeck@webkit.org>
1336
1337         Reviewed by Geoffrey Garen.
1338
1339         WebScriptObject Should Allow Safely Checking For Key Existence
1340         https://bugs.webkit.org/show_bug.cgi?id=42613
1341
1342         Test: platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html
1343
1344         Add private API "hasWebScriptKey" to check for key existence in
1345         a WebScriptObject. Like JavaScript's `in` syntax. This is intended
1346         to be made public eventually.
1347
1348         * bindings/objc/WebScriptObject.mm:
1349         (-[WebScriptObject hasWebScriptKey:]):
1350         * bindings/objc/WebScriptObjectPrivate.h:
1351
1352 2010-07-20  Adam Barth  <abarth@webkit.org>
1353
1354         Reviewed by Eric Seidel.
1355
1356         HTML5 tree builder needs to call dispatchDocumentElementAvailable
1357         https://bugs.webkit.org/show_bug.cgi?id=42654
1358
1359         This patch fixes the follout LayoutTests with --html5-treebuilder:
1360           - userscripts/script-not-run-for-fragments.html
1361           - userscripts/script-run-at-start.html
1362
1363         * html/HTMLConstructionSite.cpp:
1364         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
1365         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
1366         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
1367         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
1368         * html/HTMLConstructionSite.h:
1369         * html/HTMLTreeBuilder.cpp:
1370         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1371
1372 2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1373
1374         Reviewed by Steve Block.
1375
1376         Need to be able to configure Geolocation policy regarding user permissions
1377         https://bugs.webkit.org/show_bug.cgi?id=42068
1378
1379         Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
1380         acquires user permission first before starting location service
1381
1382         This change does not introduce any change in behavior for any platform. So there are no new tests
1383         added.
1384
1385         * WebCore.pro:
1386         * page/Geolocation.cpp:
1387         (WebCore::Geolocation::startRequest):
1388         (WebCore::Geolocation::setIsAllowed):
1389         (WebCore::Geolocation::startUpdating):
1390         * page/Geolocation.h:
1391
1392 2010-07-20  Adam Barth  <abarth@webkit.org>
1393
1394         Reviewed by Darin Adler.
1395
1396         HTML5 tree builder should restore form state
1397         https://bugs.webkit.org/show_bug.cgi?id=42644
1398
1399         We need to tell self-closing tags that we're done parsing their
1400         children.  This patch fixes the following LayoutTests when run with
1401         --html5-treebuilder:
1402
1403           fast/forms/button-state-restore.html
1404           fast/forms/state-restore-to-non-autocomplete-form.html
1405           fast/forms/state-restore-to-non-edited-controls.html
1406           fast/history/saves-state-after-fragment-nav.html
1407           http/tests/navigation/restore-form-state-https.html
1408
1409         * html/HTMLConstructionSite.cpp:
1410         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
1411
1412 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1413
1414         Unreviewed, rolling out r63750.
1415         http://trac.webkit.org/changeset/63750
1416         https://bugs.webkit.org/show_bug.cgi?id=42648
1417
1418         This revision breaks the windows builds (Requested by
1419         hwennborg on #webkit).
1420
1421         * bindings/generic/RuntimeEnabledFeatures.cpp:
1422         * bindings/generic/RuntimeEnabledFeatures.h:
1423         * page/DOMWindow.cpp:
1424         (WebCore::DOMWindow::addEventListener):
1425         (WebCore::DOMWindow::removeEventListener):
1426         (WebCore::DOMWindow::removeAllEventListeners):
1427         * page/DOMWindow.idl:
1428         * page/Page.cpp:
1429         (WebCore::Page::Page):
1430
1431 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
1432
1433         Reviewed by Pavel Feldman.
1434
1435         WebInspector: It is possible to show full call stack instead of top frame for Caller
1436         and Call Site properties in Timeline panel.
1437         https://bugs.webkit.org/show_bug.cgi?id=42620
1438
1439         * English.lproj/localizedStrings.js:
1440         * inspector/front-end/TimelinePanel.js:
1441         (WebInspector.TimelinePanel.FormattedRecord):
1442         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1443         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1444         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
1445         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
1446         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
1447         * inspector/front-end/inspector.css:
1448         (.timeline-details):
1449         (.timeline-function-name):
1450         (.timeline-stacktrace-title):
1451
1452 2010-07-20  Leon Clarke  <leonclarke@google.com>
1453
1454         Reviewed by Pavel Feldman.
1455
1456         Make things compile again when the inspector is disabled, following
1457         recent inspector improvements.
1458         https://bugs.webkit.org/show_bug.cgi?id=42632
1459
1460         No new tests. Fixing a build break.
1461
1462
1463         * bindings/v8/ScriptCallStack.cpp:
1464         (WebCore::ScriptCallStack::stackTrace):
1465         * inspector/InspectorController.h:
1466         (WebCore::InspectorController::didInsertDOMNode):
1467         (WebCore::InspectorController::didRemoveDOMNode):
1468         (WebCore::InspectorController::didModifyDOMAttr):
1469         * inspector/InspectorDOMAgent.h:
1470         * loader/appcache/ApplicationCacheGroup.cpp:
1471
1472 2010-07-20  Anton Muhin  <antonm@chromium.org>
1473
1474         Reviewed by Adam Barth.
1475
1476         [v8] Allow handles to be disposed and WebKit objects to be dereferenced even if their map is already destroyed.
1477         https://bugs.webkit.org/show_bug.cgi?id=42634
1478
1479         Currently DOMDataStore could be destroyed even if it has some mappings (it gets destroyed
1480         when its isolated context gets GCed).  However in this case, handles allocated for
1481         such objects would never be disposed as we require presence of mapping from wrapped
1482         WebKit object to handle being collected in the map and now map is gone.  That leads to
1483         zombie objects in both WebKit (wrapped WebKit object doesn't get dereferenced) and V8
1484         (both handle and V8 wrapper object could not be destroyed).
1485
1486         See http://code.google.com/p/chromium/issues/detail?id=47125 for further discussion.
1487
1488         * bindings/v8/DOMData.h:
1489         (WebCore::DOMData::handleWeakObject):
1490         * bindings/v8/DOMDataStore.cpp:
1491         (WebCore::DOMDataStore::weakNodeCallback):
1492         * bindings/v8/V8DOMMap.h:
1493         (WebCore::WeakReferenceMap::~WeakReferenceMap):
1494
1495 2010-07-20  Hans Wennborg  <hans@chromium.org>
1496
1497         Reviewed by Steve Block.
1498
1499         Runtime feature switch for device orientation
1500         https://bugs.webkit.org/show_bug.cgi?id=42265
1501
1502         Add a runtime feature switch that decides whether device orientation
1503         events are available or not. Defaults to true.
1504
1505         * bindings/generic/RuntimeEnabledFeatures.cpp:
1506         * bindings/generic/RuntimeEnabledFeatures.h:
1507         (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
1508         (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
1509         (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
1510         (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
1511         * page/DOMWindow.cpp:
1512         (WebCore::DOMWindow::addEventListener):
1513         (WebCore::DOMWindow::removeEventListener):
1514         (WebCore::DOMWindow::removeAllEventListeners):
1515         * page/DOMWindow.idl:
1516         * page/Page.cpp:
1517         (WebCore::Page::Page):
1518
1519 2010-07-20  Hayato Ito  <hayato@chromium.org>
1520
1521         Reviewed by Darin Adler.
1522
1523         Fixed a crash when deeply nested CSS selector is used.
1524         https://bugs.webkit.org/show_bug.cgi?id=41129
1525
1526         This patch deletes CSSSelectors iteratively so that it doesn't cause stack overflow.
1527
1528         Test: fast/css/css-selector-deeply-nested.html
1529
1530         * css/CSSSelector.cpp:
1531         (WebCore::CSSSelectorBag::~CSSSelectorBag):
1532         (WebCore::CSSSelectorBag::isEmpty):
1533         (WebCore::CSSSelectorBag::append):
1534         (WebCore::CSSSelectorBag::takeAny):
1535         (WebCore::CSSSelector::~CSSSelector):
1536         (WebCore::CSSSelector::specificity):
1537         * css/CSSSelector.h:
1538
1539 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
1540
1541         Reviewed by Pavel Feldman.
1542
1543         [v8] Web Inspector: inspected page renderer crashes when inspected page has JS syntax error
1544         https://bugs.webkit.org/show_bug.cgi?id=42642
1545
1546         * bindings/v8/V8ConsoleMessage.cpp:
1547         (WebCore::V8ConsoleMessage::handler):
1548
1549 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1550
1551         Unreviewed, rolling out r63742.
1552         http://trac.webkit.org/changeset/63742
1553         https://bugs.webkit.org/show_bug.cgi?id=42641
1554
1555         Broke Leopard Intel build. (Requested by bbandix on #webkit).
1556
1557         * WebCore.pro:
1558         * page/Geolocation.cpp:
1559         (WebCore::Geolocation::startRequest):
1560         (WebCore::Geolocation::setIsAllowed):
1561         (WebCore::Geolocation::startUpdating):
1562         * page/Geolocation.h:
1563
1564 2010-07-20  Adam Roben  <aroben@apple.com>
1565
1566         Windows build fix
1567
1568         * WebCore.vcproj/WebCore.vcproj: Fixed case of "Name" attribute.
1569
1570 2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1571
1572         Reviewed by Steve Block.
1573
1574         Need to be able to configure Geolocation policy regarding user permissions
1575         https://bugs.webkit.org/show_bug.cgi?id=42068
1576
1577         Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
1578         acquires user permission first before starting location service
1579
1580         This change does not introduce any change in behavior for any platform. So there are no new tests
1581         added.
1582
1583         * WebCore.pro:
1584         * page/Geolocation.cpp:
1585         (WebCore::Geolocation::startRequest):
1586         (WebCore::Geolocation::setIsAllowed):
1587         (WebCore::Geolocation::startUpdating):
1588         * page/Geolocation.h:
1589
1590 2010-07-20  Alexander Pavlov  <apavlov@chromium.org>
1591
1592         Reviewed by Pavel Feldman.
1593
1594         Inspector: Resources Search Should Search Only Filtered Resources
1595         https://bugs.webkit.org/show_bug.cgi?id=28290
1596
1597         * inspector/front-end/AbstractTimelinePanel.js:
1598         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
1599         * inspector/front-end/ResourcesPanel.js:
1600         (WebInspector.ResourcesPanel.prototype.get searchableViews):
1601         * inspector/front-end/inspector.js:
1602         (WebInspector.performSearch):
1603         (WebInspector.doPerformSearch):
1604
1605 2010-07-20  Alexander Pavlov  <apavlov@chromium.org>
1606
1607         Reviewed by Pavel Feldman.
1608
1609         Web Inspector: Incorrect absolute URLs in tooltips of links in the ElementsTreeOutline
1610         https://bugs.webkit.org/show_bug.cgi?id=42626
1611
1612         * inspector/front-end/ElementsTreeOutline.js:
1613         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
1614
1615 2010-07-20  Shinichiro Hamaji  <hamaji@chromium.org>
1616
1617         Unreviewed comment fix. The comment in IDL should be //, not # .
1618
1619         Code generator: ensure generated constants match their corresponding enums.
1620         https://bugs.webkit.org/show_bug.cgi?id=42250
1621
1622         * dom/OverflowEvent.idl:
1623
1624 2010-07-20  Hans Wennborg  <hans@chromium.org>
1625
1626         Reviewed by Steve Block.
1627
1628         Add WebCore/bindings/generic/RuntimeEnabledFeatures.cpp to build files
1629         https://bugs.webkit.org/show_bug.cgi?id=42380
1630
1631         RuntimeEnabledFeatures.cpp and .h were moved from bindings/v8 to
1632         bindings/generic a while a go (in r54593), but need to
1633         be added to the build in order to be used.
1634
1635         No new functionality so no new tests.
1636
1637         * Android.mk:
1638         * CMakeLists.txt:
1639         * GNUmakefile.am:
1640         * WebCore.pro:
1641         * WebCore.vcproj/WebCore.vcproj:
1642         * WebCore.xcodeproj/project.pbxproj:
1643         * websockets/WebSocket.cpp: Remove #if USE(V8), as RuntimeEnabledFeatures.cpp is no longer V8-only.
1644         * websockets/WebSocket.h: Ditto.
1645
1646 2010-07-20  Tony Chang  <tony@chromium.org>
1647
1648         Reviewed by Kent Tamura.
1649
1650         clean up style in ClipboardWin and PasteboardWin
1651         https://bugs.webkit.org/show_bug.cgi?id=42609
1652
1653         No new tests since this is just a style cleanup.
1654
1655         * platform/win/ClipboardUtilitiesWin.cpp:
1656         (WebCore::createGlobalData):
1657         (WebCore::markupToCFHTML):
1658         (WebCore::getURL):
1659         (WebCore::getPlainText):
1660         (WebCore::getTextHTML):
1661         (WebCore::fragmentFromFilenames):
1662         (WebCore::containsFilenames):
1663         (WebCore::fragmentFromCFHTML):
1664         (WebCore::fragmentFromHTML):
1665         * platform/win/ClipboardUtilitiesWin.h:
1666         * platform/win/ClipboardWin.cpp:
1667         (WebCore::pathRemoveBadFSCharacters):
1668         (WebCore::createGlobalHDropContent):
1669         (WebCore::createGlobalUrlFileDescriptor):
1670         (WebCore::writeURL):
1671         (WebCore::ClipboardWin::clearData):
1672         (WebCore::ClipboardWin::clearAllData):
1673         (WebCore::ClipboardWin::getData):
1674         (WebCore::ClipboardWin::types):
1675         (WebCore::ClipboardWin::declareAndWriteDragImage):
1676         (WebCore::ClipboardWin::writeRange):
1677         * platform/win/ClipboardWin.h:
1678         (WebCore::ClipboardWin::create):
1679         (WebCore::ClipboardWin::dataObject):
1680         * platform/win/PasteboardWin.cpp:
1681         (WebCore::PasteboardOwnerWndProc):
1682         (WebCore::Pasteboard::writeSelection):
1683         (WebCore::Pasteboard::writeURL):
1684         (WebCore::Pasteboard::plainText):
1685         (WebCore::Pasteboard::documentFragment):
1686
1687 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
1688
1689         Reviewed by Pavel Feldman.
1690
1691         Web Inspector: jump to source is broken for call frames logged by console.trace
1692         https://bugs.webkit.org/show_bug.cgi?id=42619
1693
1694         * inspector/front-end/ConsoleView.js:
1695         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
1696         * inspector/front-end/treeoutline.js: allow passing HTML element as a title.
1697         (TreeElement.prototype.set title):
1698         (TreeElement.prototype.set shouldRefreshChildren):
1699         (TreeElement.prototype._setListItemNodeContent):
1700         (TreeElement.prototype._attach):
1701
1702 2010-07-20  Tony Chang  <tony@chromium.org>
1703
1704         Reviewed by Dan Bernstein.
1705
1706         [chromium] crash in Position::getInlineBoxAndOffset
1707         https://bugs.webkit.org/show_bug.cgi?id=42202
1708
1709         Test: editing/selection/firstRect-crash.html
1710         Manual test: win/contextmenu-key2.html
1711
1712         * page/EventHandler.cpp: Code no longer needed
1713         * page/Frame.cpp:
1714         (WebCore::Frame::firstRectForRange): Normalize Positions to VisiblePositions because
1715             Positions may be pointing to nodes that have no renderer.  If there's no renderer,
1716             getInlineBoxAndOffset will crash.
1717
1718 2010-07-20  Adam Barth  <abarth@webkit.org>
1719
1720         Reviewed by Darin Adler.
1721
1722         Foster parenting depends on the current element at insertion time
1723         https://bugs.webkit.org/show_bug.cgi?id=42599
1724
1725         We need to consider the current element at insertion-time when deciding
1726         whether to redirect insertion to the foster parent.  Previously, we
1727         were considering the current element *both* at insertion-time and at
1728         the time we created the guard.
1729
1730         * html/HTMLConstructionSite.h:
1731         (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
1732         * html/HTMLTreeBuilder.cpp:
1733         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
1734         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
1735         (WebCore::HTMLTreeBuilder::defaultForInTableText):
1736
1737 2010-07-20  Matthew Delaney  <mdelaney@apple.com>
1738
1739         Reviewed by Kenneth Rohde Christiansen.
1740
1741         Failing 2d.path.stroke.prune.curve philip canvas test
1742         https://bugs.webkit.org/show_bug.cgi?id=42190
1743
1744         * html/canvas/CanvasRenderingContext2D.cpp:
1745         (WebCore::CanvasRenderingContext2D::closePath): Added check to make sure there's a non-trivial path to close. Since there is currently no way to check if the current point is the start point, or similarly if there is only 1 point in the current subpath (since these are both sufficient conditions for a trivial subpath), then checking that the bounding rectangle has both zero width and height proves also to be a sufficient condition for a trivial path.
1746         (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Added in simple bounds as per the spec.
1747         (WebCore::CanvasRenderingContext2D::bezierCurveTo): Added in simple bounds as per the spec.
1748         * platform/graphics/cg/PathCG.cpp:
1749         (WebCore::Path::closeSubpath): Moved the check for an empty path up on level to make it platform independent and remove redundancy.
1750
1751 2010-07-19  Victoria Kirst  <vrk@google.com>
1752
1753         Reviewed by David Levin.
1754
1755         Added a simple implementation of VideoLayerChromium. Uses the
1756         LayerChromium::updateTextureRect() to send video frames to the
1757         GPU.
1758         https://bugs.webkit.org/show_bug.cgi?id=42234
1759
1760         * WebCore.gypi: Added include for VideoLayerChromium.
1761         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1762         (WebCore::GraphicsLayerChromium::setContentsToMedia): Implemented
1763         setContentsToMedia, though it does not seem to trigger a repaint
1764         correctly.
1765         * platform/graphics/chromium/GraphicsLayerChromium.h:
1766         * platform/graphics/chromium/VideoLayerChromium.cpp: Added.
1767         (WebCore::VideoLayerChromium::create):
1768         (WebCore::VideoLayerChromium::VideoLayerChromium):
1769         (WebCore::VideoLayerChromium::updateTextureContents):
1770         * platform/graphics/chromium/VideoLayerChromium.h: Added.
1771         (WebCore::VideoLayerChromium::drawsContent):
1772
1773 2010-07-19  Dirk Schulze  <krit@webkit.org>
1774
1775         Reviewed by Nikolas Zimmermann.
1776
1777         SVG CleanUp of SVGPathData parsing
1778         https://bugs.webkit.org/show_bug.cgi?id=41410
1779
1780         Cleanup the parsing code for SVG Paths. Move classes out of the convoluted SVGParserUtilities.cpp
1781         in their own files. Make use of WebCore specific objects in parsing code like FloatPoint, AffineTransform,
1782         etc. instead of using home-brewn solutions.
1783         The SVGPathParser parses a path data string and delivers the parsed segments and values to the SVGPathConsumer.
1784         SVGPathConsumer is the base class for SVGPathBuilder and SVGPathSegListBuilder, that either build the platform
1785         Path object or a SVGPathSegList out of the segments.
1786         We're now directly parsing floats instead of truncating precision to float afterwards.
1787
1788         SVG Path with an arc with radius of 0 does not render
1789         https://bugs.webkit.org/show_bug.cgi?id=40448
1790
1791         If one of the radii on the elliptic arc are zero, we should draw a line from the starting point to
1792         the end point according to the spec. Fixed this bug with this patch, because an is zero check and 
1793         an DRT check was neccessary with the current clean-up.
1794         Extended svg/dom/path-parser.xhml to check the correct behavior.
1795
1796         * Android.mk:
1797         * GNUmakefile.am:
1798         * WebCore.gypi:
1799         * WebCore.pro:
1800         * WebCore.vcproj/WebCore.vcproj:
1801         * WebCore.xcodeproj/project.pbxproj:
1802         * platform/graphics/FloatPoint.h:
1803         (WebCore::FloatPoint::move): Follow WebKit style and use multiple lines for the function.
1804         (WebCore::FloatPoint::scale): Scale FloatPoint.
1805         (WebCore::operator+=):
1806         (WebCore::operator+): Add two FloatPoints and give back the sum as FloatPoint.
1807         * svg/SVGAllInOne.cpp: Added new created files.
1808         * svg/SVGAnimateElement.cpp:
1809         (WebCore::SVGAnimateElement::calculateFromAndToValues): Use new PathParser to create a PathSegList.
1810         * svg/SVGAnimateMotionElement.cpp:
1811         (WebCore::SVGAnimateMotionElement::parseMappedAttribute): Use new PathParser to create a Path.
1812         * svg/SVGGlyphElement.cpp:
1813         (WebCore::parsePathData): Use new PathParser to create a Path.
1814         * svg/SVGParserUtilities.cpp:
1815         (WebCore::parseArcFlag): Removed parseArcFlag(double&), we parse in float now.
1816         * svg/SVGParserUtilities.h: Removed path parsing code and a lot of unneccessary includes.
1817         * svg/SVGPathBuilder.cpp: Added.
1818         (WebCore::SVGPathBuilder::SVGPathBuilder):
1819         (WebCore::SVGPathBuilder::build): Builds a normalized Path.
1820         (WebCore::SVGPathBuilder::moveTo):
1821         (WebCore::SVGPathBuilder::lineTo):
1822         (WebCore::SVGPathBuilder::curveToCubic):
1823         (WebCore::SVGPathBuilder::closePath):
1824         * svg/SVGPathBuilder.h: Added. We just create normalized Paths, so this functions should never be reached.
1825         (WebCore::SVGPathBuilder::lineToHorizontal):
1826         (WebCore::SVGPathBuilder::lineToVertical):
1827         (WebCore::SVGPathBuilder::curveToCubicSmooth):
1828         (WebCore::SVGPathBuilder::curveToQuadratic):
1829         (WebCore::SVGPathBuilder::curveToQuadraticSmooth):
1830         (WebCore::SVGPathBuilder::arcTo):
1831         * svg/SVGPathConsumer.h: Added. Base class of SVGPathBuilder and SVGPathSegListBuilder.
1832         (WebCore::):
1833         (WebCore::SVGPathConsumer::SVGPathConsumer):
1834         (WebCore::SVGPathConsumer::~SVGPathConsumer):
1835         * svg/SVGPathElement.cpp:
1836         (WebCore::SVGPathElement::parseMappedAttribute): Use new PathParser to create a PathSegList.
1837         * svg/SVGPathParser.cpp: Added.
1838         (WebCore::SVGPathParser::SVGPathParser):
1839         (WebCore::SVGPathParser::~SVGPathParser):
1840         (WebCore::SVGPathParser::parseClosePathSegment):
1841         (WebCore::SVGPathParser::parseMoveToSegment):
1842         (WebCore::SVGPathParser::parseLineToSegment):
1843         (WebCore::SVGPathParser::parseLineToHorizontalSegment):
1844         (WebCore::SVGPathParser::parseLineToVerticalSegment):
1845         (WebCore::SVGPathParser::parseCurveToCubicSegment):
1846         (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
1847         (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
1848         (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
1849         (WebCore::SVGPathParser::parseArcToSegment):
1850         (WebCore::SVGPathParser::parsePathDataString):
1851         (WebCore::SVGPathParser::decomposeArcToCubic): Normalizes an arc to multiple cubic curves.
1852         * svg/SVGPathParser.h: Added.
1853         * svg/SVGPathSegListBuilder.cpp: Added.
1854         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
1855         (WebCore::SVGPathSegListBuilder::build):
1856         (WebCore::SVGPathSegListBuilder::moveTo):
1857         (WebCore::SVGPathSegListBuilder::lineTo):
1858         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
1859         (WebCore::SVGPathSegListBuilder::lineToVertical):
1860         (WebCore::SVGPathSegListBuilder::curveToCubic):
1861         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
1862         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
1863         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
1864         (WebCore::SVGPathSegListBuilder::arcTo):
1865         (WebCore::SVGPathSegListBuilder::closePath):
1866         * svg/SVGPathSegListBuilder.h: Added.
1867
1868 2010-07-15  Yuzo Fujishima  <yuzo@google.com>
1869
1870         Reviewed by Dan Bernstein.
1871
1872         Fix for Bug 42342 - Font download error for an @font-face rule invalidates other @font-face rules for the same font-family
1873         https://bugs.webkit.org/show_bug.cgi?id=42342
1874
1875         Test: fast/css/font-face-download-error.html
1876
1877         * css/CSSSegmentedFontFace.cpp:
1878         (WebCore::CSSSegmentedFontFace::isValid): Valid if at least one font
1879         face is valid.
1880         (WebCore::CSSSegmentedFontFace::getFontData): Check validity for each
1881         font face.
1882         * css/CSSSegmentedFontFace.h: Make isValid private.
1883
1884 2010-07-19  Kent Tamura  <tkent@chromium.org>
1885
1886         Reviewed by Shinichiro Hamaji.
1887
1888         [Chromium] Fix style errors of RenderThemeChromiumWin.cpp
1889         https://bugs.webkit.org/show_bug.cgi?id=42568
1890
1891         * rendering/RenderThemeChromiumWin.cpp:
1892         (WebCore::):
1893         (WebCore::getNonClientMetrics):
1894         (WebCore::systemFontSize):
1895         (WebCore::pointsToPixels):
1896         (WebCore::querySystemBlinkInterval):
1897         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
1898         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
1899         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
1900         (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor):
1901         (WebCore::RenderThemeChromiumWin::paintButton):
1902         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
1903         (WebCore::RenderThemeChromiumWin::paintMenuList):
1904         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
1905         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
1906
1907 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
1908
1909         (Hopefully the last) Windows build fix.
1910         
1911         Version of CoreServices.h in WebKit Support Libraries uses
1912         pragma once, unlike the version I have locally. Switch based
1913         on __COLORSYNCDEPRECATED__ instead.
1914
1915         * WebCorePrefix.h:
1916
1917 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
1918
1919         Windows build fix.
1920
1921         * WebCorePrefix.h:
1922
1923 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
1924
1925         Build fix.
1926
1927         * WebCorePrefix.h:
1928
1929 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
1930
1931         Build fix.
1932
1933         * WebCorePrefix.h:
1934
1935 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
1936
1937         Windows Build fixes for new ColorSync API.
1938         We support both new and old APIs, since the newer headers aren't in the tree yet.
1939
1940         * WebCorePrefix.h: Removed include of CoreServices.h. Included via ColorSyncPriv.h instead, since header may not be present.
1941         * platform/graphics/cg/ColorCG.cpp:
1942         (WebCore::createCGColor): Conditionally use new ColorSync API.
1943         * platform/graphics/opentype/OpenTypeUtilities.cpp: Define Fixed if CoreServices.h doesn't.
1944         * platform/graphics/win/GraphicsLayerCACF.cpp:
1945         (WebCore::GraphicsLayerCACF::updateLayerDrawsContent): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
1946         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Include AssertMacros.h.
1947         * platform/network/cf/ResourceErrorCF.cpp:
1948         (WebCore::ResourceError::operator CFErrorRef): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
1949
1950 2010-07-19  Tony Gentilcore  <tonyg@chromium.org>
1951
1952         Reviewed by Dimitri Glazkov.
1953
1954         Only set unloadEventEnd when the unload event is actually fired
1955         https://bugs.webkit.org/show_bug.cgi?id=42607
1956
1957         r63689 introduced this ASSERT and it began failing on Qt and Mac debug.
1958         For some reason, it did not fail on Windows (which is where I was
1959         testing). The ASSERT was disabled in r63699.
1960
1961         Test: page-cache related layout tests don't crash in debug mode on Mac.
1962
1963         * loader/FrameLoader.cpp:
1964         (WebCore::FrameLoader::stopLoading):
1965
1966 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
1967
1968         Reviewed by Kenneth Rohde Christiansen.
1969
1970         [Qt] Don't unnecessarily copy QPainterPath in fillPath() and strokePath()
1971         https://bugs.webkit.org/show_bug.cgi?id=42513
1972
1973         Avoid making unnecessary deep-copies of QPainterPaths that will
1974         be discarded after use.
1975
1976         * platform/graphics/qt/GraphicsContextQt.cpp:
1977         (WebCore::GraphicsContext::fillPath):
1978         (WebCore::GraphicsContext::strokePath):
1979
1980 2010-07-19  Kenneth Russell  <kbr@google.com>
1981
1982         Reviewed by Nate Chapin.
1983
1984         WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
1985         https://bugs.webkit.org/show_bug.cgi?id=34719
1986
1987         Fixed compiler warning introduced by original patch. No new tests;
1988         covered by existing tests.
1989
1990         * platform/graphics/mac/GraphicsContext3DMac.mm:
1991         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
1992
1993 2010-07-19  Anders Carlsson  <andersca@apple.com>
1994
1995         Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.
1996
1997         Handle NP_ASFILE and NP_ASFILEONLY transfer modes
1998         https://bugs.webkit.org/show_bug.cgi?id=42587
1999
2000         * WebCore.exp.in:
2001         Export functions from FileSystem.h
2002         
2003         * platform/mac/FileSystemMac.mm:
2004         (WebCore::openTemporaryFile):
2005         Try to create a temporary file using mkstemp.
2006
2007 2010-07-19  Anders Carlsson  <andersca@apple.com>
2008
2009         Reviewed by Sam Weinig.
2010
2011         Implement NPN_PostURLNotify
2012         https://bugs.webkit.org/show_bug.cgi?id=42602
2013
2014         Export symbols needed by WebKit2.
2015
2016         * WebCore.exp.in:
2017
2018 2010-07-19  Tony Gentilcore  <tonyg@chromium.org>
2019
2020         Unreviewed build fix.
2021
2022         Remove overzealous ASSERT from r63689
2023         https://bugs.webkit.org/show_bug.cgi?id=42606
2024
2025         No new tests because no new functionality.
2026
2027         * loader/FrameLoader.cpp:
2028         (WebCore::FrameLoader::stopLoading):
2029
2030 2010-07-19  Joseph Pecoraro  <joepeck@webkit.org>
2031
2032         Reviewed by Mark Rowe.
2033
2034         Web Inspector: Do Not Copy *.re2js Inspector Resources in XCode Build Phase
2035         https://bugs.webkit.org/show_bug.cgi?id=42601
2036
2037         Remove *.re2js files after copying them over in the Build Phase. We do
2038         the same to remove the WebKit.qrc file.
2039
2040         * WebCore.xcodeproj/project.pbxproj:
2041
2042 2010-07-17  Tony Gentilcore  <tonyg@chromium.org>
2043
2044         Reviewed by Darin Fisher.
2045
2046         [Web Timing] Move times to DocumentLoader and fix bugs in mark points
2047         https://bugs.webkit.org/show_bug.cgi?id=42512
2048
2049         Test: fast/dom/webtiming-navigate-within-document.html
2050
2051         * loader/DocumentLoader.h: Move the FrameLoadTimeline (now call DocumentLoadTiming) to the DocumentLoader.
2052         (WebCore::DocumentLoader::documentLoadTiming):
2053         * loader/FrameLoader.cpp:
2054         (WebCore::FrameLoader::stopLoading): Set unloadEventEnd on the provisional DocumentLoader. Add some ASSERTs to tighten things up.
2055         (WebCore::FrameLoader::loadWithDocumentLoader): This was not the right place to set navigationStart. Setting it here caused it to be set before the unload form prompt and caused it to be reset when navigating within the document.
2056         (WebCore::FrameLoader::finishedLoading): Set responseEnd on the active DocumentLoader.
2057         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): This is the right place for navigationStart as defined by the spec.
2058         * loader/FrameLoader.h: Get rid of FrameLoadTimeline.
2059         * loader/FrameLoaderTypes.h: Rename FrameLoadTimeline to DocumentLoadTiming. It is even more apparent this doesn't belong in this file now. I am planning to submit a patch moving it out ASAP, but didn't want to muddy this patch with all those build files.
2060         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
2061         * loader/MainResourceLoader.cpp:
2062         (WebCore::MainResourceLoader::willSendRequest): Move fetchStart out of this method to load(), and rewrite setting of redirectStart, redirectEnd, and redirectCount to be more readable.
2063         (WebCore::MainResourceLoader::load): Set fetchStart slightly earlier here and tighten it up with some ASSERTs.
2064         * page/DOMWindow.cpp:
2065         (WebCore::DOMWindow::dispatchLoadEvent): Set loadEventStart and loadEventEnd on the DocumentLoader.
2066         * page/Navigation.cpp:
2067         (WebCore::Navigation::redirectCount): Retrieve redirectCount from the DocumentLoader.
2068         * page/Timing.cpp:
2069         (WebCore::getPossiblySkewedTimeInKnownRange): The skew problem turned out to be due to the fact that chromium's currentTime() implementation only syncs to the system time every 60 seconds. So absolute times across threads may be skewed slightly. I resolved this temporarily by clipping the time from another thread into a known bound. A better long term solution is probably to add a currentTimeFromSystemTime() method and call that for web timing marks.
2070         (WebCore::Timing::navigationStart):
2071         (WebCore::Timing::unloadEventEnd):
2072         (WebCore::Timing::redirectStart):
2073         (WebCore::Timing::redirectEnd):
2074         (WebCore::Timing::fetchStart):
2075         (WebCore::Timing::domainLookupStart):
2076         (WebCore::Timing::domainLookupEnd):
2077         (WebCore::Timing::connectStart):
2078         (WebCore::Timing::connectEnd):
2079         (WebCore::Timing::requestStart):
2080         (WebCore::Timing::requestEnd):
2081         (WebCore::Timing::responseStart):
2082         (WebCore::Timing::responseEnd):
2083         (WebCore::Timing::loadEventStart):
2084         (WebCore::Timing::loadEventEnd):
2085         (WebCore::Timing::documentLoader):
2086         (WebCore::Timing::documentLoadTiming):
2087         (WebCore::Timing::resourceLoadTiming):
2088         (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Ensure requestTime is in the range of fetchStart to responseEnd.
2089         * page/Timing.h:
2090
2091 2010-07-19  Chris Marrin  <cmarrin@apple.com>
2092
2093         Reviewed by Darin Adler.
2094
2095         https://bugs.webkit.org/show_bug.cgi?id=42118
2096         Disable WebGL on Leopard for now. 
2097
2098         LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
2099         GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
2100         SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
2101         software OpenGL driver on machines without this support.
2102
2103         * Configurations/FeatureDefines.xcconfig:
2104
2105 2010-07-19  Eric Carlson  <eric.carlson@apple.com>
2106
2107         Reviewed by Sam Weinig.
2108
2109         Remove HTML5 media element 'load' event
2110         https://bugs.webkit.org/show_bug.cgi?id=30464
2111         <rdar://problem/5650561>
2112
2113         * html/HTMLMediaElement.cpp:
2114         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_completelyLoaded.
2115         (WebCore::HTMLMediaElement::parseMappedAttribute): Don't deal with 'load' event.
2116         (WebCore::HTMLMediaElement::prepareForLoad): Set m_completelyLoaded to false.
2117         (WebCore::HTMLMediaElement::setNetworkState): Don't post 'load' event.
2118         (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if m_networkState != NETWORK_LOADING.
2119         (WebCore::HTMLMediaElement::userCancelledLoad): No more NETWORK_LOADED state.
2120         * html/HTMLMediaElement.h:
2121         (WebCore::HTMLMediaElement::):
2122         * html/HTMLMediaElement.idl: Remove NETWORK_LOADING.
2123
2124 2010-07-19  Alexey Proskuryakov  <ap@apple.com>
2125
2126         Reviewed by Darin Adler.
2127
2128         https://bugs.webkit.org/show_bug.cgi?id=40996
2129         Progress event should not be fired during synchronous XMLHttpRequest
2130
2131         https://bugs.webkit.org/show_bug.cgi?id=17502
2132         Assertion failure when trying to restart a sync XMLHttpRequest as an async one from onreadystatechange
2133
2134         Tests: http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events.html
2135                http/tests/xmlhttprequest/xmlhttprequest-sync-vs-async-assertion-failure.html
2136
2137         * xml/XMLHttpRequest.cpp:
2138         (WebCore::XMLHttpRequest::callReadyStateChangeListener): We now only dispatch readystatechange
2139         event for synchronous requests in states UNSENT, OPENED and DONE. I'm not sure what exactly
2140         the spec draft says about readystatechange for sync requests, but this seems to be the most
2141         logical and backwards compatible behavior.
2142         (WebCore::XMLHttpRequest::didReceiveData): Don't dispatch progress events for sync requests.
2143         Note that we already don't dispatch upload progress events for those.
2144
2145 2010-07-19  Dan Bernstein  <mitz@apple.com>
2146
2147         Reviewed by Simon Fraser.
2148
2149         <rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color
2150         https://bugs.webkit.org/show_bug.cgi?id=34913
2151
2152         Tests: fast/repaint/view-background-from-body-1.html
2153                fast/repaint/view-background-from-body-2.html
2154
2155         * rendering/RenderBox.cpp:
2156         (WebCore::RenderBox::styleWillChange): If this is the body renderer and its current style is
2157         null, repaint the view, similarly to how the view is repainted for any repaint-or-higher
2158         style changes.
2159         * rendering/RenderObjectChildList.cpp:
2160         (WebCore::RenderObjectChildList::removeChildNode): If the removed child is the body renderer,
2161         repaint the view, in case the body’s background was propagated to the view.
2162
2163 2010-07-19  Adam Roben  <aroben@apple.com>
2164
2165         Fix an assertion when a plugin returns -1 from NPP_Write
2166
2167         We were forgetting to call setDefersLoading(false) before destroying
2168         the PluginStream. In the process of destroying the stream, someone
2169         would call setDefersLoading(true), and we would assert because we were
2170         already deferring loads.
2171
2172         Fixes <http://webkit.org/b/42563> Assertion failure in
2173         ResourceHandle::setDefersLoading when running
2174         plugins/return-negative-one-from-write.html on Windows
2175
2176         Reviewed by Anders Carlsson.
2177
2178         * plugins/PluginStream.cpp:
2179         (WebCore::PluginStream::deliverData): Call setDefersLoading(false)
2180         before destroying the stream, to match the setDefersLoading(true) call
2181         earlier in this function. (We already call setDefersLoading(false) in
2182         the non-error case later on.)
2183
2184 2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>
2185
2186         Reviewed by Antonio Gomes.
2187
2188         [EFL] Fix some EFL theme issues
2189         https://bugs.webkit.org/show_bug.cgi?id=42569
2190
2191         Keep a pointer to theme filename and check for it correctly.
2192         Reduce the scope of some variables.
2193         Don't test for platformWidget() since we are not using it.
2194
2195         No new tests, no new functionality.
2196
2197         * platform/efl/WidgetEfl.cpp:
2198         (WebCore::Widget::applyCursor):
2199         (WebCore::Widget::setCursor):
2200
2201 2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>
2202
2203         Reviewed by Antonio Gomes.
2204
2205         [EFL] Add ifdef to compile code just on presence of Ecore_X
2206         https://bugs.webkit.org/show_bug.cgi?id=42567
2207
2208         No new tests since there's no new functionality.
2209
2210         * platform/efl/WidgetEfl.cpp:
2211         (WebCore::Widget::setEvasObject):
2212         Add #ifdef HAVE_ECORE_X to it.
2213
2214 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
2215
2216         Reviewed by Pavel Feldman.
2217
2218         Web Inspector: add/removeStyleClass shouldn't increase number of spaces between class names.
2219         https://bugs.webkit.org/show_bug.cgi?id=42485
2220
2221         * inspector/front-end/utilities.js:
2222         (Element.prototype.removeStyleClass):
2223
2224 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
2225
2226         Reviewed by Pavel Feldman.
2227
2228         Web Inspector: show stack trace for uncaught exceptions when Web Inspector is open.
2229         https://bugs.webkit.org/show_bug.cgi?id=42560
2230
2231         * bindings/js/ScriptController.cpp:
2232         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
2233         * bindings/js/ScriptController.h:
2234         * bindings/v8/ScriptController.cpp:
2235         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
2236         * bindings/v8/ScriptController.h:
2237         * bindings/v8/V8ConsoleMessage.cpp:
2238         (WebCore::V8ConsoleMessage::dispatchNow):
2239         (WebCore::V8ConsoleMessage::handler):
2240         * bindings/v8/V8ConsoleMessage.h:
2241         * inspector/ConsoleMessage.cpp:
2242         (WebCore::ConsoleMessage::ConsoleMessage):
2243         * inspector/ConsoleMessage.h:
2244         * inspector/InspectorController.cpp:
2245         (WebCore::InspectorController::addMessageToConsole):
2246         (WebCore::InspectorController::startGroup):
2247         (WebCore::InspectorController::connectFrontend):
2248         (WebCore::InspectorController::disconnectFrontend):
2249         * inspector/InspectorController.h:
2250         * inspector/front-end/ConsoleView.js:
2251         (WebInspector.ConsoleMessage.prototype._formatMessage):
2252         (WebInspector.ConsoleMessage.prototype.toMessageElement):
2253         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
2254         (WebInspector.ConsoleMessage.prototype._addMessageHeader):
2255         (WebInspector.ConsoleMessage.prototype.toString):
2256         * inspector/front-end/inspector.css:
2257         (.console-message.repeated-message > ol.stack-trace):
2258         (.section .properties ol, .event-properties ol, .stack-trace ol, ol.stack-trace):
2259         (ol.stack-trace):
2260         (.section .properties ol.expanded, .event-properties ol.expanded, .stack-trace ol, ol.stack-trace):
2261         * page/Console.cpp:
2262         (WebCore::Console::addMessage):
2263         * page/Console.h:
2264         (WebCore::):
2265
2266 2010-07-19  Robin Burchell  <robin.burchell@collabora.co.uk>
2267
2268         Reviewed by Antonio Gomes
2269
2270         [Qt] Use memcpy() instead of qMemCopy()
2271         This is supposed to be more efficient, as the compiler is able to
2272         optimise more.
2273
2274         Additionally,  qMemCopy() is only strictly supposed to be used in
2275         headers (see Qt's src/corelib/qglobal.h for reference)
2276         See: https://bugs.webkit.org/show_bug.cgi?id=42392
2277
2278         * bridge/qt/qt_runtime.cpp:
2279         (JSC::Bindings::convertQVariantToValue):
2280
2281 2010-07-14  Andreas Kling  <andreas.kling@nokia.com>
2282
2283         Reviewed by Kenneth Rohde Christiansen.
2284
2285         Canvas: Rename operator==(CanvasStyle,CanvasStyle) since it isn't a proper equality check
2286         https://bugs.webkit.org/show_bug.cgi?id=42284
2287
2288         New name is isEquivalentColor(CanvasStyle).
2289
2290         * html/canvas/CanvasRenderingContext2D.cpp:
2291         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
2292         (WebCore::CanvasRenderingContext2D::setFillStyle):
2293         * html/canvas/CanvasStyle.cpp:
2294         (WebCore::CanvasStyle::isEquivalentColor):
2295         * html/canvas/CanvasStyle.h:
2296
2297 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2298
2299         Reviewed by Kenneth Rohde Christiansen.
2300
2301         [Qt] Canvas: Wrong internal positioning of drawImage() shadows
2302         https://bugs.webkit.org/show_bug.cgi?id=42510
2303
2304         * platform/graphics/qt/ImageQt.cpp:
2305         (WebCore::BitmapImage::draw):
2306         * platform/graphics/qt/StillImageQt.cpp:
2307         (WebCore::StillImage::draw):
2308
2309 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2310
2311         Reviewed by Kenneth Rohde Christiansen.
2312
2313         [Qt] Render shadow when drawing one canvas onto another
2314         https://bugs.webkit.org/show_bug.cgi?id=42508
2315
2316         * platform/graphics/qt/StillImageQt.cpp:
2317         (WebCore::StillImage::draw):
2318
2319 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2320
2321         Reviewed by Kenneth Rohde Christiansen.
2322
2323         [Qt] Some composition modes fail when color has alpha zero
2324         https://bugs.webkit.org/show_bug.cgi?id=36973
2325
2326         Remove erroneous optimization that ignored painting calls when
2327         the stroke/fill color had an alpha value of zero.
2328
2329         * platform/graphics/qt/GraphicsContextQt.cpp:
2330         (WebCore::GraphicsContext::drawLine):
2331         (WebCore::GraphicsContext::strokeArc):
2332         (WebCore::GraphicsContext::fillPath):
2333         (WebCore::GraphicsContext::strokePath):
2334         (WebCore::GraphicsContext::fillRect):
2335         (WebCore::GraphicsContext::fillRoundedRect):
2336
2337 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2338
2339         Reviewed by Kenneth Rohde Christiansen.
2340
2341         CSS3 background: Number of layers should be determined by background-image element count
2342         https://bugs.webkit.org/show_bug.cgi?id=41201
2343
2344         Manual test: css3-background-layer-count.html
2345
2346         Spec link:
2347         http://www.w3.org/TR/css3-background/#layering
2348
2349         * manual-tests/css3-background-layer-count.html: Added.
2350         * rendering/style/FillLayer.cpp:
2351         (WebCore::FillLayer::fillUnsetProperties): Don't repeat
2352         image properties, they determine the total number of layers.
2353         (WebCore::FillLayer::cullEmptyLayers): Change culling logic
2354         to discard all layers after the first one without an image set.
2355         * rendering/style/RenderStyle.h:
2356         (WebCore::InheritedFlags::adjustBackgroundLayers): Call
2357         fillUnsetProperties() before cullEmptyLayers()
2358         (WebCore::InheritedFlags::adjustMaskLayers): Ditto.
2359
2360 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2361
2362         Reviewed by Kenneth Rohde Christiansen.
2363
2364         [Qt] Avoid QImage::pixel() in getImageData()
2365         https://bugs.webkit.org/show_bug.cgi?id=42463
2366
2367         * platform/graphics/qt/ImageBufferQt.cpp:
2368         (WebCore::getImageData): Use QImage::scanLine() instead
2369         of fetching data pixel-by-pixel.
2370
2371 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
2372
2373         Reviewed by Pavel Feldman.
2374
2375         Web Inspector: hide "toggle debugger" button when debugger is always enabled
2376         https://bugs.webkit.org/show_bug.cgi?id=42558
2377
2378         * inspector/front-end/ScriptsPanel.js:
2379         (WebInspector.ScriptsPanel):
2380
2381 2010-07-19  Hans Wennborg  <hans@chromium.org>
2382
2383         Reviewed by Steve Block.
2384
2385         Explicitly declare DeviceOrientationEvent destructor and define it in the .cpp file
2386         https://bugs.webkit.org/show_bug.cgi?id=42466
2387
2388         (Original problem at https://bugs.webkit.org/show_bug.cgi?id=42447)
2389
2390         No new functionality so no new tests.
2391
2392         * dom/DeviceOrientationEvent.cpp:
2393         (WebCore::DeviceOrientationEvent::~DeviceOrientationEvent):
2394         Move here to avoid needing to have the full declaration of
2395         DeviceOrientation in DeviceOrientationEvent.h.
2396         * dom/DeviceOrientationEvent.h:
2397
2398 2010-07-18  Anders Carlsson  <andersca@apple.com>
2399
2400         Fix Build.
2401
2402         * rendering/RenderThemeMac.mm:
2403         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2404
2405 2010-07-18  Anders Carlsson  <andersca@apple.com>
2406
2407         Reviewed by Dan Bernstein.
2408
2409         Always set the current NSGraphicsContext before calling drawWithFrame
2410         https://bugs.webkit.org/show_bug.cgi?id=42542
2411
2412         * rendering/RenderThemeMac.mm:
2413         (WebCore::RenderThemeMac::paintMeter):
2414         (WebCore::RenderThemeMac::paintSearchField):
2415         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2416         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2417         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2418
2419 2010-07-18  Anders Carlsson  <andersca@apple.com>
2420
2421         Reviewed by Sam Weinig.
2422
2423         Move PluginWidget to WebKit
2424         https://bugs.webkit.org/show_bug.cgi?id=42530
2425
2426         Rename the PluginWidget class to PluginViewBase and make it an abstract base class.
2427         
2428         This is a stopgap measure until we have a single PluginView class that we can use everywhere.
2429
2430         * WebCore.exp.in:
2431         Remove PluginWidget symbols.
2432
2433         * WebCore.xcodeproj/project.pbxproj:
2434         Update.
2435
2436         * platform/Widget.h:
2437         (WebCore::Widget::isPluginViewBase):
2438         Return false.
2439
2440         * plugins/PluginViewBase.h: Added.
2441         (WebCore::PluginViewBase::platformLayer):
2442         Always return 0 here now.
2443
2444         (WebCore::PluginViewBase::isPluginViewBase):
2445         Return true.
2446
2447         * plugins/PluginWidget.h: Removed.
2448         * plugins/mac/PluginWidgetMac.mm: Removed.
2449         * rendering/RenderEmbeddedObject.cpp:
2450         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
2451         Cast to PluginWidgetBase instead.
2452         
2453         * rendering/RenderLayerBacking.cpp:
2454         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2455         Cast to PluginWidgetBase instead.
2456
2457 2010-07-18  Dean Jackson  <dino@apple.com>
2458
2459         Unreviewed.
2460
2461         Remove the unwanted extra line that Xcode
2462         added in my last commit.
2463
2464         * WebCore.xcodeproj/project.pbxproj:
2465
2466 2010-07-18  Dean Jackson  <dino@apple.com>
2467
2468         Reviewed by Simon Fraser.
2469
2470         https://bugs.webkit.org/show_bug.cgi?id=41259
2471         Interacting with a <select> element within a transformed and clipped
2472         container scrolls the container
2473
2474         The Node::getRect and ContainerNode::getRect functions were not
2475         transform-aware. This fixes both, and has a test to make sure
2476         we're not breaking any existing scrollToView code. This means
2477         that a <select> popup will appear in the correct place if it
2478         is within a transformed and scrolled container.
2479
2480         Test: fast/transforms/scrollIntoView-transformed.html
2481
2482         * dom/ContainerNode.cpp:
2483         (WebCore::ContainerNode::getUpperLeftCorner):
2484         (WebCore::ContainerNode::getLowerRightCorner):
2485         - make sure we call localToAbsolute in the right order
2486         (after we've done a local move) and pass in the flags to
2487         indicate it should look for transforms.
2488         * dom/Node.cpp:
2489         (WebCore::Node::getRect):
2490         - make sure localToAbsolute gets told to look for transforms.
2491
2492 2010-07-18  Anders Carlsson  <andersca@apple.com>
2493
2494         Reviewed by Sam Weinig.
2495
2496         Add NPJSObjectMap class
2497         https://bugs.webkit.org/show_bug.cgi?id=42524
2498
2499         Export ScriptController functions.
2500
2501         * WebCore.exp.in:
2502
2503 2010-07-18  Anders Carlsson  <andersca@apple.com>
2504
2505         Reviewed by Dan Bernstein.
2506
2507         Implement some NPRuntime related NPN_ functions
2508         https://bugs.webkit.org/show_bug.cgi?id=42518
2509
2510         * WebCore.exp.in:
2511         Export IdentifierRep functions.
2512
2513 2010-07-17  TJ Lee  <tjlee0909@gmail.com>
2514
2515         Reviewed by Timothy Hatcher.
2516
2517         HTMLLinkElement ignores dnsPrefetchingEnabled setting
2518         https://bugs.webkit.org/show_bug.cgi?id=42500
2519
2520         Changed the HTML Link tag to check that the browser
2521         has DNS-prefetching enabled before calling ResourceHandle::prepareForURL.
2522
2523         There are no test cases for this patch because it was unclear how to test
2524         this using a layout test. A possible test case would be to
2525         clear the DNS cache on the client's machine before loading a page with
2526         <link rel="dns-prefetch" href="SomeSiteThatsNotTheCurrentOne.com"> and
2527         then check the number of DNS cache entries.
2528
2529         * html/HTMLLinkElement.cpp:
2530         (WebCore::HTMLLinkElement::process):
2531
2532 2010-07-16  Maciej Stachowiak  <mjs@apple.com>
2533
2534         Reviewed by Sam Weinig.
2535
2536         Asynchronous policy checks make FrameLoader think it is done loading prematurely
2537         https://bugs.webkit.org/show_bug.cgi?id=42489
2538
2539         This caused many (~100) layout tsts to fail under WebKit2.
2540
2541         * loader/SubframeLoader.cpp:
2542         (WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe,
2543         if m_complete is true, do not consider it done if it has a provisional loader.
2544         This will happen in the case where the policy check is asynchronous.
2545         * loader/FrameLoader.cpp:
2546         (WebCore::FrameLoader::subframeIsLoading): For similar reasons,
2547         consider a subframe to be loading if it has a policy decision pending.
2548
2549 2010-07-15  Qi Zhang  <qi.2.zhang@nokia.com>
2550
2551         Reviewed by Kenneth Rohde Christiansen.
2552
2553         [Qt] Failure on http://philip.html5.org/tests/canvas/suite/tests/2d.shadow.alpha.5.html
2554         https://bugs.webkit.org/show_bug.cgi?id=38400
2555
2556         FillRect with shadow need take alpha information from fillstyle
2557
2558         * platform/graphics/qt/GraphicsContextQt.cpp:
2559         (WebCore::GraphicsContext::fillRect):
2560
2561 2010-07-17  Nikita Vasilyev  <me@elv1s.ru>
2562
2563         Reviewed by Pavel Feldman.
2564
2565         Web Inspector: [REGRESSION] Edit long CSS attributes works incorrect
2566         https://bugs.webkit.org/show_bug.cgi?id=42476
2567
2568         * inspector/front-end/inspector.css:
2569         (.editing):
2570
2571 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
2572
2573         Reviewed by Sam Weinig.
2574
2575         Failing 2d.path.arcTo.ensuresubpath.* philip canvas tests
2576         https://bugs.webkit.org/show_bug.cgi?id=42186
2577
2578         Move code from Qt's Path::addArcTo() up to CanvasRenderingContext2D.
2579
2580         * html/canvas/CanvasRenderingContext2D.cpp:
2581         (WebCore::CanvasRenderingContext2D::arcTo): Behave as moveTo(x1,y1)
2582         if the current path is empty.
2583         * platform/graphics/qt/PathQt.cpp:
2584         (WebCore::Path::addArcTo): Remove now-redundant code.
2585
2586 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
2587
2588         Reviewed by Oliver Hunt.
2589
2590         QtWebkit creates an unnecessary deep copy of images when canvas drawing is done
2591         A https://bugs.webkit.org/show_bug.cgi?id=32530
2592
2593         Solve this by adding ImageBuffer::imageForRendering() which returns an image
2594         that can be used for rendering now, but isn't a copy to be kept around.
2595
2596         * platform/graphics/ImageBuffer.h:
2597         (WebCore::ImageBuffer::imageForRendering):
2598         * platform/graphics/qt/ImageBufferQt.cpp:
2599         (WebCore::ImageBuffer::imageForRendering): Added to provide an image that can
2600         be used for rendering now, but may change in the future.
2601         * platform/graphics/qt/StillImageQt.cpp:
2602         (WebCore::StillImage::StillImage):
2603         (WebCore::StillImage::~StillImage):
2604         (WebCore::StillImage::size):
2605         (WebCore::StillImage::nativeImageForCurrentFrame):
2606         (WebCore::StillImage::draw):
2607         * platform/graphics/qt/StillImageQt.h:
2608         (WebCore::StillImage::createForRendering): Added for use in
2609         ImageBuffer::imageForRendering(), provides a thin wrapper around a QPixmap*.
2610         * html/HTMLCanvasElement.cpp:
2611         (WebCore::HTMLCanvasElement::paint): Paint with ImageBuffer::imageForRendering()
2612
2613 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
2614
2615         Reviewed by Oliver Hunt.
2616
2617         [Qt] Remove redundant logic in Path::addArcTo()
2618         https://bugs.webkit.org/show_bug.cgi?id=42494
2619
2620         Bounds checking for arcTo() is now done in cross-platform code
2621         thanks to <http://trac.webkit.org/changeset/63599>
2622
2623         * platform/graphics/qt/PathQt.cpp:
2624         (WebCore::Path::addArcTo):
2625
2626 2010-07-16  Zhe Su  <suzhe@chromium.org>
2627
2628         Reviewed by Darin Adler.
2629
2630         REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
2631         https://bugs.webkit.org/show_bug.cgi?id=42253
2632
2633         This patch just reverts the change to WebCore/page/FocusController.cpp
2634         made in changeset 61484, and add a new method named
2635         willSetInputMethodState in EditorClient interface, which gets called
2636         in FocusController just before changing the focused node.
2637
2638         No new tests, because no new functionality.
2639
2640         * loader/EmptyClients.h:
2641         (WebCore::EmptyEditorClient::willSetInputMethodState):
2642         * page/EditorClient.h:
2643         * page/FocusController.cpp:
2644         (WebCore::FocusController::setFocusedNode):
2645
2646 2010-07-16  Matthew Delaney  <mdelaney@apple.com>
2647
2648         Reviewed by Sam Weinig.
2649
2650         Failing 2d.path.stroke.prune.arc philip canvas test
2651         https://bugs.webkit.org/show_bug.cgi?id=42188
2652
2653         * html/canvas/CanvasRenderingContext2D.cpp: 
2654         Note, updated parameter names to match spec.
2655         (WebCore::CanvasRenderingContext2D::lineTo): Pulled bound checking code out of lower code to have checks for all platforms.
2656         (WebCore::CanvasRenderingContext2D::arcTo): Bound checking per the spec for arcTo parameters. Updated parameter names to match spec.
2657         * platform/graphics/Path.h: Added in new method to expose the current position.
2658         * platform/graphics/cairo/PathCairo.cpp:
2659         (WebCore::Path::currentPoint): Added in likely correct implementation for this call with a FIXME just in case.
2660         * platform/graphics/cg/PathCG.cpp:
2661         (WebCore::Path::currentPoint): Added in support for this call.
2662         * platform/graphics/haiku/PathHaiku.cpp:
2663         (WebCore::Path::currentPoint): Added in stub for this call.
2664         * platform/graphics/openvg/PathOpenVG.cpp:
2665         (WebCore::Path::currentPoint): Added in likely implementation for this call with a FIXME just in case.
2666         * platform/graphics/qt/PathQt.cpp:
2667         (WebCore::Path::currentPoint): Added in implementation for this call courtesy of Andrea Kling.
2668         * platform/graphics/skia/PathSkia.cpp:
2669         (WebCore::Path::currentPoint): Added in stub for this call.
2670         * platform/graphics/wince/PathWince.cpp:
2671         (WebCore::Path::currentPoint): Added in stub for this call.
2672         * platform/graphics/wx/PathWx.cpp:
2673         (WebCore::Path::currentPoint): Added in stub for this call.
2674
2675 2010-07-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2676
2677         Unreviewed, rolling out r63593.
2678         http://trac.webkit.org/changeset/63593
2679         https://bugs.webkit.org/show_bug.cgi?id=42487
2680
2681         Broke a few chromium pixel tests (Requested by tony^work on
2682         #webkit).
2683
2684         * platform/graphics/skia/GraphicsContextSkia.cpp:
2685         (WebCore::GraphicsContext::drawConvexPolygon):
2686         (WebCore::GraphicsContext::drawEllipse):
2687         (WebCore::GraphicsContext::drawLine):
2688         (WebCore::GraphicsContext::strokeArc):
2689         (WebCore::GraphicsContext::strokePath):
2690         (WebCore::GraphicsContext::strokeRect):
2691
2692 2010-07-16  Dan Bernstein  <mitz@apple.com>
2693
2694         Reviewed by Sam Weinig.
2695
2696         Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
2697         https://bugs.webkit.org/show_bug.cgi?id=29355
2698
2699         * WebCore.exp.in: Updated.
2700         * platform/graphics/Font.cpp:
2701         (WebCore::Font::Font): Added a font smoothing mode parameter to the constructor.
2702         Set the font smoothing mode in the font description.
2703         * platform/graphics/Font.h:
2704
2705 2010-07-16  Satish Sampath  <satish@chromium.org>
2706
2707         Reviewed by Anders Carlsson.
2708
2709         Add speech attribute to IDL for enabling access from JS.
2710         https://bugs.webkit.org/show_bug.cgi?id=42483
2711
2712         No tests added, this change is a pre-requisite for future layout tests.
2713
2714         * html/HTMLInputElement.cpp:
2715         (WebCore::HTMLInputElement::parseMappedAttribute): Update the renderer when speech attribute changes.
2716         * html/HTMLInputElement.idl: Added the speech attribute to IDL.
2717
2718 2010-07-16  Fady Samuel  <fsamuel@chromium.org>
2719
2720         Reviewed by David Levin.
2721         
2722         Avoids adding stroke when stroke-width is zero.
2723
2724         SVG - stroke-width:0 bug with stroke other than "none"
2725         https://bugs.webkit.org/show_bug.cgi?id=42387
2726
2727         Test: svg/stroke/path-zero-strokewidth-test.svg
2728
2729         * platform/graphics/skia/GraphicsContextSkia.cpp:
2730         (WebCore::GraphicsContext::drawConvexPolygon):
2731         (WebCore::GraphicsContext::drawEllipse):
2732         (WebCore::GraphicsContext::drawLine):
2733         (WebCore::GraphicsContext::strokeArc):
2734         (WebCore::GraphicsContext::strokePath):
2735         (WebCore::GraphicsContext::strokeRect):
2736
2737 2010-07-16  Kent Tamura  <tkent@chromium.org>
2738
2739         Unreviewed, build fix.
2740
2741         * rendering/RenderThemeChromiumWin.cpp:
2742         (WebCore::RenderThemeChromiumWin::getThemeData): Fix a typo.
2743
2744 2010-07-16  Kent Tamura  <tkent@chromium.org>
2745
2746         Reviewed by Darin Fisher.
2747
2748         [Chromium] <input type=number> UI implementation for Windows
2749         https://bugs.webkit.org/show_bug.cgi?id=42259
2750
2751         No additional tests.  Existing tests cover this change and we'll
2752         update expectations.
2753
2754         * platform/chromium/ChromiumBridge.h: Add paintSpinButton().
2755         * rendering/RenderThemeChromiumWin.cpp:
2756         (WebCore::RenderThemeChromiumWin::determineState):
2757          Add ControlSubPart parameter and add support for spin buttons.
2758         (WebCore::RenderThemeChromiumWin::determineClassicState): ditto.
2759         (WebCore::RenderThemeChromiumWin::getThemeData): ditto.
2760         (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle): Added.
2761         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): Added.
2762         * rendering/RenderThemeChromiumWin.h:
2763           Declare ControlSubpart, and add it to some functions.
2764
2765 2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
2766
2767         Reviewed by Antonio Gomes.
2768
2769         [EFL] Use function provided by EFL for system beep
2770         https://bugs.webkit.org/show_bug.cgi?id=42481
2771
2772         EFL port does not support automated tests, yet.
2773
2774         * platform/efl/SoundEfl.cpp:
2775         (WebCore::systemBeep):
2776
2777 2010-07-16  Sarah Strong  <sarah.e.strong@gmail.com>
2778
2779         Reviewed by Gustavo Noronha Silva.
2780
2781         [GTK] Clipboard data is lost on exit
2782         https://bugs.webkit.org/show_bug.cgi?id=27411
2783
2784         No new tests. To manually test the bug fixed by this patch:
2785         1) Open an application that uses a webkit webview on a GNOME-based system
2786         2) Copy some text from that application
2787         3) Optional: paste it to another application. This should work properly with and without this patch.
2788         4) Exit the application completely.
2789         5) Paste:
2790                   Without this patch, you cannot because your clipboard is empty.
2791                   With this patch, pasting succeeds.
2792         I have not included an automated test because of the difficulty of testing behaviour after application exit.
2793
2794 2010-07-16  Kent Tamura  <tkent@chromium.org>
2795
2796         Reviewed by Darin Fisher.
2797
2798         Keyboard operations for <input type=number>
2799         https://bugs.webkit.org/show_bug.cgi?id=42076
2800
2801         - The up arrow key works as stepUp().
2802         - The down arrow key works as stepDown().
2803         - Reject characters other than + - 0-9 . e E
2804
2805         Test: fast/forms/input-number-keyoperation.html
2806
2807         * html/HTMLInputElement.cpp:
2808         (WebCore::HTMLInputElement::defaultEventHandler):
2809          Add up/down arrow keys support, and call handleBeforeTextInsertedEvent().
2810         (WebCore::isNumberCharacter):
2811         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
2812          For type=number, remove unacceptable characters.
2813         * html/HTMLInputElement.h:
2814
2815 2010-07-16  Kent Tamura  <tkent@chromium.org>
2816
2817         Reviewed by Darin Fisher.
2818
2819         Improve hover state handling for spin buttons
2820         https://bugs.webkit.org/show_bug.cgi?id=42260
2821
2822         Background:
2823         When we move the mouse cursor to a node from the outside of the node,
2824         the following steps are executed.
2825          1. setHovered(true) is called.
2826          2. The node is repainted for the hover state.
2827          3. 'mousemove' event is dispatched for the node.
2828         For a spin-button, RenderTheme::paint{Inner,Outer}SpinButton() is
2829         called before the event handler of the spin-button. So we can't
2830         detect which of the up part or the down part is hovered correctly.
2831
2832         Solution:
2833         The hover state of a spin-button is one of three states;
2834         Indeterminate, Up, and Down. The state is Indeterminate since
2835         setHovered(true) is called and until 'mousemove' event is
2836         dispatched.
2837
2838         No new tests because there are no implementation of spin-buttons
2839         with hovered state yet.
2840
2841         * rendering/RenderTheme.cpp:
2842         (WebCore::RenderTheme::isSpinUpButtonPartPressed):
2843         (WebCore::RenderTheme::isHovered):
2844          Return false if the node is a spin-button and the state is Indeterminate.
2845         (WebCore::RenderTheme::isSpinUpButtonPartHovered):
2846         * rendering/TextControlInnerElements.cpp:
2847         (WebCore::SpinButtonElement::SpinButtonElement):
2848          Initialize m_upDownState.
2849         (WebCore::SpinButtonElement::defaultEventHandler):
2850         (WebCore::SpinButtonElement::setHovered):
2851          Set the state to Indeterminate.
2852         * rendering/TextControlInnerElements.h:
2853         (WebCore::SpinButtonElement::upDownState):
2854
2855 2010-07-16  Dan Bernstein  <mitz@apple.com>
2856
2857         Reviewed by Simon Fraser.
2858
2859         <rdar://problem/7527532> Crash beneath setSelection() during detach()
2860         https://bugs.webkit.org/show_bug.cgi?id=42020
2861
2862         No test because I am unable to reproduce the crash.
2863
2864         * rendering/RenderView.cpp:
2865         (WebCore::RenderView::setSelection): In the clearSelection() case, where the repaint mode is
2866         RepaintNewMinusOld, avoid making RenderBlockSelectionInfo instances, and thereby avoid calling
2867         localToAbsolute() during detach().
2868
2869 2010-07-16  Anders Carlsson  <andersca@apple.com>
2870
2871         Fix release build.
2872
2873         * storage/Database.cpp:
2874         (WebCore::DerefContextTask::performTask):
2875
2876 2010-07-16  Simon Fraser  <simon.fraser@apple.com>
2877
2878         Reviewed by Sam Weinig.
2879
2880         Safari pegs CPU and drops frames on http://neography.com/experiment/circles/solarsystem/ (CSS animations)
2881         https://bugs.webkit.org/show_bug.cgi?id=41409
2882         
2883         AnimationController::isAnimatingPropertyOnRenderer() really asked whether an accelerated animation
2884         or transition was running. This prevented us from falling into compositing layers for animation
2885         on platforms, like Windows, that don't have accelerated animations.
2886         
2887         Fix by making things more explicit: we now have two methods, isRunningAnimationOnRenderer()
2888         and isRunningAcceleratedAnimationOnRenderer().
2889         
2890         Changes are more extensive because I flipped the sense of 'm_fallbackAnimating', which is
2891         now 'm_isAccelerated', for clarity.
2892
2893         Test: compositing/animation/animation-compositing.html
2894
2895         * page/animation/AnimationBase.cpp:
2896         (WebCore::AnimationBase::AnimationBase): m_fallbackAnimating -> m_isAccelerated
2897         (WebCore::AnimationBase::blendProperties): Ditto.
2898         (WebCore::AnimationBase::updateStateMachine): Ditto.
2899         * page/animation/AnimationBase.h:
2900         (WebCore::AnimationBase::isAnimatingProperty): Takes new acceleratedOnly parameter
2901         which causes the method to only return true if the animation is accelerated.
2902         (WebCore::AnimationBase::isAccelerated): Changed from isFallbackAnimating.
2903
2904         * page/animation/AnimationController.cpp:
2905         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
2906         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
2907         (WebCore::AnimationController::isRunningAnimationOnRenderer):
2908         (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
2909
2910         * page/animation/CompositeAnimation.h:
2911         * page/animation/AnimationController.h: Rename isAnimatingPropertyOnRenderer(), add
2912         isRunningAcceleratedAnimationOnRenderer().
2913         * page/animation/AnimationControllerPrivate.h: Ditto.
2914         * page/animation/CompositeAnimation.cpp:
2915         (WebCore::CompositeAnimation::updateTransitions): !isFallbackAnimating() -> isAccelerated().
2916         (WebCore::CompositeAnimation::isAnimatingProperty): Pass acceleratedOnly down.
2917
2918         * page/animation/ImplicitAnimation.cpp:
2919         (WebCore::ImplicitAnimation::timeToNextService): !isFallbackAnimating() -> isAccelerated().
2920
2921         * page/animation/KeyframeAnimation.cpp:
2922         (WebCore::KeyframeAnimation::timeToNextService): isFallbackAnimating() -> !isAccelerated().
2923
2924         * rendering/RenderLayerBacking.cpp:
2925         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Avoid touching the transform or
2926         opacity if an accelerated animation is running.
2927
2928         * rendering/RenderLayerCompositor.cpp:
2929         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Make compositing layers
2930         if an animation of transform or opacity is running.
2931
2932 2010-07-16  Simon Fraser  <simon.fraser@apple.com>
2933
2934         Reviewed by Sam Weinig.
2935
2936         Assertion when turning Accelerated Compositing off on a composited page
2937         https://bugs.webkit.org/show_bug.cgi?id=42408
2938
2939         When accelerated compositing is turned off, check m_hasAcceleratedCompositing
2940         before saying that the root layer will be composited. Fixes an assertion.
2941
2942         * rendering/RenderLayerCompositor.cpp:
2943         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2944
2945 2010-07-16  Antonio Gomes  <tonikitoo@webkit.org>
2946
2947         Reviewed by Simon Fraser.
2948
2949         Spatial navigation: do not consider outline for focusable element boundaries
2950         https://bugs.webkit.org/show_bug.cgi?id=42474
2951
2952         Test: fast/events/spatial-navigation/snav-zero-margin-content.html
2953
2954         Currently in WebCore::renderRectRelativeToRootDocument function, we are calling
2955         RenderObject::absoluteClippedOverflowRect to obtain the rect boundary of a given
2956         renderer/element. This method deals with outline, which is out of elements boundary.
2957         It makes spatial navigation to fail on common sites like google.gom: "Web, Images, Map, etc"
2958         are inaccessible.
2959
2960         Patch replaces RenderObject::absoluteClippedOverflowRect by Node::getRect,
2961         which returns only the absolute bounding box rect of the Element.
2962
2963         * page/SpatialNavigation.cpp:
2964         (WebCore::renderRectRelativeToRootDocument):
2965         (WebCore::checkNegativeCoordsForNode):
2966
2967 2010-07-15  Antonio Gomes  <tonikitoo@webkit.org>
2968
2969         Reviewed by Gustavo Noronha.
2970
2971         [Qt] Remove unnecessary WebKit headers inclusion from WebCore files
2972         https://bugs.webkit.org/show_bug.cgi?id=42416
2973
2974         There are some places in WebCore unnecessarily including WebKit headers.
2975
2976         Cleaning up only, no testing needed.
2977
2978         * platform/network/qt/ResourceHandleQt.cpp:
2979         * platform/qt/RenderThemeQt.cpp:
2980         * platform/qt/WidgetQt.cpp:
2981
2982 2010-07-16  Dan Bernstein  <mitz@apple.com>
2983
2984         Reviewed by Anders Carlsson.
2985
2986         Refinement of r63556: moved the tab width computation back to Font, but added a
2987         SimpleFontData parameter.
2988
2989         * platform/graphics/Font.h:
2990         (WebCore::Font::tabWidth):
2991         * platform/graphics/WidthIterator.cpp:
2992         (WebCore::WidthIterator::advance):
2993         * platform/graphics/mac/ComplexTextController.cpp:
2994         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2995
2996 2010-07-16  Tony Gentilcore  <tonyg@chromium.org>
2997
2998         Reviewed by Pavel Feldman.
2999
3000         Fix unit error in calculating timings from ResourceLoadTiming API
3001         https://bugs.webkit.org/show_bug.cgi?id=42473
3002
3003         The start and end offsets are already in milliseconds so they should not be multiplied by 1000.0 like requestTime.
3004
3005         No new tests because, for a yet unknown reason, the ResourceLoadTiming API is not populated in the chromium test shell like it is in full chromium. This means the test that would have caught this bug (fast/dom/webtiming.html) currently has its expectation set to FAIL.
3006
3007         * page/Timing.cpp:
3008         (WebCore::Timing::domainLookupStart):
3009         (WebCore::Timing::domainLookupEnd):
3010         (WebCore::Timing::connectStart):
3011         (WebCore::Timing::connectEnd):
3012         (WebCore::Timing::requestStart):
3013         (WebCore::Timing::requestEnd):
3014         (WebCore::Timing::responseStart):
3015
3016 2010-07-16  Anders Carlsson  <andersca@apple.com>
3017
3018         Reviewed by Sam Weinig.
3019
3020         clang++ build fixes for JavaScriptCore and WebCore
3021         https://bugs.webkit.org/show_bug.cgi?id=42478
3022
3023         * platform/network/Credential.cpp:
3024         (WebCore::Credential::type):
3025         * platform/network/Credential.h:
3026         Remove const qualifier on Credential::type since it doesn't have an effect on the type.
3027
3028 2010-07-16  Anders Carlsson  <andersca@apple.com>
3029
3030         Reviewed by David Levin.
3031
3032         Really add WARN_UNUSED_RESULT to leakRef
3033         https://bugs.webkit.org/show_bug.cgi?id=42464
3034
3035         Get rid of a call to releaseRef here by passing the ScriptExecutionContext
3036         reference through to the DerefContextTask.
3037
3038         * storage/Database.cpp:
3039         (WebCore::DerefContextTask::create):
3040         (WebCore::DerefContextTask::performTask):
3041         (WebCore::DerefContextTask::DerefContextTask):
3042         (WebCore::Database::~Database):
3043
3044 2010-07-16  Ilya Tikhonovsky  <loislo@chromium.org>
3045
3046         Reviewed by Yury Semikhatsky.
3047
3048         WebInspector: The current implementation of generator is not ready
3049         for generation Backend part of Inspector interface. The full patch
3050         with Backend is quite big and I've split it.
3051         https://bugs.webkit.org/show_bug.cgi?id=42462
3052
3053         * inspector/CodeGeneratorInspector.pm:
3054         * inspector/Inspector.idl:
3055         * inspector/InspectorValues.cpp:
3056         (WebCore::InspectorArray::get):
3057         * inspector/InspectorValues.h:
3058         (WebCore::InspectorArray::length):
3059
3060 2010-07-15  Rob Buis  <rwlbuis@gmail.com>
3061
3062         Reviewed by Darin Adler.
3063
3064         An empty value for xml:lang isn't considered
3065         https://bugs.webkit.org/show_bug.cgi?id=42042
3066
3067         Allow :lang selector to match empty values for xml:lang and
3068         lang attributes.
3069
3070         Test: fast/css/lang-selector-empty-attribute.xhtml
3071
3072         * css/CSSStyleSelector.cpp:
3073         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3074
3075 2010-07-16  Alexander Pavlov  <apavlov@chromium.org>
3076
3077         Reviewed by Pavel Feldman.
3078
3079         Web Inspector: Shift-Enter does not do a reverse search. It searches forward.
3080         https://bugs.webkit.org/show_bug.cgi?id=42459
3081
3082         * inspector/front-end/inspector.js:
3083         (WebInspector.performSearch):
3084
3085 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
3086
3087         Reviewed by Yury Semikhatsky.
3088
3089         Web Inspector: do not include SSL time into Waiting time.
3090
3091         https://bugs.webkit.org/show_bug.cgi?id=42458
3092
3093         * inspector/front-end/ResourcesPanel.js:
3094         (WebInspector.ResourcesPanel.prototype._showPopover):
3095
3096 2010-07-16  Dan Bernstein  <mitz@apple.com>
3097
3098         Reviewed by Anders Carlsson.
3099
3100         <rdar://problem/8198266> white-space: pre text containing tabs is not laid out correctly when the font lacks a space glyph
3101         https://bugs.webkit.org/show_bug.cgi?id=42437
3102
3103         No test because none of the fonts available to DumpRenderTree are missing a space glyph.
3104
3105         Changed the tab width computation to use the width of the space glyph from the font that has
3106         a space glyph, which may be a fallback font if the primary font lacks a space glyph.
3107
3108         * platform/graphics/Font.h: Removed Font::tabWidth().
3109         * platform/graphics/WidthIterator.cpp:
3110         (WebCore::WidthIterator::advance):
3111         * platform/graphics/mac/ComplexTextController.cpp:
3112         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3113
3114 2010-07-16  Yury Semikhatsky  <yurys@chromium.org>
3115
3116         Unreviewed. Chromium build fix. Add missing include.
3117
3118         * inspector/ConsoleMessage.h:
3119
3120 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
3121
3122         Reviewed by Antonio Gomes.
3123
3124         [Qt] Path: Avoid creating a new GraphicsContext in strokeContains() and strokeBoundingRect()
3125         https://bugs.webkit.org/show_bug.cgi?id=42456
3126
3127         * platform/graphics/qt/PathQt.cpp:
3128         (WebCore::scratchContext): Added, provides a scratch GraphicsContext.
3129         (WebCore::Path::strokeContains): Use the scratch context instead
3130         of creating a new GraphicsContext.
3131         (WebCore::Path::strokeBoundingRect): Ditto.
3132
3133 2010-07-16  Pavel Podivilov  <podivilov@chromium.org>
3134
3135         Reviewed by Yury Semikhatsky.
3136
3137         [V8] V8Proxy::retrieve may return null if javascript is disabled. Add a check
3138         to avoid crashes in inspected page.
3139         https://bugs.webkit.org/show_bug.cgi?id=42065
3140
3141         * bindings/v8/ScriptDebugServer.cpp:
3142         (WebCore::ScriptDebugServer::addListener):
3143
3144 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
3145
3146         Reviewed by Yury Semikhatsky.
3147
3148         Web Inspector: add SSL time label into the resources popover.
3149
3150         https://bugs.webkit.org/show_bug.cgi?id=42458
3151
3152         * English.lproj/localizedStrings.js:
3153         * inspector/InspectorResource.cpp:
3154         (WebCore::InspectorResource::buildObjectForTiming):
3155         * inspector/front-end/ResourcesPanel.js:
3156         (WebInspector.ResourcesPanel.prototype._showPopover):
3157
3158 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
3159
3160         Reviewed by Yury Semikhatsky.
3161
3162         Web Inspector: disable AppCache in chromium.
3163
3164         https://bugs.webkit.org/show_bug.cgi?id=41858
3165
3166         * inspector/front-end/Settings.js:
3167         * inspector/front-end/StoragePanel.js:
3168         (WebInspector.StoragePanel):
3169         (WebInspector.StoragePanel.prototype.reset):
3170         (WebInspector.StoragePanel.prototype.addApplicationCache):
3171
3172 2010-07-16  Yury Semikhatsky  <yurys@chromium.org>
3173
3174         Reviewed by Pavel Feldman.
3175
3176         console.trace should show file and line number for each function in the stack
3177         https://bugs.webkit.org/show_bug.cgi?id=21180
3178
3179         Test: inspector/console-trace.html
3180
3181         * bindings/js/ScriptCallStack.cpp:
3182         (WebCore::ScriptCallStack::initialize):
3183         * bindings/v8/ScriptCallFrame.cpp:
3184         (WebCore::ScriptCallFrame::ScriptCallFrame):
3185         * bindings/v8/ScriptCallFrame.h:
3186         * bindings/v8/ScriptCallStack.cpp:
3187         (WebCore::getFrameLocation):
3188         (WebCore::toScriptCallFrame):
3189         (WebCore::ScriptCallStack::create):
3190         (WebCore::ScriptCallStack::ScriptCallStack):
3191         (WebCore::ScriptCallStack::at):
3192         (WebCore::ScriptCallStack::size):
3193         * bindings/v8/ScriptCallStack.h:
3194         * bindings/v8/custom/V8ConsoleCustom.cpp:
3195         (WebCore::V8Console::traceCallback):
3196         * inspector/ConsoleMessage.cpp:
3197         (WebCore::ConsoleMessage::CallFrame::CallFrame):
3198         (WebCore::ConsoleMessage::CallFrame::isEqual):
3199         (WebCore::ConsoleMessage::CallFrame::createFrontendObject):
3200         (WebCore::ConsoleMessage::ConsoleMessage):
3201         (WebCore::ConsoleMessage::addToFrontend):
3202         (WebCore::ConsoleMessage::isEqual):
3203         * inspector/ConsoleMessage.h:
3204         * inspector/front-end/ConsoleView.js:
3205         (WebInspector.ConsoleMessage.prototype._formatMessage):
3206         (WebInspector.ConsoleMessage.prototype._createStackTraceElement):
3207         (WebInspector.ConsoleMessage.prototype._createSourceUrlLink):
3208         * inspector/front-end/inspector.css:
3209         (.console-message.expandable > .console-message-text::before):
3210         (.console-message.expandable.collapsed > .console-message-text::before):
3211         (.console-message.expandable.collapsed > ol.stack-trace):
3212         (.console-message > ol.stack-trace):
3213         (.console-message.repeated-message > ol.stack-trace):
3214         (.console-message.repeated-message > ol.stack-trace.trace-message):
3215         * page/Console.idl:
3216
3217 2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
3218
3219         Reviewed by Antonio Gomes.
3220
3221         [EFL] Build with MathML enabled. Fix build when MathML is enabled and
3222         make it the default.
3223         https://bugs.webkit.org/show_bug.cgi?id=42453
3224
3225         EFL port does not support automated tests, yet.
3226
3227         * CMakeLists.txt: add missing source file and sort.
3228
3229 2010-07-16  Hans Wennborg  <hans@chromium.org>
3230
3231         Reviewed by Steve Block.
3232
3233         DeviceOrientationEvent.h should not forward-declare DeviceOrientation
3234         https://bugs.webkit.org/show_bug.cgi?id=42447
3235
3236         When destructing m_orientation, DeviceOrientation cannot be an incomplete type.
3237
3238         * dom/DeviceOrientationEvent.h:
3239
3240 2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>
3241
3242         Reviewed by Dirk Schulze.
3243
3244         gradientTransform + objectBoundingBox is wrong
3245         https://bugs.webkit.org/show_bug.cgi?id=42446
3246
3247         gradientTransform + gradientUnits="objectBoundingBox" is wrong. Reverse multiplication order of both transforms.
3248
3249         * rendering/RenderSVGResourceGradient.cpp: s/multiply/multLeft/
3250
3251 2010-07-16  Mikhail Naganov  <mnaganov@chromium.org>
3252
3253         Reviewed by Pavel Feldman.
3254
3255         Make JS memory stats available via 'Performance' object (Web Timing).
3256         This statistics is populated only if 'WebKitMemoryInfoEnabled'
3257         preference is set.
3258
3259         'console.memory' is kept until Web Timing object becomes visible by
3260         default (currently it is hidden under compile-time flag).  These stats
3261         are guarded with the same preference.
3262
3263         https://bugs.webkit.org/show_bug.cgi?id=41617
3264
3265         * bindings/js/JSConsoleCustom.cpp:
3266         * bindings/v8/custom/V8ConsoleCustom.cpp:
3267         * page/Console.cpp:
3268         (WebCore::Console::disconnectFrame):
3269         (WebCore::Console::memory):
3270         * page/Console.h:
3271         * page/Console.idl:
3272         * page/MemoryInfo.cpp:
3273         (WebCore::MemoryInfo::MemoryInfo):
3274         * page/MemoryInfo.h:
3275         (WebCore::MemoryInfo::create):
3276         * page/Performance.cpp:
3277         (WebCore::Performance::disconnectFrame):
3278         (WebCore::Performance::memory):
3279         * page/Performance.h:
3280         * page/Performance.idl:
3281         * page/Settings.cpp:
3282         (WebCore::Settings::Settings):
3283         * page/Settings.h:
3284         (WebCore::Settings::setMemoryInfoEnabled):
3285         (WebCore::Settings::memoryInfoEnabled):
3286
3287 2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>
3288
3289         Reviewed by Dirk Schulze.
3290
3291         Convolution computation causes bad alpha channel values
3292         https://bugs.webkit.org/show_bug.cgi?id=42273
3293
3294         Unbreak the convolve matrix filter, fixing svg/W3C-SVG-1.1/filters-conv-01-f.svg.
3295
3296         1) Fix clamping the rgb values:
3297         "image->set(pixel++, clampRGBAValue(totals[0], maxAlpha));" totals[0] -> totals[i].
3298
3299         2) Don't apply the divisior divison and bias addition multiple times, accumulated!
3300     
3301         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3302         (WebCore::setDestinationPixels): Fix two evil bugs, breaking feConvolveMatrix.
3303
3304 2010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>
3305
3306         Reviewed by Dirk Schulze.
3307
3308         relative positioning does not work for radialGradient after window resize
3309         https://bugs.webkit.org/show_bug.cgi?id=41249
3310
3311         Redesign the way resources are invalidated. No longer utilize the DOM tree, specifically SVGStyledElement::svgAttributeChanged(), to invalidate
3312         all resources in the ancestor chain (including itself) when any attribute changes. rect.setAttribute("foo", "bar") should never invalidate the
3313         resources. Also the old approach didn't work correctly if the root layout changed (eg. window size change) - we failed to invalidate the resources,
3314         thus leading to wrong renderings.
3315
3316         Instead of calling setNeedsLayout(true) from the SVG*Element classes, call RenderSVGResource::markForLayoutAndParentResourceInvalidation(), which
3317         does the same thing and invalidates all resources in the ancestor chain (removing the cached results from the HashMaps). This only happens from
3318         the various svgAttributeChanged() methods, if we know which attribute changed, and what action has to be taken.
3319
3320         All SVG renderers now invalidate their own resources on layout() if the layout changed (selfNeedsLayout()=true). The resources will be recreated
3321         and cached during the following paint() call.
3322
3323         Tests: svg/custom/marker-child-changes-css.svg
3324                svg/custom/relative-sized-content-with-resources.xhtml
3325
3326         * rendering/RenderForeignObject.cpp:
3327         (WebCore::RenderForeignObject::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
3328         * rendering/RenderPath.cpp:
3329         (WebCore::RenderPath::layout): Ditto.
3330         * rendering/RenderSVGContainer.cpp:
3331         (WebCore::RenderSVGContainer::layout): Ditto.
3332         * rendering/RenderSVGImage.cpp:
3333         (WebCore::RenderSVGImage::layout): Ditto.
3334         * rendering/RenderSVGModelObject.cpp:
3335         (WebCore::RenderSVGModelObject::styleDidChange): Added, to invalidate resources on CSS changes, covered by new svg/custom/marker-child-changes-css.svg test.
3336         * rendering/RenderSVGModelObject.h:
3337         * rendering/RenderSVGResource.cpp:
3338         (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation): Add new "needsBoundaries" parameter, calling setNeedsBoundaries() on the target render object,
3339                                                                             simplifying all RenderSVGResource* code.
3340         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): New static method used from DOM tree to invalidate all cached resources in the ancestor chain
3341                                                                                   for a render object. Also marks the renderer for layout, if needed. 
3342         * rendering/RenderSVGResource.h:
3343         * rendering/RenderSVGResourceClipper.cpp: Simplify code, remove no longer needed hacks, as invalidation is now carried out by render tree.
3344         (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): Add m_invalidationBlocked hack, to avoid invalidations, while we're mutating the render styles (which is a hack!).
3345         (WebCore::RenderSVGResourceClipper::invalidateClients): Don't do anything if m_invalidationBlocked=true.
3346         (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
3347         (WebCore::RenderSVGResourceClipper::createClipData): Set m_invalidationBlocked before mutating render styles, as they are restored immediately after creating the clip image.
3348         (WebCore::RenderSVGResourceClipper::resourceBoundingBox): Remove no longer needed hack to initialize ClipperData earlier than applyResource() would do.
3349         * rendering/RenderSVGResourceClipper.h:
3350         * rendering/RenderSVGResourceFilter.cpp:
3351         (WebCore::RenderSVGResourceFilter::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
3352         (WebCore::RenderSVGResourceFilter::invalidateClient): Remove wrong assertion.
3353         * rendering/RenderSVGResourceGradient.cpp:
3354         (WebCore::RenderSVGResourceGradient::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
3355         (WebCore::RenderSVGResourceGradient::invalidateClient): Remove wrong assertion.
3356         * rendering/RenderSVGResourceMarker.cpp:
3357         (WebCore::RenderSVGResourceMarker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
3358         (WebCore::RenderSVGResourceMarker::invalidateClient): Remove wrong assertion.
3359         * rendering/RenderSVGResourceMasker.cpp:
3360         (WebCore::RenderSVGResourceMasker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
3361         (WebCore::RenderSVGResourceMasker::invalidateClient): Remove wrong assertion.
3362         (WebCore::RenderSVGResourceMasker::resourceBoundingBox): Remove no longer needed hack to initializer MaskerData earlier than applyResource() would do.
3363         * rendering/RenderSVGResourcePattern.cpp:
3364         (WebCore::RenderSVGResourcePattern::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
3365         (WebCore::RenderSVGResourcePattern::invalidateClient): Remove wrong assertion.
3366         * rendering/RenderSVGText.cpp:
3367         (WebCore::RenderSVGText::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
3368         * svg/SVGAnimateMotionElement.cpp:
3369         (WebCore::SVGAnimateMotionElement::applyResultsToTarget): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
3370         * svg/SVGAnimateTransformElement.cpp:
3371         (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
3372         * svg/SVGCircleElement.cpp:
3373         (WebCore::SVGCircleElement::svgAttributeChanged): Ditto.
3374         * svg/SVGEllipseElement.cpp:
3375         (WebCore::SVGEllipseElement::svgAttributeChanged): Ditto.
3376         * svg/SVGFEImageElement.cpp:
3377         (WebCore::SVGFEImageElement::notifyFinished): Ditto.
3378         * svg/SVGForeignObjectElement.cpp:
3379         (WebCore::SVGForeignObjectElement::svgAttributeChanged): Ditto.
3380         * svg/SVGGElement.cpp:
3381         (WebCore::SVGGElement::svgAttributeChanged): Ditto.
3382         * svg/SVGImageElement.cpp:
3383         (WebCore::SVGImageElement::svgAttributeChanged): Ditto.
3384         * svg/SVGLineElement.cpp:
3385         (WebCore::SVGLineElement::svgAttributeChanged): Ditto.
3386         * svg/SVGPathElement.cpp:
3387         (WebCore::SVGPathElement::svgAttributeChanged): Ditto.
3388         * svg/SVGPolyElement.cpp:
3389         (WebCore::SVGPolyElement::svgAttributeChanged): Ditto.
3390         * svg/SVGRectElement.cpp:
3391         (WebCore::SVGRectElement::svgAttributeChanged): Ditto.
3392         * svg/SVGSVGElement.cpp:
3393         (WebCore::SVGSVGElement::setCurrentScale): Ditto.
3394         (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
3395         (WebCore::SVGSVGElement::inheritViewAttributes): Ditto.
3396         * svg/SVGStopElement.cpp:
3397         (WebCore::SVGStopElement::SVGStopElement): Changed m_offset initialization from 0.0f to 0.
3398         (WebCore::SVGStopElement::svgAttributeChanged): Add missing implementation, calling RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) on offsetAttr changes.
3399         * svg/SVGStopElement.h:
3400         * svg/SVGStyledElement.cpp:
3401         (WebCore::SVGStyledElement::svgAttributeChanged): Don't call invalidateResourceInAncestorChain() on every attribute change, do it in all classes inheriting from us,
3402                                                           for specific attributes. Also stop calling RenderSVGResource::invalidateAllResourcesOfRenderer(), all handled in the render tree now.
3403         (WebCore::SVGStyledElement::invalidateResourceClients): Early exit, if document is still parsing.
3404         * svg/SVGStyledElement.h:
3405         * svg/SVGTRefElement.cpp:
3406         (WebCore::SVGTRefElement::svgAttributeChanged): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
3407         * svg/SVGTextElement.cpp:
3408         (WebCore::SVGTextElement::svgAttributeChanged): Ditto.
3409         * svg/SVGTextPathElement.cpp:
3410         (WebCore::SVGTextPathElement::svgAttributeChanged): Ditto.
3411         * svg/SVGTextPositioningElement.cpp:
3412         (WebCore::SVGTextPositioningElement::svgAttributeChanged): Ditto.
3413         * svg/SVGUseElement.cpp:
3414         (WebCore::SVGUseElement::svgAttributeChanged): Ditto.
3415         (WebCore::SVGUseElement::updateContainerSizes): Ditto.
3416         (WebCore::SVGUseElement::updateContainerOffsets): Ditto.
3417
3418 2010-07-16  Cosmin Truta  <ctruta@chromium.org>
3419
3420         Reviewed by Eric Seidel.
3421
3422         Some SVGs with empty <g> elements crash Chromium on Linux
3423         https://bugs.webkit.org/show_bug.cgi?id=41175
3424
3425         Avoid painting of zero-sized image buffers. Skia can't handle it.
3426
3427         Test: svg/filters/filter-empty-g.svg
3428
3429         * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
3430         (ImageBuffer::ImageBuffer):
3431
3432 2010-07-16  Nate Chapin  <japhet@chromium.org>
3433
3434         Reviewed by Darin Fisher.
3435
3436         Regression in r63100: Don't clear m_loadType in
3437         FrameLoader::handledOnloadEvents, as it is used
3438         to make some decisions after the load has actually
3439         completed.
3440
3441         Tickling this bug requires manipulation
3442         via the API (layout tests don't appear to traverse
3443         the correct codepath), so no layout test.
3444
3445         https://bugs.webkit.org/show_bug.cgi?id=42298
3446
3447         * loader/FrameLoader.cpp:
3448         (WebCore::FrameLoader::handledOnloadEvents): Don't reset m_loadType.
3449         (WebCore::FrameLoader::addExtraFieldsToRequest): Set subresource cache
3450            policy in one place and don't depend on m_loadType.
3451
3452 2010-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
3453
3454         Reviewed by Darin Adler.
3455
3456         Printing test results differ between machines, we should use ImageDiff instead
3457         https://bugs.webkit.org/show_bug.cgi?id=20011
3458
3459         Added spoolAllPagesWithBoundaries into PrintContext.
3460
3461         Test: printing/setPrinting.html
3462
3463         * WebCore.base.exp:
3464         * page/PrintContext.cpp:
3465         (WebCore::PrintContext::spoolAllPagesWithBoundaries):
3466         * page/PrintContext.h:
3467
3468 2010-07-15  Kent Tamura  <tkent@chromium.org>
3469
3470         Unreviewed, small style fixes.
3471
3472         * platform/chromium/ThemeChromiumMac.mm:
3473         (WebCore::ThemeChromiumMac::inflateControlPaintRect):
3474         * platform/mac/ThemeMac.mm:
3475         (WebCore::ThemeMac::inflateControlPaintRect):
3476
3477 2010-07-15  Adam Barth  <abarth@webkit.org>
3478
3479         Reviewed by Eric Seidel.
3480
3481         Update LegacyHTMLTreeBuilder to insert whitespace between </head> and <body>
3482         https://bugs.webkit.org/show_bug.cgi?id=42431
3483
3484         Insert these whitespace text nodes into the HTML element between <head>
3485         and <body>, as required by HTML5.  Previously, we just dropped them on
3486         the floor.
3487
3488         * html/LegacyHTMLTreeBuilder.cpp:
3489         (WebCore::LegacyHTMLTreeBuilder::handleError):
3490
3491 2010-07-15  Victor Wang  <victorw@chromium.org>
3492
3493         Reviewed by David Levin.
3494
3495         [chromium] update KURLGoogle decodeURLEscapeSequences to
3496         use googleurl public api so it does not access functions in
3497         url_canon_internal. This is for chromium multi-dll build.
3498
3499         https://bugs.webkit.org/show_bug.cgi?id=42177
3500
3501         Test: (unittest) WebKit\chromium\tests\KURLTest.cpp
3502
3503         * platform/KURLGoogle.cpp:
3504         (WebCore::decodeURLEscapeSequences):
3505
3506 2010-07-15  Kent Tamura  <tkent@chromium.org>
3507
3508         Reviewed by Eric Seidel.
3509
3510         [Chromium] Update ThemeChromiumMac.mm for the recent changes of ThemeMac.mm
3511         https://bugs.webkit.org/show_bug.cgi?id=41932
3512
3513         Sync with ThemeMac.mm r61760.
3514         This change doesn't contain r54299, r57603, r57734, r57741, and
3515         r58533 because they conflict with Chromium change for
3516         FlippedView().
3517
3518         * platform/chromium/ThemeChromiumMac.mm:
3519         (WebCore::sizeFromNSControlSize):
3520         (WebCore::sizeFromFont):
3521         (WebCore::controlSizeFromPixelSize):
3522         (WebCore::setControlSize):
3523         (WebCore::convertControlStatesToThemeDrawState):
3524         (WebCore::stepperSizes):
3525         (WebCore::stepperControlSizeForFont):
3526         (WebCore::paintStepper):
3527         (WebCore::ThemeChromiumMac::controlSize):
3528         (WebCore::ThemeChromiumMac::minimumControlSize):
3529         (WebCore::ThemeChromiumMac::inflateControlPaintRect):
3530         (WebCore::ThemeChromiumMac::paint):
3531
3532 2010-07-15  MORITA Hajime  <morrita@google.com>
3533
3534         Reviewed by David Levin.
3535
3536         [Chromium][Win] Crashes with <keygen> with huge padding.
3537         https://bugs.webkit.org/show_bug.cgi?id=41737
3538
3539         When we try to draw a large region, TransparencyWin can fail to
3540         allocate a temporal buffer for composition.  This change adds a
3541         fallback path to ThemePainter to handle the buffer allocation
3542         failure.
3543
3544         ThemePainter is no longer a subclass of TransparencyWin.  It has
3545         a TransparencyWin as a member.
3546
3547         Test: fast/forms/large-parts.html
3548
3549         * rendering/RenderThemeChromiumWin.cpp:
3550         (WebCore::ThemePainter): Added a fallback path.
3551
3552 2010-07-15  Yuzo Fujishima  <yuzo@google.com>
3553
3554         Reviewed by Darin Adler.
3555
3556         Fix for Bug 42362 - CSSSegmentedFontFace::isLoaded() const is not used anywhere
3557         Remove the method.
3558         https://bugs.webkit.org/show_bug.cgi?id=42362
3559
3560         No new tests because of no behavior changes.
3561
3562         * css/CSSSegmentedFontFace.cpp:
3563         * css/CSSSegmentedFontFace.h:
3564
3565 2010-07-15  Erik Arvidsson  <arv@chromium.org>
3566
3567         Reviewed by David Levin.
3568
3569         Add directional property enums to the switch in applyProperty
3570         https://bugs.webkit.org/show_bug.cgi?id=42438
3571
3572         Build fix for chromium mac.
3573
3574         * css/CSSStyleSelector.cpp:
3575         (WebCore::CSSStyleSelector::applyProperty):
3576
3577 2010-07-13  Zhenyao Mo  <zmo@google.com>
3578
3579         Reviewed by Nate Chapin.
3580
3581         bufferData and bufferSubData generate wrong error when null buffer is bound
3582         https://bugs.webkit.org/show_bug.cgi?id=42125
3583
3584         * html/canvas/WebGLRenderingContext.cpp:
3585         (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataParameters().
3586         (WebCore::WebGLRenderingContext::bufferSubData): Ditto.
3587         (WebCore::WebGLRenderingContext::validateBufferDataParameters): Parameters validation for buffer{Sub}Data().
3588         * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataParameters().
3589
3590 2010-07-15  Jay Civelli  <jcivelli@chromium.org>
3591
3592         Reviewed by David Levin.
3593
3594         [chromium] Making the popup label color visible when the item is
3595         selected.
3596         https://bugs.webkit.org/show_bug.cgi?id=42271
3597
3598         * platform/chromium/PopupMenuChromium.cpp:
3599         (WebCore::PopupListBox::paintRow): paint the label text with a
3600      &n