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