2011-02-09 Pavel Feldman <pfeldman@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-09  Pavel Feldman  <pfeldman@chromium.org>
2
3         Reviewed by Yury Semikhatsky.
4
5         Web Inspector: follow up on InspectorAgent split -
6         removing unnecessary methods from InspectorController.
7         https://bugs.webkit.org/show_bug.cgi?id=54093
8
9         * WebCore.exp.in:
10         * inspector/InspectorAgent.cpp:
11         (WebCore::InspectorAgent::stopUserInitiatedProfiling):
12         (WebCore::InspectorAgent::showAndEnableDebugger):
13         (WebCore::InspectorAgent::enabled):
14         (WebCore::InspectorAgent::showConsole):
15         * inspector/InspectorAgent.h:
16         * inspector/InspectorController.cpp:
17         (WebCore::InspectorController::InspectorController):
18         (WebCore::InspectorController::didClearWindowObjectInWorld):
19         (WebCore::InspectorController::showConsole):
20         (WebCore::InspectorController::enabled):
21         (WebCore::InspectorController::inspectedPage):
22         * inspector/InspectorController.h:
23         * inspector/InspectorFrontendClientLocal.cpp:
24
25 2011-02-07  Chris Marrin  <cmarrin@apple.com>
26
27         Reviewed by Simon Fraser.
28
29         LayoutTests/animations/play-state.html has wrong behavior with accelerated compositing
30         https://bugs.webkit.org/show_bug.cgi?id=53513
31
32         The PlatformCAAnimation::create() function which took a pointer to another
33         PlatformCAAnimation was supposed to make a copy of that passed object.
34         But it was doing completely the wrong thing on Mac and was leaking an object
35         to boot. And the notion of copying an object using a static creation function
36         is wrong in the first place. So I changed it to a member copy() function
37         which would create a new PlatformCAAnimation which was a copy of 'this' and
38         return it. I changed the implementation on both Mac and Win to match.
39
40         This problem was not caught by DRT, even there is a specific test for it.
41         That test just verifies that the higher level logic is working 
42         properly, which it is. There's no practical way to find out if the
43         layer is currently animating. There is no logic which probes that
44         deeply into the layer mechanics.
45         
46         * platform/graphics/ca/GraphicsLayerCA.cpp:
47         * platform/graphics/ca/PlatformCAAnimation.h:
48         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
49         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
50
51 2011-02-09  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
52
53         Unreviewed build fix.
54
55         [EFL] Remove double definition of ContextMenu.
56         https://bugs.webkit.org/show_bug.cgi?id=50762
57
58         When building with SHARED_CORE enabled, the symbols of ContextMenu
59         were both in webkit and webcore. This removes them from webcore and
60         shall be put back once the CROSS_PLATFORM_CONTEXT_MENUS is implemented
61         in EFL port.
62
63         No new tests because no new functionality.
64
65         * CMakeLists.txt:
66
67 2011-02-09  Adam Roben  <aroben@apple.com>
68
69         Windows Production build fix
70
71         * WebCore.vcproj/QTMovieWinCommon.vsprops: Link against
72         WebKitSystemInterface$(WebKitConfigSuffix).lib, not just WebKitSystemInterface.lib, so we
73         pick up the _debug variant when appropriate.
74
75 2011-02-09  Eric Seidel  <eric@webkit.org>
76
77         Reviewed by Adam Barth.
78
79         Hostnames should cannonicalize to lowercase (to match every other browser)
80         https://bugs.webkit.org/show_bug.cgi?id=54084
81
82         * platform/KURL.cpp:
83         (WebCore::KURL::parse):
84
85 2011-02-09  Peter Varga  <pvarga@webkit.org>
86
87
88         Reviewed by Gavin Barraclough.
89
90         Replace PCRE with Yarr in WebCore
91         https://bugs.webkit.org/show_bug.cgi?id=53496
92
93         No new tests needed.
94
95         * Android.jscbindings.mk:
96         * CMakeLists.txt:
97         * ForwardingHeaders/pcre/pcre.h: Removed.
98         * ForwardingHeaders/yarr/Yarr.h: Added.
99         * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
100         * ForwardingHeaders/yarr/YarrPattern.h: Added.
101         * WebCore.gyp/WebCore.gyp:
102         * WebCore.pro:
103         * WebCore.vcproj/WebCore.vcproj:
104         * WebCore.vcproj/copyForwardingHeaders.cmd:
105         * platform/text/RegularExpression.cpp:
106         (WebCore::RegularExpression::Private::create):
107         (WebCore::RegularExpression::Private::Private):
108         (WebCore::RegularExpression::Private::compile):
109         (WebCore::RegularExpression::match):
110
111 2011-02-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
112
113         Reviewed by Eric Seidel.
114
115         [EFL] Add dummy functions for HTML5 Video's control UI
116         https://bugs.webkit.org/show_bug.cgi?id=53906
117
118         In WebKit EFL, there are no implementations for HTML5 control UI.
119         First, dummy functions are added.
120
121         * platform/efl/RenderThemeEfl.cpp:
122         (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
123         (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
124         (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
125         (WebCore::RenderThemeEfl::paintMediaMuteButton):
126         (WebCore::RenderThemeEfl::paintMediaPlayButton):
127         (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
128         (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
129         (WebCore::RenderThemeEfl::paintMediaSliderTrack):
130         (WebCore::RenderThemeEfl::paintMediaSliderThumb):
131         (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer):
132         (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack):
133         (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb):
134         (WebCore::RenderThemeEfl::paintMediaCurrentTime):
135         * platform/efl/RenderThemeEfl.h:
136
137 2011-02-09  Eric Seidel  <eric@webkit.org>
138
139         Reviewed by Adam Barth.
140
141         Make WebKit's fragment cannonicalization match other browsers
142         https://bugs.webkit.org/show_bug.cgi?id=53850
143
144         This doesn't make us match perfectly, but it brings us closer.
145
146         * platform/KURL.cpp:
147         (WebCore::appendEscapingBadChars):
148         (WebCore::escapeAndAppendFragment):
149         (WebCore::KURL::parse):
150
151 2011-02-09  Hans Wennborg  <hans@chromium.org>
152
153         Reviewed by Jeremy Orlow.
154
155         IndexedDB: Cursors should skip deleted entries
156         https://bugs.webkit.org/show_bug.cgi?id=53690
157
158         Add test to check that the cursor skips deleted entries.
159
160         Test: storage/indexeddb/cursor-skip-deleted.html
161
162         * storage/IDBCursorBackendImpl.cpp:
163         (WebCore::IDBCursorBackendImpl::currentRowExists):
164         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
165         * storage/IDBCursorBackendImpl.h:
166
167 2011-02-08  Pavel Podivilov  <podivilov@chromium.org>
168
169         Reviewed by Yury Semikhatsky.
170
171         Web Inspector: script formatter should not create a worker for each script.
172         https://bugs.webkit.org/show_bug.cgi?id=54010
173
174         * inspector/front-end/ScriptFormatter.js:
175         (WebInspector.ScriptFormatter):
176         (WebInspector.ScriptFormatter.prototype._formatScript):
177         (WebInspector.ScriptFormatter.prototype._handleMessage):
178         (WebInspector.ScriptFormatter.prototype._handleError):
179
180 2011-02-08  Pavel Podivilov  <podivilov@chromium.org>
181
182         Reviewed by Pavel Feldman.
183
184         Web Inspector: sync uglifyjs parser files.
185         https://bugs.webkit.org/show_bug.cgi?id=54003
186
187         * inspector/front-end/UglifyJS/parse-js.js:
188         * inspector/front-end/UglifyJS/process.js:
189
190 2011-02-08  Ryosuke Niwa  <rniwa@webkit.org>
191
192         Reviewed by Darin Adler.
193
194         REGRESSION(71556,68059): queryCommandValue screws up background color at collapsed cursor
195         https://bugs.webkit.org/show_bug.cgi?id=53196
196
197         The bug was caused by Editor::selectionComputedStyle's modifying typing style without making a copy,
198         and its removing non-inheritable properties from the typing style. Fixed the bug by making a copy
199         before making the modification and not removing non-inheritable properties.
200
201         Also fixed a bug in selectionStartCSSPropertyValue that it doesn't handle xx-small to -webkit-xxx-large
202         by extracting a function from StyleChange::extractTextStyles and calling it in both extractTextStyles
203         and selectionStartCSSPropertyValue.
204
205         Test: editing/style/query-typing-style.html
206
207         * editing/ApplyStyleCommand.cpp:
208         (WebCore::legacyFontSizeFromCSSValue): Extracted from StyleChange::extractTextStyles.
209         (WebCore::StyleChange::extractTextStyles): Calls legacyFontSizeFromCSSValue; this fixes the bug that
210         CSS values from xx-small through -webkit-xxx-large are not accounted.
211         * editing/ApplyStyleCommand.h:
212         * editing/Editor.cpp:
213         (WebCore::Editor::selectionStartCSSPropertyValue): Calls legacyFontSizeFromCSSValue.
214         (WebCore::Editor::selectionComputedStyle): Makes a copy before modifying typing style.
215         No longer calls removeNonEditingProperties on the copied typing style so that background-color property
216         is included when merged into the style.
217
218 2011-02-08  Sam Weinig  <sam@webkit.org>
219
220         Reviewed by Maciej Stachowiak.
221
222         REGRESSION (r76831): Subframes are printed blank
223         <rdar://problem/8945867>
224
225         * page/FrameView.cpp:
226         (WebCore::FrameView::paintOverhangAreas):
227         Don't paint overhangs when printing.
228
229 2011-02-07  Jeremy Orlow  <jorlow@chromium.org>
230
231         Reviewed by Nate Chapin.
232
233         Events should propagate through IDBDatabase (for IDBRequest and IDBTransaction)
234         https://bugs.webkit.org/show_bug.cgi?id=53975
235
236         The third change in the series of overhauling IndexedDB's event model to match
237         the spec (at least the version in our heads and bugs).
238
239         Test: storage/indexeddb/transaction-event-propagation.html
240
241         * bindings/v8/V8DOMWrapper.cpp:
242         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
243         * dom/Event.cpp:
244         (WebCore::Event::isIDBAbortEvent):
245         (WebCore::Event::isIDBCompleteEvent):
246         * dom/Event.h:
247         * dom/EventTarget.cpp:
248         (WebCore::EventTarget::toIDBDatabase):
249         * dom/EventTarget.h:
250         * storage/IDBDatabase.cpp:
251         (WebCore::IDBDatabase::create):
252         (WebCore::IDBDatabase::IDBDatabase):
253         (WebCore::IDBDatabase::scriptExecutionContext):
254         (WebCore::IDBDatabase::eventTargetData):
255         (WebCore::IDBDatabase::ensureEventTargetData):
256         * storage/IDBDatabase.h:
257         (WebCore::IDBDatabase::toIDBDatabase):
258         (WebCore::IDBDatabase::refEventTarget):
259         (WebCore::IDBDatabase::derefEventTarget):
260         * storage/IDBDatabase.idl:
261         * storage/IDBRequest.cpp:
262         (WebCore::IDBRequest::onSuccess):
263         (WebCore::IDBRequest::dispatchEvent):
264         * storage/IDBTransaction.cpp:
265         (WebCore::IDBTransaction::backend):
266         (WebCore::IDBTransaction::db):
267         (WebCore::IDBTransaction::objectStore):
268         (WebCore::IDBTransaction::scriptExecutionContext):
269         (WebCore::IDBTransaction::dispatchEvent):
270         (WebCore::IDBTransaction::enqueueEvent):
271         * storage/IDBTransaction.h:
272         (WebCore::IDBTransaction::dispatchEvent):
273
274 2011-02-08  Kenneth Russell  <kbr@google.com>
275
276         Reviewed by James Robinson.
277
278         Add cache for GPU-accelerated path processing results
279         https://bugs.webkit.org/show_bug.cgi?id=45519
280
281         Adding a cache which holds the results of processing a path into
282         interior and exterior triangle meshes, according to the path
283         rendering algorithm from GPU Gems 3. No tests yet; will be tested
284         in conjunction with later code.
285
286         * platform/graphics/gpu/LoopBlinnPathCache.cpp: Added.
287         (WebCore::LoopBlinnPathCache::LoopBlinnPathCache):
288         (WebCore::LoopBlinnPathCache::~LoopBlinnPathCache):
289         (WebCore::LoopBlinnPathCache::addVertex):
290         (WebCore::LoopBlinnPathCache::clear):
291         (WebCore::LoopBlinnPathCache::addInteriorVertex):
292         (WebCore::LoopBlinnPathCache::numberOfInteriorEdgeVertices):
293         (WebCore::LoopBlinnPathCache::interiorEdgeVertices):
294         (WebCore::LoopBlinnPathCache::addInteriorEdgeVertex):
295         * platform/graphics/gpu/LoopBlinnPathCache.h: Added.
296         (WebCore::LoopBlinnPathCache::numberOfVertices):
297         (WebCore::LoopBlinnPathCache::vertices):
298         (WebCore::LoopBlinnPathCache::texcoords):
299         (WebCore::LoopBlinnPathCache::numberOfInteriorVertices):
300         (WebCore::LoopBlinnPathCache::interiorVertices):
301
302 2011-02-08  Zhenyao Mo  <zmo@google.com>
303
304         Reviewed by Kenneth Russell.
305
306         Rename GraphicsContext3D::WebGLEnumType
307         https://bugs.webkit.org/show_bug.cgi?id=45708
308
309         * html/canvas/WebGLProgram.cpp:
310         (WebCore::WebGLProgram::getAttachedShader):
311         * html/canvas/WebGLProgram.h:
312         * platform/graphics/GraphicsContext3D.h:
313
314 2011-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
315
316         Unreviewed, rolling out r77980.
317         http://trac.webkit.org/changeset/77980
318         https://bugs.webkit.org/show_bug.cgi?id=54043
319
320         "Crashes on Windows and Linux..." (Requested by leviw on
321         #webkit).
322
323         * WebCore.exp.in:
324         * accessibility/AXObjectCache.cpp:
325         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
326         * accessibility/AccessibilityObject.cpp:
327         (WebCore::startOfStyleRange):
328         (WebCore::endOfStyleRange):
329         * accessibility/AccessibilityRenderObject.cpp:
330         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
331         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
332         (objectAndOffsetUnignored):
333         * dom/Position.cpp:
334         (WebCore::Position::upstream):
335         (WebCore::Position::downstream):
336         * dom/Range.cpp:
337         (WebCore::Range::editingStartPosition):
338         * editing/Editor.cpp:
339         (WebCore::Editor::canDeleteRange):
340         * editing/ReplaceSelectionCommand.cpp:
341         (WebCore::ReplaceSelectionCommand::doApply):
342         * editing/SelectionController.cpp:
343         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
344         (WebCore::SelectionController::setSelectedRange):
345         * editing/TextIterator.cpp:
346         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
347         * editing/TypingCommand.cpp:
348         (WebCore::TypingCommand::deleteKeyPressed):
349         * editing/VisiblePosition.cpp:
350         (WebCore::VisiblePosition::VisiblePosition):
351         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
352         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
353         (WebCore::VisiblePosition::canonicalPosition):
354         (WebCore::VisiblePosition::characterAfter):
355         (WebCore::VisiblePosition::localCaretRect):
356         (WebCore::makeRange):
357         (WebCore::startVisiblePosition):
358         (WebCore::endVisiblePosition):
359         (WebCore::setStart):
360         (WebCore::setEnd):
361         (WebCore::isFirstVisiblePositionInNode):
362         (WebCore::isLastVisiblePositionInNode):
363         * editing/VisiblePosition.h:
364         * editing/htmlediting.cpp:
365         (WebCore::firstInSpecialElement):
366         (WebCore::lastInSpecialElement):
367         (WebCore::visiblePositionBeforeNode):
368         (WebCore::visiblePositionAfterNode):
369         * editing/visible_units.cpp:
370         (WebCore::startPositionForLine):
371         (WebCore::endPositionForLine):
372         (WebCore::previousLinePosition):
373         (WebCore::nextLinePosition):
374         (WebCore::startOfParagraph):
375         (WebCore::endOfParagraph):
376         (WebCore::endOfBlock):
377         (WebCore::startOfDocument):
378         (WebCore::endOfDocument):
379         (WebCore::logicalStartPositionForLine):
380         (WebCore::logicalEndPositionForLine):
381         * page/DOMSelection.cpp:
382         (WebCore::DOMSelection::collapse):
383         (WebCore::DOMSelection::setBaseAndExtent):
384         (WebCore::DOMSelection::setPosition):
385         (WebCore::DOMSelection::extend):
386         * page/EventHandler.cpp:
387         (WebCore::EventHandler::handleMousePressEventSingleClick):
388         * rendering/RenderObject.cpp:
389         (WebCore::RenderObject::createVisiblePosition):
390         * rendering/RenderTextControl.cpp:
391         (WebCore::RenderTextControl::visiblePositionForIndex):
392         * svg/SVGTextContentElement.cpp:
393         (WebCore::SVGTextContentElement::selectSubString):
394
395 2011-02-08  Jia Pu  <jpu@apple.com>
396
397         Reviewed by Darin Adler.
398
399         VisibleSelection::setWithoutValidation() should allow caret selection.
400         https://bugs.webkit.org/show_bug.cgi?id=53943
401
402         Test: editing/undo/undo-paste-when-caret-is-not-in-range.html
403
404         * editing/VisibleSelection.cpp:
405         (WebCore::VisibleSelection::setWithoutValidation):
406
407 2011-02-08  Martin Robinson  <mrobinson@igalia.com>
408
409         Reviewed by Xan Lopez.
410
411         [GTK] Remove the last remnants of the Mozilla theme drawing code
412         https://bugs.webkit.org/show_bug.cgi?id=54035
413
414         Remove all Mozilla theme drawing code.
415
416         No new tests. This change only removes dead code.
417
418         * GNUmakefile.am: Remove Mozilla files from the source list.
419         * platform/gtk/RenderThemeGtk.h: Remove Mozilla-theme-drawing-related methods
420         and add m_colormap to hold the current colormap of the widgets.
421         * platform/gtk/RenderThemeGtk2.cpp: Remove Mozilla code.
422         (WebCore::RenderThemeGtk::platformInit): Ditto.
423         (WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto.
424         (WebCore::RenderThemeGtk::gtkContainer): Ditto.
425         * platform/gtk/ScrollbarThemeGtk2.cpp: Ditto.
426         * platform/gtk/WidgetRenderingContext.cpp: Ditto.
427         (WebCore::WidgetRenderingContext::WidgetRenderingContext): Ditto.
428         * platform/gtk/WidgetRenderingContext.h: Ditto.
429         * platform/gtk/gtk2drawing.c: Removed.
430         * platform/gtk/gtkdrawing.h: Removed.
431
432 2011-02-08  Yael Aharon  <yael.aharon@nokia.com>
433
434         Reviewed by Antti Koivisto.
435
436         Crash when logging into gmail.com with frame flattening turned on.
437         https://bugs.webkit.org/show_bug.cgi?id=52449
438
439         Frame flattening algorithm requires that layout always starts from the main frame, since layout of
440         subframes impacts the layout of their parents. 
441         There are places in the code that call view->layout() not on the main frame.
442         Instead of changing all the callsites, I changed FrameView::layout()
443         to force layout from the main frame if frame flattening is enabled.
444         In addition, postLayoutTasks can trigger relayout, so make it use the timer even more.
445         Move the call to SelectionController::updateAppearance() to performPostLayoutTasks(), 
446         because calling the from layout() leads to a crash in pages that have a selection in an iframe.
447
448         Tests: fast/frames/flattening/iframe-flattening-crash.html
449                fast/frames/flattening/iframe-flattening-selection-crash.html
450
451         * page/FrameView.cpp:
452         (WebCore::FrameView::layout):
453         (WebCore::FrameView::performPostLayoutTasks):
454
455 2011-02-08  Andy Estes  <aestes@apple.com>
456
457         Reviewed by Darin Adler.
458
459         <rdar://problem/8913952> REGRESSION (r76301): 'plaintext-only' must be
460         a supported contentEditable mode.
461         https://bugs.webkit.org/show_bug.cgi?id=54041
462
463         * html/HTMLElement.cpp:
464         (WebCore::HTMLElement::setContentEditable): Setting the contentEditable
465         attribute to 'plaintext-only' should not throw an exception.
466
467 2011-02-08  Dan Bernstein  <mitz@apple.com>
468
469         Reviewed by Simon Fraser.
470
471         RenderRubyRun::m_beingDestroyed is redundant
472         https://bugs.webkit.org/show_bug.cgi?id=54042
473
474         * rendering/RenderRubyRun.cpp:
475         (WebCore::RenderRubyRun::RenderRubyRun): Removed intialization of m_beingDestroyed.
476         (WebCore::RenderRubyRun::removeChild): Use the base class beingDestroyed(). 
477         * rendering/RenderRubyRun.h:
478
479 2011-02-08  Levi Weintraub  <leviw@chromium.org>
480
481         Reviewed by Ryosuke Niwa.
482
483         Stop instantiating legacy editing Positions in VisiblePosition
484         https://bugs.webkit.org/show_bug.cgi?id=52919
485
486         Changing VisiblePosition completely away from legacy positions.
487
488         No new tests since this is functionaly equivalent.
489
490         * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
491         adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
492         outside of WebCore, they should be parent anchored.
493         * accessibility/AXObjectCache.cpp:
494         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
495         * accessibility/AccessibilityObject.cpp:
496         (WebCore::startOfStyleRange):
497         (WebCore::endOfStyleRange):
498         * accessibility/AccessibilityRenderObject.cpp:
499         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
500         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
501         (objectAndOffsetUnignored):
502         * dom/Position.cpp:
503         (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
504         (WebCore::Position::downstream): ditto
505         * dom/Range.cpp:
506         (WebCore::Range::editingStartPosition):
507         * editing/Editor.cpp:
508         (WebCore::Editor::canDeleteRange):
509         * editing/ReplaceSelectionCommand.cpp:
510         (WebCore::ReplaceSelectionCommand::doApply):
511         * editing/SelectionController.cpp:
512         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
513         (WebCore::SelectionController::setSelectedRange):
514         * editing/TextIterator.cpp:
515         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
516         * editing/TypingCommand.cpp:
517         (WebCore::TypingCommand::deleteKeyPressed):
518         * editing/VisiblePosition.cpp:
519         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
520         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
521         (WebCore::VisiblePosition::canonicalPosition):
522         (WebCore::VisiblePosition::characterAfter):
523         (WebCore::VisiblePosition::localCaretRect):
524         (WebCore::makeRange):
525         (WebCore::startVisiblePosition):
526         (WebCore::endVisiblePosition):
527         (WebCore::setStart):
528         (WebCore::setEnd):
529         (WebCore::isFirstVisiblePositionInNode):
530         (WebCore::isLastVisiblePositionInNode):
531         * editing/VisiblePosition.h:
532         (WebCore::VisiblePosition::VisiblePosition):
533         * editing/htmlediting.cpp:
534         (WebCore::firstInSpecialElement):
535         (WebCore::lastInSpecialElement):
536         (WebCore::visiblePositionBeforeNode):
537         (WebCore::visiblePositionAfterNode):
538         * editing/visible_units.cpp:
539         (WebCore::startPositionForLine):
540         (WebCore::endPositionForLine):
541         (WebCore::previousLinePosition):
542         (WebCore::nextLinePosition):
543         (WebCore::startOfParagraph):
544         (WebCore::endOfParagraph):
545         (WebCore::endOfBlock):
546         (WebCore::startOfDocument):
547         (WebCore::endOfDocument):
548         (WebCore::logicalStartPositionForLine):
549         (WebCore::logicalEndPositionForLine):
550         * page/DOMSelection.cpp:
551         (WebCore::DOMSelection::collapse):
552         (WebCore::DOMSelection::setBaseAndExtent):
553         (WebCore::DOMSelection::setPosition):
554         (WebCore::DOMSelection::extend):
555         * page/EventHandler.cpp:
556         (WebCore::EventHandler::handleMousePressEventSingleClick):
557         * rendering/RenderObject.cpp:
558         (WebCore::RenderObject::createVisiblePosition):
559         * rendering/RenderTextControl.cpp:
560         (WebCore::RenderTextControl::visiblePositionForIndex):
561         * svg/SVGTextContentElement.cpp:
562         (WebCore::SVGTextContentElement::selectSubString):
563
564 2011-02-08  Michael Saboff  <msaboff@apple.com>
565
566         JSC::Bindings m_rootObject->isValid() assert fails when running layout tests
567         https://bugs.webkit.org/show_bug.cgi?id=53716
568
569         Changed ASSERT to be an if for the case where the RuntimeObject was
570         GC'ed before RootObject::invalidate is called.  In that case there is 
571         no need to remove the RuntimeObject from the RootObject.  The isValid()
572         call will be false in this case, but the RuntimeObject has already
573         been removed from the RootObject.  Added similar defensive code
574         in RootObject::removeRuntimeObject().
575
576         * bridge/jsc/BridgeJSC.cpp:
577         (JSC::Bindings::Instance::willDestroyRuntimeObject):
578         * bridge/runtime_root.cpp:
579         (JSC::Bindings::RootObject::removeRuntimeObject):
580
581 2011-02-08  Beth Dakin  <bdakin@apple.com>
582
583         Reviewed by Darin Adler.
584
585         Fix for <rdar://problem/8953365> CrashTracer: 14 
586         crashes in WebProcess at com.apple.WebCore: 
587         -[ScrollKnobAnimation setCurrentProgress:] + 258
588
589         This crash seems to happen when the animation is running
590         and a window is closed. If the ScrollAnimator is destroyed,
591         delegate calls for the animation can still run, so we have 
592         to make sure we inform the delegates when the ScrollAnimator 
593         is gone, and then we have to null-check it before we do 
594         anything with it.
595
596         Remove scrollbarPainterDelegate() since it's not used anymore.
597         * platform/mac/ScrollAnimatorMac.h:
598         * platform/mac/ScrollAnimatorMac.mm:
599         
600         Add null-checks for _animator
601         (-[ScrollbarPartAnimation setCurrentProgress:]):
602         (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
603         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
604         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
605         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
606         
607         New function to inform the delegates that the ScrollAnimator
608         is being destroyed.
609         (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
610         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
611
612 2011-02-08  Adam Barth  <abarth@webkit.org>
613
614         Reviewed by Eric Seidel.
615
616         Remove orphan code from old parser
617         https://bugs.webkit.org/show_bug.cgi?id=53984
618
619         This code appears to be unused.
620
621         * html/HTMLParserErrorCodes.cpp:
622         * html/HTMLParserErrorCodes.h:
623         * html/HTMLParserQuirks.h:
624         * loader/EmptyClients.h:
625         * page/ChromeClient.h:
626
627 2011-02-08  Martin Robinson  <mrobinson@igalia.com>
628
629         Reviewed by Gustavo Noronha Silva.
630
631         [GTK] Move scrollbar rendering out of gtk2drawing.c
632         https://bugs.webkit.org/show_bug.cgi?id=52836
633
634         Replace gtk2drawing.c scrollbar rendering with our own version. This
635         is the last use of the Mozilla theme drawing code.
636
637         No new tests. This should not change the rendering of the default
638         theme.
639
640         * platform/gtk/GtkVersioning.h: Add some more backported allocation setters.
641         * platform/gtk/RenderThemeGtk.h: Add a getter for the scrollbar widgets.
642         * platform/gtk/RenderThemeGtk2.cpp:  Initialize and add getters for scrollbar widgets.
643         (WebCore::RenderThemeGtk::platformInit): Ditto.
644         (WebCore::RenderThemeGtk::gtkHScrollbar): Ditto.
645         (WebCore::RenderThemeGtk::gtkVScrollbar): Ditto.
646         * platform/gtk/ScrollbarThemeGtk.cpp: 
647         (WebCore::ScrollbarThemeGtk::paint): We only repaint the scrolled
648         window background if we are repainting a button or the thumb. In that
649         case also repaint the track rect.
650         * platform/gtk/ScrollbarThemeGtk2.cpp: Port to WidgetRenderingContext.
651         (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Ditto.
652         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
653         (WebCore::getWidgetForScrollbar): Ditto.
654         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
655         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
656         (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
657         (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
658         * platform/gtk/WidgetRenderingContext.cpp: Ditto.
659         (WebCore::WidgetRenderingContext::gtkPaintBox): Added an option which
660         also adjusts a widget allocation according to the paint rect. This is
661         necessary to properly draw scrollbar buttons.
662         * platform/gtk/WidgetRenderingContext.h: Ditto.
663
664 2011-02-08  Simon Fraser  <simon.fraser@apple.com>
665
666         Reviewed by Dan Bernstein.
667
668         Inset shadow with large offset renders incorrectly
669         https://bugs.webkit.org/show_bug.cgi?id=53882
670         
671         Fix an issue with inset shadows, when the shadow offset
672         was larger than the box size. In this case we'd fail to
673         fill the box with the shadow color.
674
675         Test: fast/box-shadow/inset-shadow-large-offset.html
676
677         * rendering/RenderBoxModelObject.cpp:
678         (WebCore::areaCastingShadowInHole): Return a rect that covers the area
679         which contributes to the inset shadow.
680         
681         (WebCore::RenderBoxModelObject::paintBoxShadow): Use areaCastingShadowInHole()
682         to compute the outerRect.
683
684 2011-02-08  Zhenyao Mo  <zmo@google.com>
685
686         Reviewed by Kenneth Russell.
687
688         drawElements should check if a buffer is bound to ELEMENT_ARRAY_BUFFER
689         https://bugs.webkit.org/show_bug.cgi?id=54017
690
691         * html/canvas/WebGLRenderingContext.cpp:
692         (WebCore::WebGLRenderingContext::drawElements):
693
694 2011-01-28  Dimitri Glazkov  <dglazkov@chromium.org>
695
696         Reviewed by Darin Adler.
697
698         Change the rest of HTMLMediaElement shadow DOM parts to use shadowPseudoId.
699         https://bugs.webkit.org/show_bug.cgi?id=53190
700
701         This is the second part of refactoring the HTMLMediaElement to use new
702         shadow DOM. The changes are mainly mechanical, except for needing to
703         add a new method to RenderTheme, which indicates whether or not status
704         display is being used by it. Previously, we relied on existence of a cached
705         pseudo style.
706
707         Refactoring, covered by existing tests.
708
709         * css/CSSSelector.cpp:
710         (WebCore::CSSSelector::pseudoId): Removed now-unused enum values.
711         (WebCore::nameToPseudoTypeMap): Ditto.
712         (WebCore::CSSSelector::extractPseudoType): Ditto.
713         * css/CSSSelector.h: Ditto.
714         * html/shadow/MediaControls.cpp:
715         (WebCore::MediaControls::createPanel): Changed to use the newly-added MediaControlPanelElement.
716         (WebCore::MediaControls::createCurrentTimeDisplay): Changed to use the newly-added
717             MediaControlCurrentTimeDisplayElement.
718         (WebCore::MediaControls::createTimeRemainingDisplay): Changed to use the newly-added
719                 MediaControlTimeRemainingDisplayElement.
720         * rendering/MediaControlElements.cpp:
721         (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use the
722             standard style resolution.
723         (WebCore::MediaControlShadowRootElement::shadowPseudoId): Added.
724         (WebCore::MediaControlElement::MediaControlElement): Removed the switch statement
725             that is no longer necessary.
726         (WebCore::MediaControlElement::styleForElement): Changed to use the standard
727             style resolution.
728         (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added.
729         (WebCore::MediaControlPanelElement::create): Added.
730         (WebCore::MediaControlPanelElement::displayType): Added.
731         (WebCore::MediaControlPanelElement::shadowPseudoId): Added.
732         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
733             Removed PseudoId constructor arg.
734         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
735             Changed to use the newly-plumbed usesMediaControlStatusDisplay helper.
736         (WebCore::MediaControlTimelineContainerElement::displayType): Added.
737         (WebCore::MediaControlTimelineContainerElement::shadowPseudoId): Added.
738         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
739             Removed PseudoId constructor arg.
740         (WebCore::MediaControlVolumeSliderContainerElement::displayType): Added.
741         (WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId): Added.
742         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
743             Removed PseudoId constructor arg.
744         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Changed to
745             use the newly-plumbed usesMediaControlStatusDisplay helper.
746         (WebCore::MediaControlStatusDisplayElement::displayType): Added.
747         (WebCore::MediaControlStatusDisplayElement::shadowPseudoId): Added.
748         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
749             Removed PseudoId constructor arg.
750         (WebCore::MediaControlTimeRemainingDisplayElement::create): Added.
751         (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Added.
752         (WebCore::MediaControlTimeRemainingDisplayElement::displayType): Added.
753         (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Added.
754         (WebCore::MediaControlCurrentTimeDisplayElement::create): Added.
755         (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Added.
756         (WebCore::MediaControlCurrentTimeDisplayElement::displayType): Added.
757         (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Added.
758         * rendering/MediaControlElements.h: Added/changed defs accordingly.
759         * rendering/RenderTheme.h:
760         (WebCore::RenderTheme::usesMediaControlStatusDisplay): Added.
761         * rendering/RenderThemeMac.h: Added def.
762         * rendering/RenderThemeMac.mm:
763         (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Added.
764         * rendering/style/RenderStyleConstants.h: Removed now-unused enum values.
765
766 2011-02-08  Xiaomei Ji  <xji@chromium.org>
767
768         Reviewed by Dan Bernstein.
769
770         Fix pop-up button text not rendered correctly according to its direction
771         in <option>.
772         https://bugs.webkit.org/show_bug.cgi?id=53642
773  
774         In adjustInnerStyle(), if m_innerBlock's direction or unicode-bidi 
775         changes, set it needs layout.
776
777         Test: fast/text/international/pop-up-button-text-alignment-and-direction.html
778
779         * rendering/RenderMenuList.cpp:
780         (WebCore::RenderMenuList::adjustInnerStyle):
781
782 2011-02-08  Ilya Tikhonovsky  <loislo@chromium.org>
783
784         Unreviewed build fix for Qt-minimal.
785
786         * inspector/InspectorInstrumentation.h:
787         (WebCore::InspectorInstrumentation::hasFrontend):
788
789 2011-02-02  Ilya Tikhonovsky  <loislo@chromium.org>
790
791         Reviewed by Yury Semikhatsky.
792
793         Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.
794
795         https://bugs.webkit.org/show_bug.cgi?id=53169
796
797         All the Inspector API for WebCore has two parts.
798         The first one is InspectorInstrumentation for WebCore.
799         The second is InspectorController for WebKit.
800         InspectorAgent was produced by renaming original InspectorController.
801         This patch extracts WebKit related methods from InspectorAgent to InspectorController.
802
803         * WebCore.exp.in:
804         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
805         * html/HTMLDocument.cpp:
806         (WebCore::HTMLDocument::createParser):
807         * inspector/InspectorAgent.cpp:
808         (WebCore::InspectorAgent::InspectorAgent):
809         (WebCore::InspectorAgent::~InspectorAgent):
810         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
811         (WebCore::InspectorAgent::inspect):
812         (WebCore::InspectorAgent::handleMousePress):
813         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
814         (WebCore::InspectorAgent::setFrontend):
815         (WebCore::InspectorAgent::disconnectFrontend):
816         (WebCore::InspectorAgent::resourceAgent):
817         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
818         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
819         (WebCore::InspectorAgent::populateScriptObjects):
820         (WebCore::InspectorAgent::pushDataCollectedOffline):
821         (WebCore::InspectorAgent::restoreProfiler):
822         (WebCore::InspectorAgent::startTimelineProfiler):
823         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
824         (WebCore::InspectorAgent::didOpenDatabase):
825         (WebCore::InspectorAgent::didUseDOMStorage):
826         (WebCore::InspectorAgent::showAndEnableDebugger):
827         (WebCore::InspectorAgent::enableDebugger):
828         (WebCore::InspectorAgent::enabled):
829         * inspector/InspectorAgent.h:
830         (WebCore::InspectorAgent::frontend):
831         * inspector/InspectorController.cpp:
832         (WebCore::InspectorController::InspectorController):
833         (WebCore::InspectorController::~InspectorController):
834         (WebCore::InspectorController::setInspectorFrontendClient):
835         (WebCore::InspectorController::hasInspectorFrontendClient):
836         (WebCore::InspectorController::didClearWindowObjectInWorld):
837         (WebCore::InspectorController::startTimelineProfiler):
838         (WebCore::InspectorController::stopTimelineProfiler):
839         (WebCore::InspectorController::connectFrontend):
840         (WebCore::InspectorController::disconnectFrontend):
841         (WebCore::InspectorController::disconnectFrontendImpl):
842         (WebCore::InspectorController::show):
843         (WebCore::InspectorController::close):
844         (WebCore::InspectorController::restoreInspectorStateFromCookie):
845         (WebCore::InspectorController::evaluateForTestInFrontend):
846         (WebCore::InspectorController::drawNodeHighlight):
847         (WebCore::InspectorController::inspect):
848         (WebCore::InspectorController::enabled):
849         (WebCore::InspectorController::showPanel):
850         (WebCore::InspectorController::frontendLoaded):
851         (WebCore::InspectorController::timelineProfilerEnabled):
852         (WebCore::InspectorController::enableProfiler):
853         (WebCore::InspectorController::disableProfiler):
854         (WebCore::InspectorController::profilerEnabled):
855         (WebCore::InspectorController::debuggerEnabled):
856         (WebCore::InspectorController::showAndEnableDebugger):
857         (WebCore::InspectorController::disableDebugger):
858         (WebCore::InspectorController::startUserInitiatedProfiling):
859         (WebCore::InspectorController::stopUserInitiatedProfiling):
860         (WebCore::InspectorController::isRecordingUserInitiatedProfile):
861         (WebCore::InspectorController::setInspectorExtensionAPI):
862         (WebCore::InspectorController::resume):
863         (WebCore::InspectorController::hideHighlight):
864         (WebCore::InspectorController::dispatchMessageFromFrontend):
865         * inspector/InspectorController.h:
866         (WebCore::InspectorController::inspectorClient):
867         (WebCore::InspectorController::inspectedPage):
868         (WebCore::InspectorController::hasFrontend):
869         * inspector/InspectorFrontendClientLocal.cpp:
870         (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
871         * inspector/InspectorFrontendHost.cpp:
872         (WebCore::InspectorFrontendHost::setExtensionAPI):
873         * inspector/InspectorInstrumentation.cpp:
874         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
875         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
876         * inspector/InspectorInstrumentation.h:
877         (WebCore::InspectorInstrumentation::hasFrontend):
878         * loader/FrameLoader.cpp:
879         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
880
881 2011-02-08  George Wright  <gwright@rim.com>
882
883         Reviewed by Adam Barth.
884
885         https://bugs.webkit.org/show_bug.cgi?id=53949
886
887         Ensure that we pack the colour byte order correctly for Skia using
888         Skia's SkPackARGB32 function.
889
890         * platform/image-decoders/ImageDecoder.h:
891         (WebCore::ImageFrame::setRGBA):
892
893 2011-02-08  George Wright  <gwright@rim.com>
894
895         Reviewed by Darin Adler.
896
897         https://bugs.webkit.org/show_bug.cgi?id=53951
898
899         Ensure we do not pass (-1, -1) sized rects to ImageBuffer but instead
900         pass the full image dimensions.
901
902         * platform/graphics/GraphicsContext.cpp:
903         (WebCore::GraphicsContext::drawImageBuffer):
904
905 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
906
907         Reviewed by Adam Roben.
908
909         [WIN] Add missing includes and forward declarations for DownloadBundle
910         https://bugs.webkit.org/show_bug.cgi?id=53881
911
912         * platform/network/cf/DownloadBundle.h:
913         * platform/network/win/DownloadBundleWin.cpp:
914         (WebCore::DownloadBundle::appendResumeData):
915
916 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
917
918         Reviewed by Adam Roben.
919
920         [WIN] Add missing include in WKCAImageQueue
921         https://bugs.webkit.org/show_bug.cgi?id=53890
922
923         * platform/graphics/win/WKCAImageQueue.cpp:
924
925 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
926
927         Reviewed by Adam Roben.
928
929         [WIN] Add missing includes and forward declarations for CFNetwork
930         https://bugs.webkit.org/show_bug.cgi?id=53883
931
932         * platform/network/cf/DNSCFNet.cpp:
933         * platform/network/cf/LoaderRunLoopCF.cpp:
934         * platform/network/cf/LoaderRunLoopCF.h:
935         * platform/network/cf/ProxyServerCFNet.cpp:
936         * platform/network/cf/SocketStreamHandle.h:
937         * platform/network/cf/SocketStreamHandleCFNet.cpp:
938
939 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
940
941         Unreviewed WinCE build fix for r77870.
942
943         * platform/DragImage.cpp: Enable createDragImageForLink for WinCE.
944
945 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
946
947         Reviewed by Yury Semikhatsky.
948
949         Web Inspector: open network resource url in new tab upon double click.
950         https://bugs.webkit.org/show_bug.cgi?id=53930
951
952         * inspector/front-end/NetworkPanel.js:
953         (WebInspector.NetworkDataGridNode.prototype.createCells):
954         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
955
956 2011-02-08  Yonathan Randolph  <yonathan@gmail.com>
957
958         Reviewed by Pavel Feldman.
959
960         Web Inspector: $x: any node should work in optional context parameter.
961         https://bugs.webkit.org/show_bug.cgi?id=50138
962
963         * inspector/InjectedScriptSource.js:
964
965 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
966
967         Unreviewed WinCE build fix for r77870.
968
969         Remove the global namespace prefix from GlobalLock/GlobalUnlock.
970
971         * platform/win/ClipboardUtilitiesWin.cpp:
972
973 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
974
975         Not reviewed: re-apply r77924.
976
977         Test: inspector/console-api-on-call-frame.html
978
979         * inspector/InjectedScriptSource.js:
980         * inspector/front-end/ExtensionServer.js:
981         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
982
983 2011-02-08  Andreas Kling  <kling@webkit.org>
984
985         Reviewed by Tor Arne Vestbø.
986
987         REGRESSION(r77312): Unbreak TiledBackingStore.
988
989         Due to an off-by-one error, we were no longer rendering the
990         rightmost column and bottom row of tiles.
991
992         Covered by tst_QGraphicsWebView::widgetsRenderingThroughCache().
993
994         * platform/graphics/TiledBackingStore.cpp:
995         (WebCore::TiledBackingStore::invalidate):
996         (WebCore::TiledBackingStore::updateTileBuffers):
997         (WebCore::TiledBackingStore::paint):
998         (WebCore::TiledBackingStore::createTiles):
999
1000 2011-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1001
1002         Unreviewed, rolling out r77924.
1003         http://trac.webkit.org/changeset/77924
1004         https://bugs.webkit.org/show_bug.cgi?id=53997
1005
1006         Breaks inspector tests. (Requested by pfeldman on #webkit).
1007
1008         * inspector/InjectedScriptSource.js:
1009         (.):
1010         ():
1011
1012 2011-02-08  Andrey Kosyakov  <caseq@chromium.org>
1013
1014         Reviewed by Pavel Feldman.
1015
1016         Web Inspector: [refacotring] merge InspectorAgent::willSendRequest() into InspectorResourceAgent
1017         https://bugs.webkit.org/show_bug.cgi?id=53789
1018          - perform UserAgent override via InspectorInstrumentation
1019          - move adding extra request headers to InspectorResourceAgent
1020          - simplified things in InspectorState
1021
1022         * inspector/Inspector.idl:
1023         * inspector/InspectorAgent.cpp:
1024         (WebCore::InspectorAgent::disconnectFrontend):
1025         (WebCore::InspectorAgent::applyUserAgentOverride):
1026         * inspector/InspectorAgent.h:
1027         * inspector/InspectorInstrumentation.cpp:
1028         (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
1029         (WebCore::InspectorInstrumentation::willSendRequestImpl):
1030         * inspector/InspectorInstrumentation.h:
1031         (WebCore::InspectorInstrumentation::applyUserAgentOverride):
1032         * inspector/InspectorResourceAgent.cpp:
1033         (WebCore::InspectorResourceAgent::setExtraHeaders):
1034         (WebCore::InspectorResourceAgent::willSendRequest):
1035         * inspector/InspectorResourceAgent.h:
1036         * inspector/InspectorState.cpp:
1037         (WebCore::InspectorState::InspectorState):
1038         (WebCore::InspectorState::restoreFromInspectorCookie):
1039         (WebCore::InspectorState::updateCookie):
1040         (WebCore::InspectorState::setValue):
1041         (WebCore::InspectorState::getBoolean):
1042         (WebCore::InspectorState::getString):
1043         (WebCore::InspectorState::getLong):
1044         (WebCore::InspectorState::getObject):
1045         * inspector/InspectorState.h:
1046         (WebCore::InspectorState::setObject):
1047         * loader/FrameLoader.cpp:
1048         (WebCore::FrameLoader::userAgent):
1049
1050 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
1051
1052         Reviewed by Yury Semikhatsky.
1053
1054         Web Inspector: do not hide scope variables with command line api.
1055         https://bugs.webkit.org/show_bug.cgi?id=53497
1056
1057         Test: inspector/console-api-on-call-frame.html
1058
1059         * inspector/InjectedScriptSource.js:
1060
1061 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
1062
1063         Reviewed by Yury Semikhatsky.
1064
1065         Web Inspector: ignore cache upon reload via Ctrl(Cmd)+Shift+R.
1066         https://bugs.webkit.org/show_bug.cgi?id=53914
1067
1068         * inspector/Inspector.idl:
1069         * inspector/InspectorAgent.cpp:
1070         (WebCore::InspectorAgent::reloadPage):
1071         * inspector/InspectorAgent.h:
1072         * inspector/front-end/AuditsPanel.js:
1073         (WebInspector.AuditsPanel.prototype._reloadResources):
1074         * inspector/front-end/ExtensionServer.js:
1075         (WebInspector.ExtensionServer.prototype._onReload):
1076         * inspector/front-end/inspector.js:
1077         (WebInspector.documentKeyDown):
1078
1079 2011-02-08  Antti Koivisto  <antti@apple.com>
1080
1081         Reviewed by Cameron Zwarich.
1082
1083         Skip over sibling selectors when collecting descendant selector hashes 
1084         https://bugs.webkit.org/show_bug.cgi?id=53987
1085         
1086         Skip instead of bailing out. This will allow optimizing some sibling selector cases.
1087
1088         * css/CSSStyleSelector.cpp:
1089         (WebCore::RuleData::RuleData):
1090         (WebCore::RuleData::collectIdentifierHashes):
1091         (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
1092         * css/CSSStyleSelector.h:
1093
1094 2011-02-07  Cris Neckar  <cdn@chromium.org>
1095
1096         Reviewed by Jian Li.
1097
1098         Fix null deref in DOMURL
1099         https://bugs.webkit.org/show_bug.cgi?id=53811
1100
1101         Test: fast/files/domurl-script-execution-context-crash.html
1102
1103         * html/DOMURL.cpp:
1104         (WebCore::DOMURL::DOMURL):
1105
1106 2011-02-07  Mark Rowe  <mrowe@apple.com>
1107
1108         Fix the 32-bit build.
1109
1110         * platform/mac/ScrollAnimatorMac.mm:
1111         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): Remove some extraneous characters.
1112         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): Ditto.
1113
1114 2011-02-07  Xiyuan Xia  <xiyuan@chromium.org>
1115
1116         Reviewed by Tony Chang.
1117
1118         [Chromium] Select popup box does not align with select button when appearance is not "menulist".
1119         https://bugs.webkit.org/show_bug.cgi?id=53942
1120
1121         Added manual test select_webkit_appearance_off_popup_alignment.html.
1122
1123         * manual-tests/select_webkit_appearance_off_popup_alignment.html: Added.
1124         * platform/chromium/PopupMenuChromium.cpp:
1125         (WebCore::PopupListBox::layout):
1126
1127 2011-02-07  Aparna Nandyal  <aparna.nand@wipro.com>
1128
1129         Reviewed by Andreas Kling.
1130
1131         [Qt] - Context menu needs "Copy" as well when the selected text is a link.
1132         https://bugs.webkit.org/show_bug.cgi?id=40983
1133
1134         Added copy option for Qt platform if selection is a link. 
1135         Added a test in tst_qwebpage.cpp. 
1136
1137         * page/ContextMenuController.cpp:
1138         (WebCore::ContextMenuController::populate):
1139
1140 2011-02-07  Mike Reed  <reed@google.com>
1141
1142         Reviewed by Kenneth Russell.
1143
1144         Add compile-time flag ENABLE(SKIA_GPU) to use Skia's gpu backend
1145         when drawing <canvas>. Disabled by default.
1146
1147         No new tests. existing canvas layouttests apply
1148
1149         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1150         (WebCore::DrawingBuffer::publishToPlatformLayer):
1151         * platform/graphics/skia/PlatformContextSkia.cpp:
1152         (WebCore::GetGlobalGrContext):
1153         (WebCore::PlatformContextSkia::isPrinting):
1154         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
1155         (WebCore::PlatformContextSkia::syncSoftwareCanvas):
1156
1157 2011-02-07  Jay Civelli  <jcivelli@chromium.org>
1158
1159         Reviewed by Darin Fisher.
1160
1161         Removing unused code from PopupMenuChromium.
1162         https://bugs.webkit.org/show_bug.cgi?id=53866
1163
1164        * platform/chromium/PopupMenuChromium.cpp:
1165         (WebCore::PopupListBox::layout):
1166         (WebCore::PopupMenuChromium::show):
1167         * platform/chromium/PopupMenuChromium.h:
1168
1169 2011-02-07  Kenichi Ishibashi  <bashi@chromium.org>
1170
1171         Reviewed by Andreas Kling.
1172
1173         HTMLOutputElement::childrenChanged() should call its base class childrenChanged()
1174         https://bugs.webkit.org/show_bug.cgi?id=53791
1175
1176         Calls HTMLFormControlElement::childrenChanged() in HTMLOutputElement::childrenChanged().
1177
1178         Test: fast/dom/HTMLOutputElement/htmloutputelement-children-removed.html
1179
1180         * html/HTMLOutputElement.cpp:
1181         (WebCore::HTMLOutputElement::childrenChanged): Calls super class's
1182         childrenChanged().
1183
1184 2011-02-07  Benjamin Poulain  <ikipou@gmail.com>
1185
1186         Reviewed by Kenneth Rohde Christiansen.
1187
1188         [Qt] cookiesEnabled could create the cookieJar on the wrong thread.
1189         https://bugs.webkit.org/show_bug.cgi?id=52289
1190
1191         Use the QtNAMThreadSafeProxy to make sure the cookie jar is created
1192         in the same thread as the QNetworkAccessManager.
1193
1194         * platform/network/qt/QtNAMThreadSafeProxy.cpp:
1195         (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
1196         (WebCore::QtNAMThreadSafeProxy::hasCookieJar):
1197         * platform/network/qt/QtNAMThreadSafeProxy.h:
1198         * platform/qt/CookieJarQt.cpp:
1199         (WebCore::cookiesEnabled):
1200
1201 2011-02-07  Alexey Marinichev  <amarinichev@chromium.org>
1202
1203         Reviewed by Kenneth Russell.
1204
1205         Hook up WebGraphicsContext3D::setContextLostCallback.
1206         https://bugs.webkit.org/show_bug.cgi?id=53722
1207
1208         Test: fast/canvas/webgl/context-lost.html, comment out the line with
1209         extension.loseContext() and kill the GPU process "Lose context"
1210         message shows up.
1211
1212         * html/canvas/WebGLRenderingContext.cpp:
1213         (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
1214         (WebCore::WebGLRenderingContextLostCallback::onContextLost):
1215         (WebCore::WebGLRenderingContextLostCallback::~WebGLRenderingContextLostCallback):
1216         (WebCore::WebGLRenderingContext::initializeNewContext):
1217         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
1218         * platform/graphics/GraphicsContext3D.h:
1219         (WebCore::GraphicsContext3D::ContextLostCallback::~ContextLostCallback):
1220         * platform/graphics/mac/GraphicsContext3DMac.mm:
1221         (WebCore::GraphicsContext3D::setContextLostCallback): stub
1222         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1223         (WebCore::GraphicsContext3D::setContextLostCallback): stub
1224
1225 2011-02-07  Patrick Gansterer  <paroga@webkit.org>
1226
1227         Reviewed by Eric Seidel.
1228
1229         Add missing PaintInfo include in RenderThemeWin.cpp
1230         https://bugs.webkit.org/show_bug.cgi?id=53885
1231
1232         * rendering/RenderThemeWin.cpp:
1233
1234 2011-02-07  Qi Zhang  <qi.2.zhang@nokia.com>
1235
1236         Reviewed by Andreas Kling.
1237
1238         [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
1239         https://bugs.webkit.org/show_bug.cgi?id=52974
1240
1241         Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
1242
1243         * page/ContextMenuController.cpp:
1244         (WebCore::ContextMenuController::contextMenuItemSelected):
1245         (WebCore::ContextMenuController::populate):
1246         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
1247         * platform/ContextMenuItem.h:
1248         * platform/LocalizationStrategy.h:
1249         * platform/LocalizedStrings.cpp:
1250         (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
1251         * platform/LocalizedStrings.h:
1252
1253 2011-02-07  Kenichi Ishibashi  <bashi@chromium.org>
1254
1255         Reviewed by Kent Tamura.
1256
1257         HTMLFormElement::formElementIndex() returns a bad index into a vector of form associated elements
1258         https://bugs.webkit.org/show_bug.cgi?id=53970
1259
1260         Adds HTMLObjectElement::virtualForm() to make HTMLObjectElement::form()
1261         return the right value.
1262
1263         Test: fast/dom/HTMLObjectElement/form/nested-form-element.html
1264
1265         * html/HTMLObjectElement.cpp:
1266         (WebCore::HTMLObjectElement::virtualForm): Added.
1267         * html/HTMLObjectElement.h: Added virtualForm().
1268
1269 2011-02-07  Ryosuke Niwa  <rniwa@webkit.org>
1270
1271         Unreviewed Leopard build fix.
1272
1273         * WebCore.xcodeproj/project.pbxproj: let XCode have developmentRegion.
1274         * platform/mac/DragImageMac.mm:
1275         (WebCore::webkit_CGCeiling): Cast the return value of ceil to CGFloat.
1276
1277 2011-02-07  Enrica Casucci  <enrica@apple.com>
1278
1279         Reviewed by Sam Weinig.
1280
1281         Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
1282
1283         When moving code from WebKit to WebCore we needed to move some additional
1284         functions previously in NSStringExtras.
1285         
1286         * WebCore.xcodeproj/project.pbxproj:
1287         * platform/mac/DragImageMac.mm:
1288         (WebCore::fontFromNSFont):
1289         (WebCore::canUseFastRenderer):
1290         (WebCore::widthWithFont):
1291         (WebCore::webkit_CGCeiling):
1292         (WebCore::drawAtPoint):
1293         (WebCore::drawDoubledAtPoint):
1294         (WebCore::createDragImageForLink):
1295
1296 2011-02-07  Lucas Forschler  <lforschler@apple.com>
1297
1298         Reviewed by Geoff Garen.
1299
1300         Tr #2, Fix the Leopard 32bit debug build.
1301         
1302         No new tests required.
1303
1304         * WebCore.xcodeproj/project.pbxproj:
1305         * accessibility/AccessibilityAllInOne.cpp:
1306
1307 2011-02-07  Beth Dakin  <bdakin@apple.com>
1308
1309         Reviewed by Sam Weinig.
1310
1311         Fix for <rdar://problem/8946961> Fix repaint problems
1312         with WKScrollbarPainter scrollers while resizing the window
1313
1314         Remove setPainterForPainterController() and 
1315         removePainterFromPainterController() since they aren't
1316         used anymore.
1317         * platform/mac/ScrollAnimatorMac.h:
1318         
1319         Return early if they alpha hasn't changed.
1320         * platform/mac/ScrollAnimatorMac.mm:
1321         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
1322         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
1323         
1324         If we're in a live resize, restore alpha to 1.
1325         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1326         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1327
1328 2011-02-07  Beth Dakin  <bdakin@apple.com>
1329
1330         Reviewed by Eric Seidel.
1331
1332         Fix for https://bugs.webkit.org/show_bug.cgi?id=53950
1333         USE_WK_SCROLLBAR_PAINTER in ScrollbarThemeMac should be in
1334         Platform.h instead
1335
1336         Use hot new USE(WK_SCROLLBAR_PAINTER) from Platform.h rather
1337         than the silly, old in-file #define.
1338
1339         * platform/mac/ScrollbarThemeMac.mm:
1340         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
1341         (WebCore::updateArrowPlacement):
1342         (WebCore::ScrollbarThemeMac::registerScrollbar):
1343         (WebCore::ScrollbarThemeMac::scrollbarThickness):
1344         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
1345         (WebCore::ScrollbarThemeMac::hasThumb):
1346         (WebCore::ScrollbarThemeMac::minimumThumbLength):
1347         (WebCore::ScrollbarThemeMac::paint):
1348
1349 2011-02-07  Enrica Casucci  <enrica@apple.com>
1350
1351         Reviewed Adam Roben and Darin Adler.
1352
1353         WebKit2: drag and drop support on Windows.
1354         https://bugs.webkit.org/show_bug.cgi?id=52775
1355         <rdar://problem/8514409>
1356
1357         * loader/EmptyClients.h: Removed createDragImageFromLink.
1358         * page/DragClient.h: Ditto.
1359         * page/DragController.cpp:
1360         (WebCore::DragController::startDrag): changed call to createDragImageFromLink.
1361         * platform/DragImage.h:
1362         * platform/mac/DragImageMac.mm:
1363         (WebCore::createDragImageForLink): Moved from DragClient.
1364         * platform/win/ClipboardUtilitiesWin.cpp: Added a series of functions
1365         to de-serialize the drag data from the map into an IDataObject.
1366         (WebCore::getWebLocData):
1367         (WebCore::texthtmlFormat):
1368         (WebCore::createGlobalData):
1369         (WebCore::getFullCFHTML):
1370         (WebCore::urlWFormat):
1371         (WebCore::urlFormat):
1372         (WebCore::filenameWFormat):
1373         (WebCore::filenameFormat):
1374         (WebCore::htmlFormat):
1375         (WebCore::smartPasteFormat):
1376         (WebCore::getURL):
1377         (WebCore::getPlainText):
1378         (WebCore::getTextHTML):
1379         (WebCore::ClipboardDataItem::ClipboardDataItem):
1380         (WebCore::getStringData):
1381         (WebCore::getUtf8Data):
1382         (WebCore::getCFData):
1383         (WebCore::setUCharData):
1384         (WebCore::setCharData):
1385         (WebCore::setCFData):
1386         (WebCore::getClipboardMap):
1387         (WebCore::getClipboardData):
1388         (WebCore::setClipboardData):
1389         * platform/win/ClipboardUtilitiesWin.h:
1390         * platform/win/DragImageWin.cpp: Moved createDragImageForLink from DragClient
1391         to a platform specific file in WebCore. It makes a lot more sense here, since
1392         the drag image is always created in WebCore for all the other content types
1393         except for links.
1394         (WebCore::dragLabelFont):
1395         (WebCore::createDragImageForLink):
1396         * platform/win/WCDataObject.cpp: Added new way to
1397         construct a WCDataObject from a DragDataMap.
1398         (WebCore::WCDataObject::createInstance):
1399         (WebCore::WCDataObject::clearData):
1400         * platform/win/WCDataObject.h:
1401
1402 2011-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1403
1404         Unreviewed, rolling out r77848.
1405         http://trac.webkit.org/changeset/77848
1406         https://bugs.webkit.org/show_bug.cgi?id=53963
1407
1408         caused 6 test failures (Requested by othermaciej on #webkit).
1409
1410         * rendering/RenderBlockLineLayout.cpp:
1411         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1412
1413 2011-02-04  Kenneth Russell  <kbr@google.com>
1414
1415         Reviewed by James Robinson.
1416
1417         Add shaders for GPU accelerated path rendering
1418         https://bugs.webkit.org/show_bug.cgi?id=45520
1419
1420         Refactored SolidFillShader and TexShader to call new
1421         generateVertex() and generateFragment() methods on base Shader
1422         class, and added support for the Loop/Blinn shaders. Refactored
1423         Loop/Blinn shader classes to derive from Shader.
1424
1425         Tested these changes with several of the IE9 Testdrive demos with
1426         accelerated 2D canvas enabled, as well as a full layout test run
1427         with --platform chromium-gpu.
1428
1429         * platform/graphics/gpu/LoopBlinnShader.cpp: Added.
1430         (WebCore::LoopBlinnShader::LoopBlinnShader):
1431         (WebCore::LoopBlinnShader::use):
1432         * platform/graphics/gpu/LoopBlinnShader.h: Added.
1433         * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: Added.
1434         (WebCore::LoopBlinnSolidFillShader::create):
1435         (WebCore::LoopBlinnSolidFillShader::LoopBlinnSolidFillShader):
1436         (WebCore::LoopBlinnSolidFillShader::use):
1437         * platform/graphics/gpu/LoopBlinnSolidFillShader.h: Added.
1438         * platform/graphics/gpu/Shader.cpp:
1439         (WebCore::Shader::affineTo4x4):
1440         (WebCore::Shader::loadShader):
1441         (WebCore::Shader::loadProgram):
1442         (WebCore::Shader::generateVertex):
1443         (WebCore::Shader::generateFragment):
1444         * platform/graphics/gpu/Shader.h:
1445         * platform/graphics/gpu/SolidFillShader.cpp:
1446         (WebCore::SolidFillShader::create):
1447         * platform/graphics/gpu/TexShader.cpp:
1448         (WebCore::TexShader::TexShader):
1449         (WebCore::TexShader::create):
1450
1451 2011-02-07  Dan Bernstein  <mitz@apple.com>
1452
1453         Reviewed by Oliver Hunt.
1454
1455         <rdar://problem/8946023> REGRESSION (r76674): SVG + BiDi text broken (text-intro-05-t.svg)
1456         https://bugs.webkit.org/show_bug.cgi?id=53480
1457
1458         * WebCore.xcodeproj/project.pbxproj:
1459         * platform/graphics/mac/ComplexTextController.cpp:
1460         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): m_indexEnd should be an
1461         offset into m_characters, not into the run’s characters.
1462         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
1463         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.
1464
1465 2011-02-07  Sam Weinig  <sam@webkit.org>
1466
1467         Reviewed by Anders Carlsson.
1468
1469         Add bundle API to get the background color of a frame
1470         <rdar://problem/8962670>
1471         https://bugs.webkit.org/show_bug.cgi?id=53952
1472
1473         * WebCore.exp.in: Add export.
1474
1475 2011-02-07  Geoffrey Garen  <ggaren@apple.com>
1476
1477         Reviewed by Darin Adler.
1478
1479         Assertion failure in ~JSGlobalObject when loading apple.com HTML5
1480         transitions demo page
1481         https://bugs.webkit.org/show_bug.cgi?id=53853
1482
1483         This was a long-standing bookkeeping bug uncovered by some heap refactoring.
1484
1485         * html/HTMLCanvasElement.cpp:
1486         (WebCore::HTMLCanvasElement::createImageBuffer):
1487         * html/HTMLImageLoader.cpp:
1488         (WebCore::HTMLImageLoader::notifyFinished):
1489         * xml/XMLHttpRequest.cpp:
1490         (WebCore::XMLHttpRequest::dropProtection): Take the JSLock before
1491         reporting extra cost to the JavaScriptCore heap, since all use of
1492         JavaScriptCore is supposed to be guarded by JSLock.
1493
1494 2011-02-07  Jian Li  <jianli@chromium.org>
1495
1496         Reviewed by David Levin.
1497
1498         Intermittent crash in fast/files/read-blob-async.html on the GTK+ debug
1499         bots
1500         https://bugs.webkit.org/show_bug.cgi?id=53104
1501
1502         Covered by the existing tests.
1503
1504         * fileapi/FileStreamProxy.cpp:
1505         (WebCore::FileStreamProxy::startOnFileThread):
1506         * platform/network/BlobRegistryImpl.cpp:
1507         (WebCore::BlobRegistryImpl::createResourceHandle):
1508         * platform/network/BlobResourceHandle.cpp:
1509         (WebCore::BlobResourceHandle::BlobResourceHandle):
1510         (WebCore::BlobResourceHandle::cancel):
1511         (WebCore::delayedStartBlobResourceHandle):
1512         (WebCore::BlobResourceHandle::start): Keep BlobResourceHandle alive
1513         till the delay function is called.
1514         (WebCore::BlobResourceHandle::doStart):
1515         (WebCore::doNotifyFinish):
1516         (WebCore::BlobResourceHandle::notifyFinish): Notify the client via the
1517         standalone function to prevent the handle from being disposed immediately
1518         by the client which will make the calls in the stack that're still bound
1519         to the handle suffer.
1520         * platform/network/BlobResourceHandle.h:
1521         * platform/network/ResourceHandle.h: Change cancel() to virtual so that
1522         BlobResourceHandle::cancel will be called when we abort a FileReader.
1523
1524 2011-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1525
1526         Unreviewed, rolling out r77845.
1527         http://trac.webkit.org/changeset/77845
1528         https://bugs.webkit.org/show_bug.cgi?id=53946
1529
1530         build failure (Requested by lforschler_ on #webkit).
1531
1532         * WebCore.xcodeproj/project.pbxproj:
1533         * accessibility/AccessibilityAllInOne.cpp:
1534
1535 2011-02-07  Darin Adler  <darin@apple.com>
1536
1537         https://bugs.webkit.org/show_bug.cgi?id=53939
1538         fast/css/text-overflow-ellipsis.html failure after r77818/77819
1539
1540         * platform/text/TextCodecICU.cpp:
1541         (WebCore::TextCodecICU::registerExtendedEncodingNames):
1542         Add back the "utf8" synonym for "UTF-8".
1543
1544 2011-02-07  David Hyatt  <hyatt@apple.com>
1545
1546         Reviewed by Dan Bernstein.
1547
1548         Remove an unnecessary extra computeLogicalWidth() from line layout.
1549
1550         * rendering/RenderBlockLineLayout.cpp:
1551         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1552
1553 2011-02-07  Lucas Forschler  <lforschler@apple.com>
1554
1555         Reviewed by Geoffrey Garen.
1556
1557         Fix Leopard Intel Debug Build.
1558         <rdar://problem/8953606> REGRESSION: Can't link WebCore on 32-bit Leopard (53681)
1559         This could potentially break windows, since I had to change #include <filename> to #include "filename"
1560         
1561         * WebCore.xcodeproj/project.pbxproj:
1562         * accessibility/AccessibilityAllInOne.cpp:
1563
1564 2011-02-07  Sam Weinig  <sam@webkit.org>
1565
1566         Fix build.
1567
1568         * platform/mac/ScrollAnimatorMac.mm:
1569         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1570         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
1571         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1572         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
1573
1574 2011-02-07  Sam Weinig  <sam@webkit.org>
1575
1576         Reviewed by Beth Dakin.
1577
1578         Add mechanism to inform the ScrollAnimator when Scrollbars are added 
1579         and removed.
1580
1581         * platform/ScrollAnimator.h:
1582         (WebCore::ScrollAnimator::didAddVerticalScrollbar):
1583         (WebCore::ScrollAnimator::willRemoveVerticalScrollbar):
1584         (WebCore::ScrollAnimator::didAddHorizontalScrollbar):
1585         (WebCore::ScrollAnimator::willRemoveHorizontalScrollbar):
1586         Make virtual to allow platform specific overrides.
1587
1588         * platform/ScrollView.cpp:
1589         (WebCore::ScrollView::setHasHorizontalScrollbar):
1590         (WebCore::ScrollView::setHasVerticalScrollbar):
1591         Call new ScrollableArea functions.
1592
1593         * platform/ScrollableArea.cpp:
1594         (WebCore::ScrollableArea::didAddVerticalScrollbar):
1595         (WebCore::ScrollableArea::willRemoveVerticalScrollbar):
1596         (WebCore::ScrollableArea::didAddHorizontalScrollbar):
1597         (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
1598         * platform/ScrollableArea.h:
1599         Pipe to ScrollAnimator.
1600
1601         * platform/mac/ScrollAnimatorMac.h:
1602         * platform/mac/ScrollAnimatorMac.mm:
1603         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1604         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
1605         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1606         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
1607         * platform/mac/ScrollbarThemeMac.h:
1608         * platform/mac/ScrollbarThemeMac.mm:
1609         (WebCore::ScrollbarThemeMac::registerScrollbar):
1610         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1611         (WebCore::ScrollbarThemeMac::painterForScrollbar):
1612         Move painter delegate registration to the new didAdd/willRemove functions.
1613
1614 2011-02-07  Anders Carlsson  <andersca@apple.com>
1615
1616         Reviewed by Dan Bernstein.
1617
1618         Missing text match markers with accelerated content
1619         https://bugs.webkit.org/show_bug.cgi?id=53934
1620
1621         When doing the fake paint that recomputes the text match rects, we need to
1622         flatten compositing layers, otherwise the rects won't be updated until the next paint call.
1623
1624         (This worked by accident in WebKit1 because Safari calls -[NSWindow displayIfNeeded] on the containing
1625         window before asking for the text match rects).
1626
1627         * editing/Editor.cpp:
1628         (WebCore::Editor::countMatchesForText):
1629
1630 2011-02-07  Antti Koivisto  <antti@apple.com>
1631
1632         Reviewed by Andreas Kling.
1633
1634         REGRESSION(r77740): CSSStyleSelector accessing deleted memory for svg/dom/use-transform.svg
1635         https://bugs.webkit.org/show_bug.cgi?id=53900
1636         
1637         Ignore link elements in shadow trees.
1638
1639         * dom/Element.cpp:
1640         (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
1641         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
1642                 
1643             Some asserts to catch cases like this.
1644
1645         (WebCore::Element::attach):
1646         (WebCore::Element::recalcStyle):
1647         * html/HTMLLinkElement.cpp:
1648         (WebCore::HTMLLinkElement::HTMLLinkElement):
1649         (WebCore::HTMLLinkElement::process):
1650         (WebCore::HTMLLinkElement::insertedIntoDocument):
1651         (WebCore::HTMLLinkElement::removedFromDocument):
1652         * html/HTMLLinkElement.h:
1653
1654 2011-02-07  Darin Adler  <darin@apple.com>
1655
1656         Turn UTF-8 decoder off for now so we can look into failing tests
1657         without leaving the tree red.
1658
1659         * platform/text/TextCodecICU.cpp:
1660         (WebCore::TextCodecICU::registerBaseEncodingNames): Reverting
1661         earlier change so this can handle UTF-8.
1662         (WebCore::TextCodecICU::registerBaseCodecs): Ditto.
1663         (WebCore::TextCodecICU::registerExtendedEncodingNames): Ditto.
1664         (WebCore::TextCodecICU::registerExtendedCodecs): Ditto.
1665         * platform/text/TextCodecICU.h: Ditto.
1666         * platform/text/TextEncodingRegistry.cpp:
1667         (WebCore::buildBaseTextCodecMaps): Ditto.
1668         (WebCore::extendTextCodecMaps): Ditto.
1669         * platform/text/brew/TextCodecBrew.cpp:
1670         (WebCore::TextCodecBrew::registerBaseEncodingNames): Ditto.
1671         (WebCore::TextCodecBrew::registerBaseCodecs): Ditto.
1672         (WebCore::TextCodecBrew::registerExtendedEncodingNames): Ditto.
1673         (WebCore::TextCodecBrew::registerExtendedCodecs): Ditto.
1674         * platform/text/brew/TextCodecBrew.h: Ditto.
1675         * platform/text/gtk/TextCodecGtk.cpp:
1676         (WebCore::TextCodecGtk::registerBaseEncodingNames): Ditto.
1677         (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
1678         * platform/text/wince/TextCodecWinCE.cpp:
1679         (WebCore::TextCodecWinCE::registerBaseEncodingNames): Ditto.
1680         (WebCore::TextCodecWinCE::registerBaseCodecs): Ditto.
1681         (WebCore::TextCodecWinCE::registerExtendedEncodingNames): Ditto.
1682         (WebCore::TextCodecWinCE::registerExtendedCodecs): Ditto.
1683         * platform/text/wince/TextCodecWinCE.h: Ditto.
1684
1685 2011-02-07  Anders Carlsson  <andersca@apple.com>
1686
1687         Reviewed by Maciej Stachowiak.
1688
1689         Don't exclude overlay scrollers from the page overlay bounds
1690         https://bugs.webkit.org/show_bug.cgi?id=53924
1691
1692         Export ScrollbarTheme::nativeTheme.
1693
1694         * WebCore.exp.in:
1695
1696 2011-02-07  Zhenyao Mo  <zmo@google.com>
1697
1698         Reviewed by Kenneth Russell.
1699
1700         Crash in glDrawArrays with NaCl crystal model
1701         https://bugs.webkit.org/show_bug.cgi?id=52831
1702
1703         * html/canvas/WebGLRenderingContext.cpp: Allocate large enough buffer for atttrib0 if it's enabled and not used.
1704         (WebCore::WebGLRenderingContext::initVertexAttrib0):
1705         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
1706         * html/canvas/WebGLRenderingContext.h:
1707
1708 2011-02-07  Chris Fleizach  <cfleizach@apple.com>
1709
1710         Reviewed by Darin Adler.
1711
1712         WAI-ARIA @aria-sort not exposed on rowheader and columnheader roles.
1713         https://bugs.webkit.org/show_bug.cgi?id=53842
1714
1715         Test: platform/mac/accessibility/aria-sort.html
1716
1717         * accessibility/AccessibilityObject.cpp:
1718         (WebCore::AccessibilityObject::sortDirection):
1719         * accessibility/AccessibilityObject.h:
1720         * accessibility/mac/AccessibilityObjectWrapper.mm:
1721         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1722         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1723         * html/HTMLAttributeNames.in:
1724
1725 2011-02-07  Darin Adler  <darin@apple.com>
1726
1727         Reviewed by Antti Koivisto.
1728
1729         Add built-in decoder for UTF-8 for improved performance
1730         https://bugs.webkit.org/show_bug.cgi?id=53898
1731
1732         Correct behavior is covered by existing tests.
1733
1734         * Android.mk: Added TextCodecUTF8.
1735         * CMakeLists.txt: Ditto.
1736         * GNUmakefile.am: Ditto.
1737         * WebCore.gypi: Ditto.
1738         * WebCore.pro: Ditto.
1739         * WebCore.vcproj/WebCore.vcproj: Ditto.
1740         * WebCore.xcodeproj/project.pbxproj: Ditto.
1741
1742         * platform/text/TextCodecICU.cpp: Removed registration of UTF-8
1743         since that's now handled by the built-in UTF-8 codec.
1744         (WebCore::TextCodecICU::registerEncodingNames): Renamed to remove
1745         the word "extended" since all codecs from ICU are now extended.
1746         (WebCore::TextCodecICU::registerCodecs): Ditto.
1747         * platform/text/TextCodecICU.h: Ditto.
1748
1749         * platform/text/TextCodecUTF16.cpp:
1750         (WebCore::TextCodecUTF16::decode): Added a FIXME about missing
1751         error handling.
1752
1753         * platform/text/TextCodecUTF8.cpp: Added.
1754         * platform/text/TextCodecUTF8.h: Added.
1755
1756         * platform/text/TextEncodingRegistry.cpp:
1757         (WebCore::buildBaseTextCodecMaps): Added TextCodecUTF8, and
1758         removed TextCodecICU, TextCodecBrew, and TextCodecWinCE.
1759         (WebCore::extendTextCodecMaps): Updated names for
1760         TextCodecICU and TextCodecWinCE.
1761
1762         * platform/text/brew/TextCodecBrew.cpp:
1763         (WebCore::TextCodecBrew::registerEncodingNames): Renamed to remove
1764         the word "extended" since all codecs from Brew are now extended.
1765         (WebCore::TextCodecBrew::registerCodecs): Ditto.
1766         * platform/text/brew/TextCodecBrew.h: Ditto.
1767
1768         * platform/text/gtk/TextCodecGtk.cpp:
1769         (WebCore::TextCodecGtk::registerBaseEncodingNames): Removed
1770         registration of UTF-8. It's questionable whether the other codecs
1771         here are really basic. If we think they qualify, then we should
1772         register them on other platforms, not just GTK.
1773         (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
1774
1775         * platform/text/wince/TextCodecWinCE.cpp:
1776         (WebCore::getCodePage): Removed special case for UTF-8 since we
1777         no longer use this codec for UTF-8.
1778         (WebCore::TextCodecWinCE::registerEncodingNames): Renamed to remove
1779         the word "extended" since all codecs from WinCE are now extended.
1780         (WebCore::TextCodecWinCE::registerCodecs): Ditto.
1781         * platform/text/wince/TextCodecWinCE.h: Ditto.
1782
1783 2011-02-07  Mario Sanchez Prada  <msanchez@igalia.com>
1784
1785         Reviewed by Xan Lopez.
1786
1787         [Gtk] atk_text_get_caret_offset fails for list items
1788         https://bugs.webkit.org/show_bug.cgi?id=53436
1789
1790         Consider list item markers when calculating the offset.
1791
1792         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1793         (webkit_accessible_text_get_caret_offset): Adjust the offset
1794         with the item marker's length for list items.
1795         (webkit_accessible_text_set_caret_offset): Replace usage of
1796         g_utf8_strlen() by calling to markerText.length().
1797
1798 2011-02-07  Yi Shen  <yi.4.shen@nokia.com>
1799
1800         Reviewed by Tor Arne Vestbø.
1801
1802         [Qt] Fix LayoutTests/media/restore-from-page-cache.html
1803         https://bugs.webkit.org/show_bug.cgi?id=53621
1804
1805         Changed the networkState to MediaPlayer::Loaded when 
1806         MediaPlayerPrivateQt has enough data.
1807
1808         Test: media/restore-from-page-cache.html
1809
1810         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1811         (WebCore::MediaPlayerPrivateQt::updateStates):
1812
1813 2011-01-31  Pavel Podivilov  <podivilov@chromium.org>
1814
1815         Reviewed by Yury Semikhatsky.
1816
1817         Web Inspector: implement beautification of scripts inlined in html documents.
1818         https://bugs.webkit.org/show_bug.cgi?id=52706
1819
1820         To beautify scripts inlined in html, we need to cut individual scripts, beautify them using UglifyJS library, and
1821         finally paste them back to html.
1822
1823         * WebCore.gypi:
1824         * WebCore.vcproj/WebCore.vcproj:
1825         * inspector/front-end/ScriptFormatter.js:
1826         (WebInspector.ScriptFormatter): Implement formatting of scripts inlined in html.
1827         (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
1828         (WebInspector.ScriptFormatter.prototype.formatContent):
1829         (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
1830         (WebInspector.ScriptFormatter.prototype._formatChunks.didFormat):
1831         (WebInspector.ScriptFormatter.prototype._formatChunks):
1832         (WebInspector.ScriptFormatter.prototype._buildContentFromChunks):
1833         (WebInspector.ScriptFormatter.prototype._formatScript.messageHandler):
1834         (WebInspector.ScriptFormatter.prototype._formatScript):
1835         * inspector/front-end/ScriptFormatterWorker.js:
1836         (onmessage):
1837         (buildMapping):
1838         * inspector/front-end/SourceFrame.js:
1839         (WebInspector.SourceFrameContent): Use SourceFrameContent and FormattedSourceFrameContent to perform operations with line numbers.
1840         * inspector/front-end/SourceFrameContent.js: Added.
1841         (WebInspector.SourceFrameContent): Helper class, holds resource text and scripts layout
1842         (WebInspector.SourceFrameContent.prototype.get scriptRanges):
1843         (WebInspector.SourceFrameContent.prototype.locationToPosition):
1844         (WebInspector.SourceFrameContent.prototype.positionToLocation):
1845         (WebInspector.SourceFrameContent.prototype.scriptLocationForLineNumber):
1846         (WebInspector.SourceFrameContent.prototype.scriptLocationForRange):
1847         (WebInspector.SourceFrameContent.prototype.lineNumberToRange):
1848         (WebInspector.SourceFrameContent.prototype._intersectingScriptRange):
1849         (WebInspector):
1850         (WebInspector.FormattedSourceFrameContent): Helper class, holds original and formatted versions of resource and mapping between them.
1851         (WebInspector.FormattedSourceFrameContent.prototype.get text):
1852         (WebInspector.FormattedSourceFrameContent.prototype.originalLocationToFormattedLocation):
1853         (WebInspector.FormattedSourceFrameContent.prototype.scriptLocationForFormattedLineNumber):
1854         (WebInspector.FormattedSourceFrameContent.prototype._convertPosition):
1855         * inspector/front-end/WebKit.qrc:
1856         * inspector/front-end/inspector.html:
1857
1858 2011-02-07  Pavel Feldman  <pfeldman@chromium.org>
1859
1860         Reviewed by Yury Semikhatsky.
1861
1862         Web Inspector: "Reveal in elements panel" does not always work.
1863         https://bugs.webkit.org/show_bug.cgi?id=53775
1864
1865         * inspector/front-end/ConsoleView.js:
1866         (WebInspector.ConsoleView):
1867         * inspector/front-end/ContextMenu.js:
1868         (WebInspector.ContextMenu.prototype.show):
1869         * inspector/front-end/ElementsPanel.js:
1870         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
1871         * inspector/front-end/ElementsTreeOutline.js:
1872         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
1873         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
1874         * inspector/front-end/ObjectPropertiesSection.js:
1875         (WebInspector.ObjectPropertyTreeElement.prototype.update):
1876         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
1877         * inspector/front-end/inspector.js:
1878         (WebInspector.cancelSearch):
1879
1880 2011-02-07  Adam Barth  <abarth@webkit.org>
1881
1882         Reviewed by Eric Seidel.
1883
1884         Relative .. in URL paths shouldn't skip adjacent / characters
1885         https://bugs.webkit.org/show_bug.cgi?id=53907
1886
1887         Our new behavior matches Firefox, Chrome, and IE.
1888
1889         * platform/KURL.cpp:
1890         (WebCore::copyPathRemovingDots):
1891
1892 2011-02-07  Maciej Stachowiak  <mjs@apple.com>
1893
1894         Reviewed by Antti Koivisto.
1895
1896         WebKitTestRunner does not block remote resources or complain about them
1897         https://bugs.webkit.org/show_bug.cgi?id=42139
1898         <rdar://problem/8183942>
1899
1900         * Configurations/WebCore.xcconfig: Allow WebKitTestRunner to link
1901         WebCore.
1902         * WebCore.exp.in: Export a handful of KURL symbols.
1903
1904 2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
1905
1906         Reviewed by Darin Adler.
1907
1908         OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
1909         https://bugs.webkit.org/show_bug.cgi?id=52867
1910
1911         * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
1912         * bindings/v8/NPV8Object.cpp:
1913         (WebCore::createValueListFromVariantArgs): Returns PassOwnArrayPtr<v8::Handle<v8::Value>> instead of
1914         v8::Handle<v8::Value>*.
1915         (_NPN_Invoke): Calls createValueListFromVariantArgs.
1916         (_NPN_InvokeDefault): createValueListFromVariantArgs.
1917         (_NPN_Construct): createValueListFromVariantArgs.
1918         * bindings/v8/ScriptFunctionCall.cpp:
1919         (WebCore::ScriptFunctionCall::call): Calls adoptArrayPtr.
1920         (WebCore::ScriptFunctionCall::construct): Ditto.
1921         (WebCore::ScriptCallback::call):
1922         * bindings/v8/V8DOMWindowShell.cpp:
1923         (WebCore::V8DOMWindowShell::createNewContext): Ditto.
1924         * bindings/v8/V8NPObject.cpp:
1925         (WebCore::npObjectInvokeImpl): Ditto
1926         * bindings/v8/V8NodeFilterCondition.cpp:
1927         (WebCore::V8NodeFilterCondition::acceptNode): Ditto,
1928         * html/HTMLAreaElement.cpp:
1929         (WebCore::HTMLAreaElement::parseMappedAttribute): Calls newCoordsArray.
1930         * html/HTMLFrameSetElement.cpp:
1931         (WebCore::HTMLFrameSetElement::parseMappedAttribute): Calls newLengthArray.
1932         * html/canvas/WebGLRenderingContext.cpp:
1933         (WebCore::WebGLRenderingContext::getAttachedShaders): Calls adoptArraYptr.
1934         (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Ditto.
1935         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache): Dito.
1936         * platform/Length.cpp:
1937         (WebCore::newCoordsArray): Returns PassOwnArrayPtr<Length> instead of Length*.
1938         (WebCore::newLengthArray): Returns PassOwnArrayPtr<Length> instead of Length*.
1939         * platform/Length.h: Prototype changes.
1940         * platform/graphics/ANGLEWebKitBridge.cpp:
1941         (WebCore::ANGLEWebKitBridge::validateShaderSource): Calls adoptArrayPtr.
1942         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
1943         (WebCore::getDirtyRects): Ditto.
1944         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1945         (WebCore::ComplexTextController::getNormalizedTextRun): Ditto.
1946         * platform/graphics/chromium/HarfbuzzSkia.cpp:
1947         (WebCore::glyphsToAdvances): Ditto.
1948         (WebCore::canRender): Ditto.
1949         * platform/graphics/gpu/Texture.cpp:
1950         (WebCore::Texture::updateSubRect): Ditto.
1951         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1952         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Ditto.
1953         * platform/graphics/skia/PlatformContextSkia.cpp:
1954         (WebCore::PlatformContextSkia::readbackHardwareToSoftware): Ditto.
1955         * platform/graphics/wince/SharedBitmap.cpp:
1956         (WebCore::SharedBitmap::to16bit): Ditto.
1957         * platform/win/ContextMenuWin.cpp:
1958         (WebCore::ContextMenu::getContextMenuItems): Ditto.
1959         * platform/win/LoggingWin.cpp:
1960         (WebCore::initializeWithUserDefault): Ditto.
1961         * plugins/win/PluginPackageWin.cpp:
1962         (WebCore::PluginPackage::fetchInfo): Ditto.
1963
1964 2011-02-06  Kent Tamura  <tkent@chromium.org>
1965
1966         Unreviewed.
1967
1968         * WebCore.xcodeproj/project.pbxproj: Run sort-xcode-project-file.
1969
1970 2011-02-03  Dominic Cooney  <dominicc@google.com>
1971
1972         Reviewed by Dimitri Glazkov.
1973
1974         Convert <keygen> option elements to a shadow DOM
1975         https://bugs.webkit.org/show_bug.cgi?id=51379
1976
1977         Covered by existing tests e.g. fast/html/keygen.html,
1978         html5lib/runner.html, etc.
1979
1980         * css/html.css:
1981         (form): Cleanup.
1982         (keygen, select): Border radii should match so focus ring looks good.
1983         (keygen::-webkit-keygen-select): No margin on the shadow element.
1984         (select): Hoisting border radius to keygen, select rule.
1985         * dom/SelectElement.cpp:
1986         (WebCore::toSelectElement): keygen is no longer a select element.
1987         * html/HTMLKeygenElement.cpp: Implements keygen shadow.
1988         (WebCore::KeygenSelectElement::create):
1989         (WebCore::KeygenSelectElement::shadowPseudoId):
1990         (WebCore::KeygenSelectElement::KeygenSelectElement):
1991         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1992         (WebCore::HTMLKeygenElement::parseMappedAttribute):
1993         (WebCore::HTMLKeygenElement::appendFormData):
1994         (WebCore::HTMLKeygenElement::formControlType):
1995         (WebCore::HTMLKeygenElement::reset):
1996         (WebCore::HTMLKeygenElement::selectShadow):
1997         * html/HTMLKeygenElement.h: keygen is no longer a select on C++ side.
1998         (WebCore::HTMLKeygenElement::canStartSelection):
1999         (WebCore::HTMLKeygenElement::isEnumeratable):
2000         (WebCore::HTMLKeygenElement::isResettable):
2001         * html/HTMLOptionElement.cpp:
2002         (WebCore::HTMLOptionElement::ownerSelectElement): Only owned by selects.
2003         * html/HTMLSelectElement.cpp:
2004         (WebCore::HTMLSelectElement::HTMLSelectElement): Only 'select' tag name.
2005
2006 2011-02-06  Benjamin Poulain  <ikipou@gmail.com>
2007
2008         Reviewed by Kenneth Rohde Christiansen.
2009
2010         [Qt] Fix coding style errors in ClipboardQt.h
2011         https://bugs.webkit.org/show_bug.cgi?id=43520
2012
2013         Fix coding style: order of header and indentation.
2014
2015         * platform/qt/ClipboardQt.h:
2016         (WebCore::ClipboardQt::create):
2017         (WebCore::ClipboardQt::clipboardData):
2018         (WebCore::ClipboardQt::invalidateWritableData):
2019
2020 2011-02-06  Antti Koivisto  <antti@apple.com>
2021
2022         Reviewed by Maciej Stachowiak.
2023
2024         Use bloom filter for descendant selector filtering
2025         https://bugs.webkit.org/show_bug.cgi?id=53880
2026         
2027         Bloom filter is faster than a hash set in this kind of use.
2028         
2029         Shark thinks this speeds up style matching by ~30% on sites
2030         with lots of descendant selectors.
2031
2032         * ForwardingHeaders/wtf/BloomFilter.h: Added.
2033         * css/CSSStyleSelector.cpp:
2034         (WebCore::collectElementIdentifierHashes):
2035         (WebCore::CSSStyleSelector::pushParent):
2036         (WebCore::CSSStyleSelector::popParent):
2037         (WebCore::CSSStyleSelector::fastRejectSelector):
2038         (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
2039         * css/CSSStyleSelector.h:
2040
2041 2011-02-06  Maciej Stachowiak  <mjs@apple.com>
2042
2043         Reviewed by Antti Koivisto.
2044
2045         media/video-document-types.html sometimes crashes the WebProcess
2046         https://bugs.webkit.org/show_bug.cgi?id=53884
2047
2048         No new tests. Already covered by media/video-document-types.html
2049
2050         * html/HTMLMediaElement.cpp:
2051         (WebCore::HTMLMediaElement::userCancelledLoad): Stop the load timer
2052         when cancelling the load.
2053
2054 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
2055
2056         Reviewed by Adam Roben.
2057
2058         [WIN] Use WCHAR instead of TCHAR
2059         https://bugs.webkit.org/show_bug.cgi?id=53863
2060
2061         We always use the UNICODE versions of windows functions, so
2062         the usage of TCHAR makes no sense and mixing them is bad style.
2063
2064         * platform/graphics/win/IconWin.cpp:
2065         (WebCore::Icon::createIconForFiles):
2066         * platform/graphics/win/QTMovie.cpp:
2067         * platform/graphics/win/QTMovieGWorld.cpp:
2068         (QTMovieGWorld::fullscreenWndProc):
2069         (QTMovieGWorld::enterFullscreen):
2070         * platform/graphics/win/SimpleFontDataCGWin.cpp:
2071         (WebCore::SimpleFontData::platformInit):
2072         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
2073         * platform/graphics/win/SimpleFontDataWin.cpp:
2074         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
2075         * platform/win/BString.cpp:
2076         * platform/win/ClipboardWin.cpp:
2077         (WebCore::filesystemPathFromUrlOrTitle):
2078         (WebCore::createGlobalHDropContent):
2079         (WebCore::createGlobalImageFileDescriptor):
2080         * platform/win/ContextMenuWin.cpp:
2081         * platform/win/CursorWin.cpp:
2082         (WebCore::loadSharedCursor):
2083         * platform/win/FileChooserWin.cpp:
2084         (WebCore::FileChooser::basenameForWidth):
2085         * platform/win/PopupMenuWin.cpp:
2086         (WebCore::PopupMenuWin::popupClassName):
2087         (WebCore::PopupMenuWin::show):
2088         * platform/win/PopupMenuWin.h:
2089
2090 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
2091
2092         Reviewed by Andreas Kling.
2093
2094         Replace FLT_MAX with std::numeric_limits
2095         https://bugs.webkit.org/show_bug.cgi?id=53861
2096
2097         Also move EFL's userIdleTime from TemporaryLinkStubs into SystemTimeEfl.
2098
2099         * html/NumberInputType.cpp:
2100         * html/parser/HTMLParserIdioms.cpp:
2101         (WebCore::parseToDoubleForNumberType):
2102         * platform/brew/SystemTimeBrew.cpp:
2103         (WebCore::userIdleTime):
2104         * platform/efl/SystemTimeEfl.cpp:
2105         (WebCore::userIdleTime):
2106         * platform/efl/TemporaryLinkStubs.cpp:
2107         * platform/graphics/ca/GraphicsLayerCA.cpp:
2108         (WebCore::GraphicsLayerCA::setupAnimation):
2109         * platform/win/SystemTimeWin.cpp:
2110         (WebCore::userIdleTime):
2111         * platform/wx/SystemTimeWx.cpp:
2112         (WebCore::userIdleTime):
2113
2114 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
2115
2116         Reviewed by Andreas Kling.
2117
2118         [CMake] Add dependencies for Visual Studio projects
2119         https://bugs.webkit.org/show_bug.cgi?id=53773
2120
2121         Add a JavaScriptCore dependecy to WebCore, so CMake can 
2122         generate the correct build order for the solution.
2123
2124         * CMakeLists.txt:
2125
2126 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
2127
2128         Reviewed by Andreas Kling.
2129
2130         [CMake] Unify ENABLE_SVG sections
2131         https://bugs.webkit.org/show_bug.cgi?id=53778
2132
2133         * CMakeLists.txt:
2134
2135 2011-02-06  Andreas Kling  <kling@webkit.org>
2136
2137         Reviewed by Dirk Schulze.
2138
2139         Refactor Font::normalizeSpaces() to avoid an extra String copy.
2140         https://bugs.webkit.org/show_bug.cgi?id=53871
2141
2142         Have normalizeSpaces() take UChar*,length arguments instead of a
2143         String, since all call sites were creating temporaries from these
2144         components anyway.
2145
2146         Font::normalizeSpaces() now always makes 1 String copy,
2147         instead of 1 in the best case and 2 in the worst case.
2148
2149         * platform/graphics/Font.cpp:
2150         (WebCore::Font::normalizeSpaces):
2151         * platform/graphics/Font.h:
2152         * platform/graphics/qt/FontQt.cpp:
2153         (WebCore::drawTextCommon):
2154         (WebCore::Font::floatWidthForSimpleText):
2155         (WebCore::Font::floatWidthForComplexText):
2156         (WebCore::Font::offsetForPositionForSimpleText):
2157         (WebCore::Font::offsetForPositionForComplexText):
2158         (WebCore::Font::selectionRectForSimpleText):
2159         (WebCore::Font::selectionRectForComplexText):
2160         * svg/SVGFont.cpp:
2161         (WebCore::SVGTextRunWalker::walk):
2162
2163 2011-02-06  Andreas Kling  <kling@webkit.org>
2164
2165         Reviewed by Dirk Schulze.
2166
2167         Fix potential buffer overrun in SVGTextRunWalker::walk()
2168         https://bugs.webkit.org/show_bug.cgi?id=53870
2169
2170         A new String was created from a UChar* with a 'length' argument
2171         that could be greater than the number of UChars available.
2172
2173         * svg/SVGFont.cpp:
2174         (WebCore::SVGTextRunWalker::walk):
2175
2176 2011-02-05  Adam Barth  <abarth@webkit.org>
2177
2178         Reviewed by Eric Seidel.
2179
2180         Remove unused parameter related to XSSAuditor
2181         https://bugs.webkit.org/show_bug.cgi?id=53862
2182
2183         * WebCore.exp.in:
2184         * bindings/ScriptControllerBase.cpp:
2185         (WebCore::ScriptController::executeScript):
2186         (WebCore::ScriptController::executeIfJavaScriptURL):
2187         * bindings/ScriptControllerBase.h:
2188         * bindings/js/ScriptController.cpp:
2189         (WebCore::ScriptController::evaluateInWorld):
2190         (WebCore::ScriptController::evaluate):
2191         (WebCore::ScriptController::executeScriptInWorld):
2192         * bindings/js/ScriptController.h:
2193         * bindings/v8/ScriptController.cpp:
2194         (WebCore::ScriptController::evaluate):
2195         * bindings/v8/ScriptController.h:
2196
2197 2011-02-05  Adam Barth  <abarth@webkit.org>
2198
2199         Fix Qt build.
2200
2201         * WebCore.pro:
2202
2203 2011-02-05  Adam Barth  <abarth@webkit.org>
2204
2205         Reviewed by Eric Seidel.
2206
2207         Delete XSSAuditor
2208         https://bugs.webkit.org/show_bug.cgi?id=53859
2209
2210         The job of the XSSAuditor is now done by the XSSFilter.  In the future,
2211         we might rename XSSFilter to XSSAuditor.
2212
2213         * Android.mk:
2214         * CMakeLists.txt:
2215         * GNUmakefile.am:
2216         * WebCore.gypi:
2217         * WebCore.vcproj/WebCore.vcproj:
2218         * WebCore.xcodeproj/project.pbxproj:
2219         * bindings/ScriptControllerBase.cpp:
2220         (WebCore::ScriptController::executeIfJavaScriptURL):
2221         * bindings/ScriptControllerBase.h:
2222         * bindings/js/ScriptController.cpp:
2223         (WebCore::ScriptController::ScriptController):
2224         (WebCore::ScriptController::evaluateInWorld):
2225         * bindings/js/ScriptController.h:
2226         * bindings/js/ScriptEventListener.cpp:
2227         (WebCore::createAttributeEventListener):
2228         * bindings/v8/ScriptController.cpp:
2229         (WebCore::ScriptController::ScriptController):
2230         (WebCore::ScriptController::evaluate):
2231         * bindings/v8/ScriptController.h:
2232         * bindings/v8/ScriptEventListener.cpp:
2233         (WebCore::createAttributeEventListener):
2234         * dom/Document.cpp:
2235         (WebCore::Document::implicitOpen):
2236         (WebCore::Document::processBaseElement):
2237         * dom/ScriptableDocumentParser.cpp:
2238         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
2239         * dom/ScriptableDocumentParser.h:
2240         * html/parser/HTMLDocumentParser.cpp:
2241         (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
2242         * loader/SubframeLoader.cpp:
2243         (WebCore::SubframeLoader::requestObject):
2244         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
2245         * page/XSSAuditor.cpp: Removed.
2246         * page/XSSAuditor.h: Removed.
2247
2248 2011-02-05  Anders Carlsson  <andersca@apple.com>
2249
2250         Reviewed by Darin Adler.
2251
2252         Need a way to resize and scroll the page at the same time
2253         https://bugs.webkit.org/show_bug.cgi?id=53814
2254         <rdar://problem/8498008>
2255
2256         Export a function needed by WebKit2.
2257
2258         * WebCore.exp.in:
2259
2260 2011-02-05  Patrick Gansterer  <paroga@webkit.org>
2261
2262         Reviewed by Alexey Proskuryakov.
2263
2264         Use Document::encoding() instead of DocumentWriter::encoding()
2265         https://bugs.webkit.org/show_bug.cgi?id=53398
2266
2267         This change makes the code more readable, when a subresource
2268         inherits the character encoding of the document.
2269
2270         * dom/ProcessingInstruction.cpp:
2271         (WebCore::ProcessingInstruction::checkStyleSheet):
2272         * dom/ScriptElement.cpp:
2273         (WebCore::ScriptElement::scriptCharset):
2274         * html/HTMLLinkElement.cpp:
2275         (WebCore::HTMLLinkElement::process):
2276         * loader/cache/CachedResourceLoader.cpp:
2277         (WebCore::CachedResourceLoader::requestPreload):
2278         * platform/network/FormDataBuilder.cpp:
2279         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
2280
2281 2011-02-05  Adam Barth  <abarth@webkit.org>
2282
2283         Reviewed by Eric Seidel.
2284
2285         Introduce URLString to represent a canonicalized URL represented by a string
2286         https://bugs.webkit.org/show_bug.cgi?id=53847
2287
2288         Instead of using String all over the codebase to represent a URL,
2289         instead we should have a type to represent a canonicalized URL in the
2290         form of a string.  This patch introduces that type.
2291
2292         * GNUmakefile.am:
2293         * WebCore.gypi:
2294         * WebCore.xcodeproj/project.pbxproj:
2295         * platform/KURL.cpp:
2296         (WebCore::KURL::KURL):
2297         * platform/KURL.h:
2298         (WebCore::KURL::urlString):
2299
2300 2011-02-05  Robert Hogan  <robert@webkit.org>
2301
2302         Reviewed by Antonio Gomes.
2303
2304         [Qt] Style widgets not rendering
2305         https://bugs.webkit.org/show_bug.cgi?id=53849
2306
2307         * html/HTMLObjectElement.cpp:
2308         (WebCore::HTMLObjectElement::hasValidClassId): x-qt-styled-widget is a valid class id too
2309
2310 2011-02-05  Jochen Eisinger  <jochen@chromium.org>
2311
2312         Reviewed by Adam Barth.
2313
2314         Add ContentSecurityPolicy object to Document and pass the X-WebKit-CSP header from the MainResourceLoader.
2315         https://bugs.webkit.org/show_bug.cgi?id=53685
2316
2317         * WebCore.xcodeproj/project.pbxproj:
2318         * dom/Document.h:
2319         (WebCore::Document::contentSecurityPolicy):
2320         * loader/MainResourceLoader.cpp:
2321         (WebCore::MainResourceLoader::didReceiveResponse):
2322         * page/ContentSecurityPolicy.cpp:
2323         (WebCore::ContentSecurityPolicy::didReceiveHeader):
2324         * page/ContentSecurityPolicy.h:
2325
2326 2011-02-05  Eric Seidel  <eric@webkit.org>
2327
2328         Reviewed by Adam Barth.
2329
2330         Safari should lowercase schemes in cannonicalized urls to match every other browser
2331         https://bugs.webkit.org/show_bug.cgi?id=53848
2332
2333         We're clearly the odd man out here.  See results from every browser at:
2334         https://github.com/abarth/url-spec/blob/master/tests/gurl-results/by-browser.txt
2335
2336         * platform/KURL.cpp:
2337         (WebCore::KURL::parse):
2338          - Just lowercase the scheme when copying.
2339
2340 2011-02-05  Antti Koivisto  <antti@apple.com>
2341
2342         Reviewed by Dave Hyatt.
2343
2344         Optimize matching of descendant selectors
2345         https://bugs.webkit.org/show_bug.cgi?id=49876
2346         <rdar://problem/8772822>
2347         
2348         During style recalculation, maintain a filter of tags, ids and classes seen in ancestor elements.
2349         Use the filter to quickly reject descendant and child selectors when doing style matching.
2350
2351         This speeds up style recalculations 3-6x on many major web sites.
2352
2353         * css/CSSStyleSelector.cpp:
2354         (WebCore::RuleData::RuleData):
2355         (WebCore::RuleData::descendantSelectorIdentifierHashes):
2356         (WebCore::collectElementIdentifiers):
2357         (WebCore::CSSStyleSelector::pushParent):
2358         (WebCore::CSSStyleSelector::popParent):
2359         (WebCore::CSSStyleSelector::fastRejectSelector):
2360         (WebCore::CSSStyleSelector::matchRulesForList):
2361         (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
2362         * css/CSSStyleSelector.h:
2363         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
2364         * dom/Element.cpp:
2365         (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
2366         (WebCore::StyleSelectorParentPusher::push):
2367         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
2368         (WebCore::Element::attach):
2369         (WebCore::Element::recalcStyle):
2370
2371 2011-02-05  Nate Chapin  <japhet@chromium.org>
2372
2373         Reviewed by Adam Barth.
2374
2375         Refactor: NotificationCenter shouldn't hold its own copy of the ScriptExecutionContext*
2376         when it inherits one from ActiveDOMObject.
2377         https://bugs.webkit.org/show_bug.cgi?id=53815
2378
2379         * bindings/js/JSDesktopNotificationsCustom.cpp:
2380         (WebCore::JSNotificationCenter::requestPermission):
2381         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2382         (WebCore::V8NotificationCenter::requestPermissionCallback):
2383         * notifications/NotificationCenter.cpp:
2384         (WebCore::NotificationCenter::NotificationCenter):
2385         (WebCore::NotificationCenter::checkPermission):
2386         (WebCore::NotificationCenter::requestPermission):
2387         (WebCore::NotificationCenter::disconnectFrame):
2388         * notifications/NotificationCenter.h:
2389         (WebCore::NotificationCenter::createHTMLNotification):
2390         (WebCore::NotificationCenter::createNotification):
2391
2392 2011-02-04  Adam Barth  <abarth@webkit.org>
2393
2394         Reviewed by Maciej Stachowiak.
2395
2396         Crash in WebCore::TextEncoding::decode below XSSFilter::init
2397         https://bugs.webkit.org/show_bug.cgi?id=53837
2398
2399         Add missing null check.
2400
2401         Test: http/tests/security/xssAuditor/non-block-javascript-url-frame.html
2402
2403         * html/parser/XSSFilter.cpp:
2404         (WebCore::XSSFilter::init):
2405
2406 2011-02-04  Simon Fraser  <simon.fraser@apple.com>
2407
2408         Reviewed by Dan Bernstein.
2409
2410         Crashes in ShadowBlur via WebKit2 FindController
2411         https://bugs.webkit.org/show_bug.cgi?id=53830
2412         
2413         Fix a crash cause by re-entering ShadowBlur, and add assertions to
2414         detect when it happens.
2415         
2416         The re-entrancy occurred when drawRectShadowWithTiling() filled
2417         the interior of the shadow with fillRect() on the context
2418         which still had the shadow state set. This would make another ShadowBlur
2419         on the stack and call into the code again, potentially blowing away
2420         the image buffer.
2421         
2422         Fix by turning off shadows in the destination context while we're
2423         drawing the tiled shadow. The non-tiled code path already did this.
2424
2425         Not testable because CSS shadows clip out the inside of the rect
2426         being shadowed, and SVG uses fillPath, even for rects.
2427
2428         * platform/graphics/ShadowBlur.cpp:
2429         (WebCore::ScratchBuffer::ScratchBuffer):
2430         (WebCore::ScratchBuffer::getScratchBuffer):
2431         (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
2432         (WebCore::ShadowBlur::ShadowBlur):
2433         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2434
2435 2011-02-04  Carlos Garcia Campos  <cgarcia@igalia.com>
2436
2437         Reviewed by Martin Robinson.
2438
2439         [GTK] Don't use a fixed size for search field icons
2440         https://bugs.webkit.org/show_bug.cgi?id=50624
2441
2442         Use the parent input content box to make sure the icon fits in the
2443         search field, scaling it down when needed.
2444
2445         * platform/gtk/RenderThemeGtk.cpp:
2446         (WebCore::paintGdkPixbuf):
2447         (WebCore::getIconSizeForPixelSize):
2448         (WebCore::adjustSearchFieldIconStyle):
2449         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
2450         (WebCore::centerRectVerticallyInParentInputElement):
2451         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
2452         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
2453         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
2454         (WebCore::RenderThemeGtk::paintCapsLockIndicator):
2455         (WebCore::RenderThemeGtk::paintMediaButton):
2456
2457 2011-02-04  Hironori Bono  <hbono@chromium.org>
2458
2459         Reviewed by Adam Barth.
2460
2461         [chromium] JPEG corruption
2462         https://bugs.webkit.org/show_bug.cgi?id=53250
2463
2464         Same as gray-scale JPEGs, we convert the colors of CMYK JPEGs with color
2465         profiles from CMYK to RGB twice and it causes color corruption. This
2466         change suppresses the color profiles for CMYK JPEGs same as gray-scale
2467         ones.
2468
2469         Test: fast/images/cmyk-jpeg-with-color-profile.html
2470
2471         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2472         (WebCore::JPEGImageReader::decode):
2473
2474 2011-02-04  Xiyuan Xia  <xiyuan@chromium.org>
2475
2476         Reviewed by Tony Chang.
2477
2478         [Chromium] Option text in select popup does not align with menulist button text
2479         https://bugs.webkit.org/show_bug.cgi?id=53632
2480
2481         This makes clientPaddingLeft and  clientPaddingRight return
2482         the additional m_innerBlock's padding so that the popup item text
2483         aligns with the menulist button text.
2484
2485         * rendering/RenderMenuList.cpp:
2486         (WebCore::RenderMenuList::clientPaddingLeft):
2487         (WebCore::RenderMenuList::clientPaddingRight):
2488
2489 2011-02-04  Anders Carlsson  <andersca@apple.com>
2490
2491         Reviewed by Sam Weinig and Beth Dakin.
2492
2493         REGRESSION: Horizontal scrollbar thumbs leave artifacts over page content when scrolling vertically
2494         <rdar://problem/8962457>
2495
2496         * platform/ScrollView.cpp:
2497         (WebCore::ScrollView::scrollContents):
2498         Subtract scrollbars from the scroll view rect if overlay scrollers are enabled.
2499         
2500         * platform/ScrollableArea.cpp:
2501         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
2502         Make sure to invalidate both scrollbars if overlay scrollers are enabled.
2503
2504 2011-02-04  Adam Barth  <abarth@webkit.org>
2505
2506         Reviewed by Eric Seidel.
2507
2508         PluginDocuments don't create widgets for plugins on back/forward
2509         https://bugs.webkit.org/show_bug.cgi?id=53474
2510
2511         Long ago, PluginDocument always caused the HTMLEmbedElement to create
2512         its widget synchronously during a post-layout task.  Recently, however,
2513         some changes to the HistroyController caused layout on back/forward to
2514         become slightly more complicated (and added an extra level of recursion
2515         to layout).  This extra level of recursion triggered the "I've recursed
2516         too many times" condition in the post-layout task queue, causing the
2517         FrameView to run the remainder of the tasks asynchronously.
2518         Unfortunately, that broke PluginDocument because it needs its the
2519         HTMLEmbedElement's updateWidget task to run synchronously.
2520
2521         This patch adds a mechanism for "kicking off" the pending post-layout
2522         tasks synchronously (instead of waiting for the timer to fire).
2523         PluginDocument then uses that facility to ensure that the
2524         HTMLEmbedElement's updateWidget task happens.
2525
2526         Test: plugins/plugin-document-back-forward.html
2527
2528         * html/PluginDocument.cpp:
2529         (WebCore::PluginDocumentParser::appendBytes):
2530         * page/FrameView.cpp:
2531         (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
2532         * page/FrameView.h:
2533
2534 2011-02-04  Charlie Reis  <creis@chromium.org>
2535
2536         Reviewed by Mihai Parparita.
2537
2538         Crash in WebCore::HistoryController::itemsAreClones
2539         https://bugs.webkit.org/show_bug.cgi?id=52819
2540
2541         Avoids deleting the current HistoryItem while it is still in use.
2542         Ensures that provisional items are committed for same document navigations.
2543         Ensures that error pages are committed on back/forward navigations.
2544         Also removes unneeded sanity checks used for diagnosing the problem.
2545
2546         * loader/HistoryController.cpp:
2547         * loader/HistoryController.h:
2548
2549 2011-02-04  Carol Szabo  <carol.szabo@nokia.com>
2550
2551         Reviewed by David Hyatt.
2552
2553         Code Changes.
2554
2555         CSS 2.1 failure: content-*
2556         https://bugs.webkit.org/show_bug.cgi?id=52126
2557
2558         Test: fast/css/counters/content-021.html
2559
2560         * rendering/CounterNode.cpp:
2561         (showCounterTree):
2562         Made parameter const because it is supposed to be so.
2563         * rendering/RenderCounter.cpp:
2564         (WebCore::previousInPreOrder):
2565         (WebCore::previousSiblingOrParent):
2566         (WebCore::parentElement):
2567         (WebCore::areRenderersElementsSiblings):
2568         (WebCore::nextInPreOrder):
2569         Added these local helper functions to help navigate the DOM tree
2570         enriched with :before and :after pseudo elements.
2571         (WebCore::planCounter):
2572         Fixed bug that would create a repeat counter for second and
2573         subsequent renderers associated with the same DOM element.
2574         (WebCore::findPlaceForCounter):
2575         (WebCore::makeCounterNode):
2576         Changed to use the new tree navigation functions described above
2577         instead of the Renderer Tree navigation functions.
2578         (WebCore::RenderCounter::rendererSubtreeAttached):
2579         (WebCore::RenderCounter::rendererStyleChanged):
2580         Optimized to not bother about counters until the renderers are
2581         finally attached.
2582         (showRendererTree):
2583         (showNodeTree):
2584         Debug helper functions used to debug Counter bugs.
2585
2586 2011-02-04  Dan Bernstein  <mitz@apple.com>
2587
2588         Typo fix.
2589
2590         * html/parser/XSSFilter.cpp:
2591         (WebCore::HTMLNames::containsJavaScriptURL):
2592
2593 2011-02-04  Dan Bernstein  <mitz@apple.com>
2594
2595         Reviewed by Anders Carlsson.
2596
2597         Make an infinite loop introduced in r77454 finite.
2598
2599         * html/parser/XSSFilter.cpp:
2600         (WebCore::HTMLNames::containsJavaScriptURL):
2601
2602 2011-02-04  Jer Noble  <jer.noble@apple.com>
2603
2604         Reviewed by Eric Carlson.
2605
2606         Frame accurate seeking isn't always accurate
2607         https://bugs.webkit.org/show_bug.cgi?id=52697
2608
2609         Test: media/video-frame-accurate-seek.html
2610
2611         Make seeking slightly more accurate by rounding instead of truncating
2612         when converting from seconds-in-float to time/timeScale.
2613
2614         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2615         (WebCore::MediaPlayerPrivateQTKit::createQTTime):
2616         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2617         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue):
2618         * platform/graphics/win/QTMovie.cpp:
2619         (QTMovie::setCurrentTime):
2620
2621 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
2622
2623         Reviewed by Nate Chapin.
2624
2625         Second IndexedDB events overhaul patch
2626         https://bugs.webkit.org/show_bug.cgi?id=53813
2627
2628         If an IDBRequest has a IDBTransaction, it should propogate
2629         events through it. In order to do this, IDBRequest needs to
2630         hold a transaction frontend object rather than a backend one.
2631
2632         Test: storage/indexeddb/request-event-propagation.html
2633
2634         * storage/IDBCursor.cpp:
2635         (WebCore::IDBCursor::IDBCursor):
2636         * storage/IDBCursor.h:
2637         (WebCore::IDBCursor::create):
2638         * storage/IDBDatabase.cpp:
2639         (WebCore::IDBDatabase::setSetVersionTransaction):
2640         (WebCore::IDBDatabase::createObjectStore):
2641         (WebCore::IDBDatabase::deleteObjectStore):
2642         * storage/IDBDatabase.h:
2643         * storage/IDBIndex.cpp:
2644         (WebCore::IDBIndex::IDBIndex):
2645         (WebCore::IDBIndex::openCursor):
2646         (WebCore::IDBIndex::openKeyCursor):
2647         (WebCore::IDBIndex::get):
2648         (WebCore::IDBIndex::getKey):
2649         * storage/IDBIndex.h:
2650         (WebCore::IDBIndex::create):
2651         * storage/IDBObjectStore.cpp:
2652         (WebCore::IDBObjectStore::IDBObjectStore):
2653         (WebCore::IDBObjectStore::get):
2654         (WebCore::IDBObjectStore::add):
2655         (WebCore::IDBObjectStore::put):
2656         (WebCore::IDBObjectStore::deleteFunction):
2657         (WebCore::IDBObjectStore::createIndex):
2658         (WebCore::IDBObjectStore::deleteIndex):
2659         (WebCore::IDBObjectStore::openCursor):
2660         * storage/IDBObjectStore.h:
2661         (WebCore::IDBObjectStore::create):
2662         * storage/IDBRequest.cpp:
2663         (WebCore::IDBRequest::create):
2664         (WebCore::IDBRequest::IDBRequest):
2665         (WebCore::IDBRequest::resetReadyState):
2666         (WebCore::IDBRequest::onSuccess):
2667         (WebCore::IDBRequest::dispatchEvent):
2668         * storage/IDBRequest.h:
2669         * storage/IDBTransaction.cpp:
2670         (WebCore::IDBTransaction::IDBTransaction):
2671         (WebCore::IDBTransaction::objectStore):
2672         (WebCore::IDBTransaction::contextDestroyed):
2673         (WebCore::IDBTransaction::enqueueEvent):
2674         * storage/IDBTransaction.h:
2675         * storage/IDBTransaction.idl:
2676
2677 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
2678
2679         Reviewed by Nate Chapin.
2680
2681         First step towards event propogation within IndexedDB
2682         https://bugs.webkit.org/show_bug.cgi?id=53795
2683
2684         This is the first step towards implementing
2685         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
2686         within IndexedDB. I've created a method that knows how
2687         to capture and bubble (based on Node's dispatchGenericEvent).
2688         I've then changed IDBRequest to use it.
2689
2690         The only functional change is that preventDefault now must
2691         be called in error events to prevent the transaction from
2692         being aborted. The tests reflect this change and there's one
2693         specific test to look at this behavior.
2694
2695         Test: storage/indexeddb/error-causes-abort-by-default.html
2696
2697         * storage/IDBAbortEvent.cpp:
2698         (WebCore::IDBAbortEvent::create):
2699         (WebCore::IDBAbortEvent::IDBAbortEvent):
2700         * storage/IDBAbortEvent.h:
2701         * storage/IDBCompleteEvent.cpp:
2702         (WebCore::IDBCompleteEvent::create):
2703         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
2704         * storage/IDBCompleteEvent.h:
2705         * storage/IDBErrorEvent.cpp:
2706         (WebCore::IDBErrorEvent::IDBErrorEvent):
2707         * storage/IDBEvent.cpp:
2708         (WebCore::IDBEvent::IDBEvent):
2709         (WebCore::IDBEvent::dispatch):
2710         * storage/IDBEvent.h:
2711         * storage/IDBRequest.cpp:
2712         (WebCore::IDBRequest::dispatchEvent):
2713         * storage/IDBRequest.h:
2714         * storage/IDBSuccessEvent.cpp:
2715         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
2716         * storage/IDBTransaction.cpp:
2717         (WebCore::IDBTransaction::onAbort):
2718         (WebCore::IDBTransaction::onComplete):
2719         * storage/IDBTransaction.h:
2720         (WebCore::IDBTransaction::backend):
2721         * storage/IDBTransactionBackendImpl.cpp:
2722         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
2723
2724 2011-02-04  Daniel Cheng  <dcheng@chromium.org>
2725
2726         Reviewed by Dmitry Titov.
2727
2728         Clone WebClipboard to be frame-specific.
2729         https://bugs.webkit.org/show_bug.cgi?id=53727
2730
2731         For drop operations, Chrome currently snapshots the data and copies it
2732         into the renderer process. As we add more supported drag data types, the
2733         copy will become increasingly expensive. Instead, we'd like to snapshot
2734         data in the browser to reduce the amount of data copied and to support
2735         Blob in DataTransferItem. In order to allow this, we associated
2736         WebClipboard with a frame so it can correctly route its IPCs to the
2737         corresponding Chromium host.
2738
2739         No new tests because no new functionality.
2740
2741         * platform/chromium/ChromiumDataObject.cpp:
2742         (WebCore::ChromiumDataObject::createReadable):
2743         * platform/chromium/ChromiumDataObject.h:
2744         * platform/chromium/ClipboardChromium.cpp:
2745         (WebCore::ClipboardChromium::create):
2746         * platform/chromium/PlatformBridge.h:
2747         * platform/chromium/ReadableDataObject.cpp:
2748         (WebCore::ReadableDataObject::create):
2749         (WebCore::ReadableDataObject::ReadableDataObject):
2750         (WebCore::ReadableDataObject::getData):
2751         (WebCore::ReadableDataObject::urlTitle):
2752         (WebCore::ReadableDataObject::htmlBaseUrl):
2753         (WebCore::ReadableDataObject::filenames):
2754         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
2755         * platform/chromium/ReadableDataObject.h:
2756
2757 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
2758
2759         Revert https://bugs.webkit.org/show_bug.cgi?id=53795
2760
2761         * storage/IDBAbortEvent.cpp:
2762         (WebCore::IDBAbortEvent::create):
2763         (WebCore::IDBAbortEvent::IDBAbortEvent):
2764         * storage/IDBAbortEvent.h:
2765         * storage/IDBCompleteEvent.cpp:
2766         (WebCore::IDBCompleteEvent::create):
2767         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
2768         * storage/IDBCompleteEvent.h:
2769         * storage/IDBErrorEvent.cpp:
2770         (WebCore::IDBErrorEvent::IDBErrorEvent):
2771         * storage/IDBEvent.cpp:
2772         (WebCore::IDBEvent::IDBEvent):
2773         * storage/IDBEvent.h:
2774         * storage/IDBRequest.cpp:
2775         (WebCore::IDBRequest::dispatchEvent):
2776         * storage/IDBRequest.h:
2777         * storage/IDBSuccessEvent.cpp:
2778         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
2779         * storage/IDBTransaction.cpp:
2780         (WebCore::IDBTransaction::onAbort):
2781         (WebCore::IDBTransaction::onComplete):
2782         * storage/IDBTransaction.h:
2783         * storage/IDBTransactionBackendImpl.cpp:
2784         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
2785
2786 2011-02-04  Martin Galpin  <martin@66laps.com>
2787
2788         Reviewed by David Levin.
2789
2790         CORS origin header not set on GET when a preflight request is required.
2791         https://bugs.webkit.org/show_bug.cgi?id=50773
2792         
2793         Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html
2794
2795         * loader/DocumentThreadableLoader.cpp:
2796         (WebCore::DocumentThreadableLoader::preflightSuccess): 
2797         Explicitly set the request origin after a preflight request succeeds.
2798
2799 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
2800
2801         Reviewed by Nate Chapin.
2802
2803         First step towards event propogation within IndexedDB
2804         https://bugs.webkit.org/show_bug.cgi?id=53795
2805
2806         This is the first step towards implementing
2807         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
2808         within IndexedDB. I've created a method that knows how
2809         to capture and bubble (based on Node's dispatchGenericEvent).
2810         I've then changed IDBRequest to use it.
2811
2812         The only functional change is that preventDefault now must
2813         be called in error events to prevent the transaction from
2814         being aborted. The tests reflect this change and there's one
2815         specific test to look at this behavior.
2816
2817         Test: storage/indexeddb/error-causes-abort-by-default.html
2818
2819         * storage/IDBAbortEvent.cpp:
2820         (WebCore::IDBAbortEvent::create):
2821         (WebCore::IDBAbortEvent::IDBAbortEvent):
2822         * storage/IDBAbortEvent.h:
2823         * storage/IDBCompleteEvent.cpp:
2824         (WebCore::IDBCompleteEvent::create):
2825         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
2826         * storage/IDBCompleteEvent.h:
2827         * storage/IDBErrorEvent.cpp:
2828         (WebCore::IDBErrorEvent::IDBErrorEvent):
2829         * storage/IDBEvent.cpp:
2830         (WebCore::IDBEvent::IDBEvent):
2831         (WebCore::IDBEvent::dispatch):
2832         * storage/IDBEvent.h:
2833         * storage/IDBRequest.cpp:
2834         (WebCore::IDBRequest::dispatchEvent):
2835         * storage/IDBRequest.h:
2836         * storage/IDBSuccessEvent.cpp:
2837         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
2838         * storage/IDBTransaction.cpp:
2839         (WebCore::IDBTransaction::onAbort):
2840         (WebCore::IDBTransaction::onComplete):
2841         * storage/IDBTransaction.h:
2842         (WebCore::IDBTransaction::backend):
2843         * storage/IDBTransactionBackendImpl.cpp:
2844         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
2845
2846 2011-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
2847
2848         Reviewed by Csaba Osztrogonác.
2849
2850         [Qt]REGRESSION(r76951): media/controls-without-preload.html fails
2851         https://bugs.webkit.org/show_bug.cgi?id=53674
2852
2853         * css/mediaControlsQt.css:
2854
2855 2011-02-04  Dan Bernstein  <mitz@apple.com>
2856
2857         Reviewed by Darin Adler and Dave Hyatt.
2858
2859         <rdar://problem/8902704> Make ruby text size 50% by default
2860         https://bugs.webkit.org/show_bug.cgi?id=53723
2861
2862         * css/html.css:
2863         (ruby > rt): Changed the font-size from 60% to 50%.
2864
2865 2011-02-04  Antti Koivisto  <antti@apple.com>
2866
2867         Reviewed by Dimitri Glazkov.
2868
2869         https://bugs.webkit.org/show_bug.cgi?id=53610
2870         Regression: adjacent sibling selector not working as expected
2871         <rdar://problem/8960033>
2872         
2873         https://bugs.webkit.org/show_bug.cgi?id=53574
2874         REGRESSION (r76012): :last-child:after not working as expected
2875         <rdar://problem/8948643>
2876         
2877         Test for additional conditions in parent style that prevent sharing.
2878
2879         Tests: fast/selectors/style-sharing-adjacent-selector.html
2880                fast/selectors/style-sharing-last-child.html
2881
2882         * css/CSSStyleSelector.cpp:
2883         (WebCore::parentStylePreventsSharing):
2884         (WebCore::CSSStyleSelector::locateSharedStyle):
2885
2886 2011-02-04  Mark Mentovai  <mark@chromium.org>
2887
2888         Reviewed by Dimitri Glazkov.
2889
2890         Chromium GYP build fix.
2891
2892         When various settings were moved to webcore_prerequisites in r66364,
2893         things that should have been direct_dependent_settings were not marked
2894         as such. GYP 'defines', for example, make no sense on a 'none'-type
2895         target such as webcore_prerequisites. It appears that it was intended
2896         for these settings to be pushed to direct dependents, which would make
2897         direct_dependent_settings correct.
2898
2899         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
2900         http://crbug.com/71537, which at best causes Mac console log spew, and
2901         at worst may result in Chromium's copy of WebCore using system
2902         definitions of certain Objective-C classes at runtime, or vice-versa.
2903
2904         The build now includes a postbuild step to prevent
2905         http://crbug.com/71537 from regressing again. The build will fail upon
2906         regression.
2907
2908         https://bugs.webkit.org/show_bug.cgi?id=53630
2909
2910         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
2911           direct_dependent_settings as needed, add the check_objc_rename
2912           postbuild step.
2913         * WebCore.gyp/mac/check_objc_rename.sh: Added.
2914
2915 2011-02-04  Robert Hogan  <robert@webkit.org>
2916
2917         Reviewed by Darin Fisher.
2918
2919         Move chromium iframe shim code to cross-platform file
2920         https://bugs.webkit.org/show_bug.cgi?id=52594
2921
2922         Move Chromium code for identifying and cutting out
2923         iframe shims from plugins to cross-platform utility file
2924         IFrameShimSupport.cpp.
2925         Amend PluginViewQt to use this code to handle shims correctly.
2926
2927         * WebCore.gypi: Add Chromium support for IFrameShimSupport.cpp
2928         * WebCore.pro: Add Qt support for IFrameShimSupport.cpp
2929         * plugins/IFrameShimSupport.cpp: Added.
2930         (WebCore::getObjectStack):
2931         (WebCore::iframeIsAbovePlugin):
2932         (WebCore::getPluginOcclusions):
2933         * plugins/IFframeShimSupport.h: Added.
2934         * plugins/qt/PluginViewQt.cpp:
2935         (WebCore::PluginView::setNPWindowIfNeeded):
2936
2937 2011-02-04  Xiaomei Ji  <xji@chromium.org>
2938
2939         Reviewed by David Levin.
2940
2941         Implement "<option> should implement the dir attribute" for chromium port after r76983.
2942         https://bugs.webkit.org/show_bug.cgi?id=50969
2943
2944         Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html
2945         added in r76983.
2946
2947         * platform/chromium/PopupMenuChromium.cpp: Remove directionality hint from
2948         <select> drop-down setting.
2949         (WebCore::PopupListBox::paintRow): Use <option>'s directionality to paint
2950         items in drop-down and pass-in bidi override flag when creating text run.
2951         * platform/chromium/PopupMenuChromium.h: Remove directionalityHint from
2952         PopupContainerSettings.
2953
2954 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
2955
2956         Build fix from merge mistake.
2957
2958         * storage/IDBTransaction.cpp:
2959         (WebCore::IDBTransaction::ensureEventTargetData):
2960
2961 2011-02-04  Levi Weintraub  <leviw@chromium.org>
2962
2963         Reviewed by Darin Adler.
2964
2965         Remove unneeded function declarations in comments in EditorClient.h
2966         https://bugs.webkit.org/show_bug.cgi?id=53745
2967
2968         Removing unused commented out function declarations. No tests since this is just cleanup.
2969
2970         * page/EditorClient.h:
2971
2972 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
2973
2974         Reviewed by Nate Chapin.
2975
2976         Refactor IDBRequest and IDBTransaction a bit
2977         https://bugs.webkit.org/show_bug.cgi?id=53565
2978
2979         There were a lot of subtle issues with the way IDBTransaction
2980         and IDBRequest used to be written. This cleans a lot of them up
2981         and largely simplifies the logic. Using EventQueue rather than
2982         timers is one example of the simplification.
2983
2984         * bindings/scripts/CodeGeneratorV8.pm:
2985         * dom/EventQueue.cpp:
2986         (WebCore::EventQueue::enqueueEvent):
2987         (WebCore::EventQueue::dispatchEvent):
2988         * storage/IDBCursor.cpp:
2989         (WebCore::IDBCursor::continueFunction):
2990         * storage/IDBRequest.cpp:
2991         (WebCore::IDBRequest::create):
2992         (WebCore::IDBRequest::IDBRequest):
2993         (WebCore::IDBRequest::resetReadyState):
2994         (WebCore::IDBRequest::onError):
2995         (WebCore::IDBRequest::onSuccess):
2996         (WebCore::IDBRequest::dispatchEvent):
2997         (WebCore::IDBRequest::enqueueEvent):
2998         (WebCore::IDBRequest::eventTargetData):
2999         (WebCore::IDBRequest::ensureEventTargetData):
3000         * storage/IDBRequest.h:
3001         (WebCore::IDBRequest::dispatchEvent):
3002         * storage/IDBTransaction.cpp:
3003         (WebCore::IDBTransaction::create):
3004         (WebCore::IDBTransaction::IDBTransaction):
3005         (WebCore::IDBTransaction::objectStore):
3006         (WebCore::IDBTransaction::abort):
3007         (WebCore::IDBTransaction::onAbort):
3008         (WebCore::IDBTransaction::onComplete):
3009         (WebCore::IDBTransaction::onTimeout):
3010         (WebCore::IDBTransaction::canSuspend):
3011         (WebCore::IDBTransaction::stop):
3012         (WebCore::IDBTransaction::enqueueEvent):
3013         (WebCore::IDBTransaction::eventTargetData):
3014         (WebCore::IDBTransaction::ensureEventTargetData):
3015         * storage/IDBTransaction.h:
3016
3017 2011-02-01  Jeremy Orlow  <jorlow@chromium.org>
3018
3019         Reviewed by Nate Chapin.
3020
3021         Remove the timeout event from IndexedDB
3022         https://bugs.webkit.org/show_bug.cgi?id=53521
3023
3024         Remove timeout and ontimeout from IDBTransaction per the spec.
3025
3026         * WebCore.gypi:
3027         * storage/IDBDatabase.cpp:
3028         (WebCore::IDBDatabase::transaction):
3029         * storage/IDBDatabase.h:
3030         (WebCore::IDBDatabase::transaction):
3031         * storage/IDBDatabase.idl:
3032         * storage/IDBDatabaseBackendImpl.cpp:
3033         (WebCore::IDBDatabaseBackendImpl::setVersion):
3034         (WebCore::IDBDatabaseBackendImpl::transaction):
3035         * storage/IDBDatabaseBackendImpl.h:
3036         * storage/IDBDatabaseBackendInterface.h:
3037         * storage/IDBTimeoutEvent.cpp: Removed.
3038         * storage/IDBTimeoutEvent.h: Removed.
3039         * storage/IDBTransaction.cpp:
3040         (WebCore::IDBTransaction::IDBTransaction):
3041         (WebCore::IDBTransaction::onAbort):
3042         (WebCore::IDBTransaction::onComplete):
3043         * storage/IDBTransaction.h:
3044         * storage/IDBTransaction.idl:
3045         * storage/IDBTransactionBackendImpl.cpp:
3046         (WebCore::IDBTransactionBackendImpl::create):
3047         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
3048         * storage/IDBTransactionBackendImpl.h:
3049         * storage/IDBTransactionCallbacks.h:
3050
3051 2011-02-04  Chris Fleizach  <cfleizach@apple.com>
3052
3053         Reviewed by Darin Adler.
3054
3055         AX: Can't set accessibility overridden attributes on web objects
3056         https://bugs.webkit.org/show_bug.cgi?id=53725
3057
3058         accessibilitySetOverriddenValue does not work on AX objects from WebCore because 
3059         the right method needed to be overridden (accessibilitySupportsOverriddenAttributes).
3060         Unfortunately, there's no way to test this from DRT, since AppKit returns the overridden
3061         attribute only when an AX client asks for it through the AX frameworks.
3062
3063         * accessibility/mac/AccessibilityObjectWrapper.mm:
3064         (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):
3065
3066 2011-02-03  Dimitri Glazkov  <dglazkov@chromium.org>
3067
3068         Reviewed by Kent Tamura.
3069
3070         REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track.
3071         https://bugs.webkit.org/show_bug.cgi?id=53691
3072
3073         Test: fast/repaint/slider-thumb-drag-release.html
3074
3075         * html/shadow/SliderThumbElement.cpp:
3076         (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure
3077             that the thumb is repainted.
3078
3079 2011-02-04  Mikhail Naganov  <mnaganov@chromium.org>
3080
3081         Reviewed by Pavel Feldman.
3082
3083         Web Inspector: Add "show more" data grid node and waiting message UI components.
3084         https://bugs.webkit.org/show_bug.cgi?id=53763
3085
3086         - "show more" data grid node is used for on-demand population of
3087         data grid contents (similar to DOM tree capability for limiting
3088         displayed nodes count);
3089
3090         - waiting message is used for informing user about long lasting
3091         operations (with a possibility to cancel them).
3092
3093         * English.lproj/localizedStrings.js:
3094         * WebCore.gypi:
3095         * WebCore.vcproj/WebCore.vcproj:
3096         * inspector/front-end/PleaseWaitMessage.js: Added.
3097         (WebInspector.PleaseWaitMessage):
3098         * inspector/front-end/ShowMoreDataGridNode.js: Added.
3099         (WebInspector.ShowMoreDataGridNode):
3100         * inspector/front-end/WebKit.qrc:
3101         * inspector/front-end/inspector.css:
3102         (.data-grid button):
3103         (.please-wait-msg):
3104         * inspector/front-end/inspector.html:
3105
3106 2011-02-04  Adele Peterson  <adele@apple.com>
3107
3108         Reviewed by Dan Bernstein.
3109
3110         Fix for https://bugs.webkit.org/show_bug.cgi?id=53740
3111         <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused
3112
3113         Tests:
3114         fast/forms/textarea-placeholder-visibility-1.html
3115         fast/forms/textarea-placeholder-visibility-2.html
3116         fast/forms/input-placeholder-visibility-1.html
3117         fast/forms/input-placeholder-visibility-2.html
3118         fast/forms/input-placeholder-visibility-3.html
3119
3120         * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
3121         Add a check for shouldShowPlaceholderWhenFocused.
3122         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue):
3123         Whenever the value is updated, we should also update placeholder visibility.
3124         * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused):
3125         Make the default the same as the existing behavior.
3126         * rendering/RenderThemeMac.h:
3127         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
3128         Show placeholder when appropriate. 
3129
3130 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
3131
3132         Reviewed by Pavel Feldman.
3133
3134         Web Inspector: evaluate on hover does not work on a breakpoint.
3135         https://bugs.webkit.org/show_bug.cgi?id=53768
3136
3137         * inspector/front-end/SourceFrame.js:
3138         (WebInspector.SourceFrame.prototype._mouseHover):
3139
3140 2011-02-04  Sheriff Bot  <webkit.review.bot@gmail.com>
3141
3142         Unreviewed, rolling out r77625 and r77626.
3143         http://trac.webkit.org/changeset/77625
3144         http://trac.webkit.org/changeset/77626
3145         https://bugs.webkit.org/show_bug.cgi?id=53765
3146
3147         It broke Windows builds (Requested by Ossy_ on #webkit).
3148
3149         * Android.jscbindings.mk:
3150         * CMakeLists.txt:
3151         * ForwardingHeaders/pcre/pcre.h: Added.
3152         * ForwardingHeaders/yarr/Yarr.h: Removed.
3153         * ForwardingHeaders/yarr/YarrInterpreter.h: Removed.
3154         * ForwardingHeaders/yarr/YarrPattern.h: Removed.
3155         * WebCore.gyp/WebCore.gyp:
3156         * WebCore.pro:
3157         * WebCore.vcproj/WebCore.vcproj:
3158         * WebCore.vcproj/copyForwardingHeaders.cmd:
3159         * platform/text/RegularExpression.cpp:
3160         (WebCore::RegularExpression::Private::regexp):
3161         (WebCore::RegularExpression::Private::compile):
3162         (WebCore::RegularExpression::Private::Private):
3163         (WebCore::RegularExpression::Private::create):
3164         (WebCore::RegularExpression::Private::~Private):
3165         (WebCore::RegularExpression::match):
3166
3167 2011-02-04  Peter Varga  <pvarga@webkit.org>
3168
3169         Rubber-stamped by Csaba Osztrogonác.
3170
3171         Replace PCRE with Yarr in WebCore
3172         https://bugs.webkit.org/show_bug.cgi?id=53496
3173
3174         Speculative windows build fix.
3175
3176         No new tests needed.
3177
3178         * platform/text/RegularExpression.cpp:
3179
3180 2011-02-04  Peter Varga  <pvarga@webkit.org>
3181
3182
3183         Reviewed by Gavin Barraclough.
3184
3185         Replace PCRE with Yarr in WebCore
3186         https://bugs.webkit.org/show_bug.cgi?id=53496
3187
3188         No new tests needed.
3189
3190         * Android.jscbindings.mk:
3191         * CMakeLists.txt:
3192         * ForwardingHeaders/pcre/pcre.h: Removed.
3193         * ForwardingHeaders/yarr/Yarr.h: Added.
3194         * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
3195         * ForwardingHeaders/yarr/YarrPattern.h: Added.
3196         * WebCore.gyp/WebCore.gyp:
3197         * WebCore.pro:
3198         * WebCore.vcproj/WebCore.vcproj:
3199         * WebCore.vcproj/copyForwardingHeaders.cmd:
3200         * platform/text/RegularExpression.cpp:
3201         (WebCore::RegularExpression::Private::create):
3202         (WebCore::RegularExpression::Private::Private):
3203         (WebCore::RegularExpression::Private::compile):
3204         (WebCore::RegularExpression::match):
3205
3206 2011-02-04  Pavel Feldman  <pfeldman@chromium.org>
3207
3208         Reviewed by Yury Semikhatsky.
3209
3210         Web Inspector: Network panel filtering is broken.
3211         https://bugs.webkit.org/show_bug.cgi?id=53764
3212
3213         * inspector/front-end/NetworkPanel.js:
3214         (WebInspector.NetworkPanel.prototype._sortItems):
3215         (WebInspector.NetworkPanel.prototype._sortByTimeline):
3216         (WebInspector.NetworkPanel.prototype._filter):
3217         (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
3218         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
3219         (WebInspector.NetworkDataGridNode.prototype.get selectable):
3220         (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
3221         (WebInspector.NetworkTotalGridNode.prototype.get selectable):
3222
3223 2011-02-04  Andrey Kosyakov  <caseq@chromium.org>
3224
3225         Reviewed by Pavel Feldman.
3226
3227         Web Inspector: support overriding user agent strings
3228         https://bugs.webkit.org/show_bug.cgi?id=51485
3229
3230         Test: http/tests/inspector/extensions-useragent.html
3231
3232         * inspector/Inspector.idl:
3233         * inspector/InspectorController.cpp:
3234         (WebCore::InspectorController::disconnectFrontend):
3235         (WebCore::InspectorController::setUserAgentOverride):
3236         (WebCore::InspectorController::userAgentOverride):
3237         * inspector/InspectorController.h:
3238         * inspector/front-end/ExtensionAPI.js:
3239         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
3240         * inspector/front-end/ExtensionServer.js:
3241         (WebInspector.ExtensionServer.prototype._onReload):
3242         * loader/FrameLoader.cpp:
3243         (WebCore::FrameLoader::userAgent):
3244         (WebCore::FrameLoader::applyUserAgent):
3245
3246 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
3247
3248         Reviewed by Pavel Feldman.
3249
3250         Web Inspector: scripts panel displays wrong file name after reload.
3251         https://bugs.webkit.org/show_bug.cgi?id=53761
3252
3253         * inspector/front-end/ScriptsPanel.js:
3254         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
3255
3256 2011-02-03  Yury Semikhatsky  <yurys@chromium.org>
3257
3258         Reviewed by Pavel Feldman.
3259
3260         Web Inspector: remove settings related methods from InspectorClient
3261         https://bugs.webkit.org/show_bug.cgi?id=53686
3262
3263         * WebCore.exp.in:
3264         * inspector/CodeGeneratorInspector.pm:
3265         * inspector/InspectorClient.h:
3266         * inspector/InspectorFrontendClientLocal.cpp:
3267         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
3268         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
3269         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
3270         * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
3271         provide platform-specific settings accessor.
3272         (WebCore::InspectorFrontendClientLocal::Settings::Settings):
3273         (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
3274         (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
3275         (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
3276         * loader/EmptyClients.h:
3277
3278 2011-02-03  Anton Muhin  <antonm@chromium.org>
3279
3280         Reviewed by Adam Barth.
3281
3282         [v8] frame several more JS code invocations into v8::TryCatch
3283         https://bugs.webkit.org/show_bug.cgi?id=53594
3284
3285         This patch is preemptive and adjusts v8 bindings code to forthcoming small change
3286         in v8::ThrowException---currently sometimes exceptions thrown by this method
3287         do not reach surrounding v8::TryCatch handler (see
3288         http://code.google.com/p/v8/issues/detail?id=1072 and
3289         http://codereview.chromium.org/6397011/).  Therefore the goal of this patch
3290         is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
3291         one rebaseline as of now.)
3292
3293         * bindings/v8/V8Proxy.cpp:
3294         (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
3295         * bindings/v8/V8WindowErrorHandler.cpp:
3296         (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
3297
3298 2011-02-03  Maciej Stachowiak  <mjs@apple.com>
3299
3300         Reviewed by Dan Bernstein.
3301
3302         WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
3303         https://bugs.webkit.org/show_bug.cgi?id=52897
3304         <rdar://problem/8898294>
3305
3306         * WebCore.exp.in: Add export now needed by WebKit2
3307
3308 2011-02-03  Victoria Kirst  <vrk@google.com>
3309
3310         Reviewed by James Robinson.
3311
3312         Replaces float literals with uniform values in shader code
3313         so that buggy drivers unable to parse float values in different
3314         locales will not produce a pink video.
3315
3316         [chromium] Fix pink video bug with gpu-acceleration enabled
3317         https://bugs.webkit.org/show_bug.cgi?id=53568
3318
3319         * platform/graphics/chromium/VideoLayerChromium.cpp:
3320         (WebCore::VideoLayerChromium::SharedValues::SharedValues):
3321         (WebCore::VideoLayerChromium::drawYUV):
3322         * platform/graphics/chromium/VideoLayerChromium.h:
3323         (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
3324
3325 2011-02-03  James Kozianski  <koz@chromium.org>
3326
3327         Reviewed by Dimitri Glazkov.
3328
3329         Add navigator.registerProtocolHandler behind a flag.
3330         https://bugs.webkit.org/show_bug.cgi?id=52609
3331
3332         This method is described in the HTML5 specification here,
3333         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
3334
3335         This change is largely cribbed from B. Green's 29651 patches. It is
3336         behind a flag so as not to break JS feature detection.
3337
3338         New layout test fast/dom/registerProtocolHandler.html.
3339
3340         * Configurations/FeatureDefines.xcconfig:
3341         * loader/EmptyClients.h:
3342         (WebCore::EmptyChromeClient::registerProtocolHandler):
3343         * page/Chrome.cpp:
3344         (WebCore::Chrome::registerProtocolHandler):
3345         * page/Chrome.h:
3346         * page/ChromeClient.h:
3347         * page/Navigator.cpp:
3348         (WebCore::verifyCustomHandlerURL):
3349         (WebCore::verifyProtocolHandlerScheme):
3350         (WebCore::Navigator::registerProtocolHandler):
3351         * page/Navigator.h:
3352         * page/Navigator.idl:
3353
3354 2011-02-03  Brian Ryner  <bryner@chromium.org>
3355
3356         Reviewed by Darin Fisher.
3357
3358         Add a field to the ResourceResponse for tracking the socket address
3359         of the host that the resource was fetched from.  Patch was originally
3360         by Paul Marks.
3361         https://bugs.webkit.org/show_bug.cgi?id=53699
3362
3363         * platform/network/chromium/ResourceResponse.cpp:
3364         (WebCore::ResourceResponse::doPlatformCopyData):
3365         (WebCore::ResourceResponse::doPlatformAdopt):
3366         * platform/network/chromium/ResourceResponse.h:
3367         (WebCore::ResourceResponse::socketAddress):
3368         (WebCore::ResourceResponse::setSocketAddress):
3369
3370 2011-02-03  Adam Langley  <agl@chromium.org>
3371
3372         Reviewed by Adam Barth.
3373
3374         Plumb mixed script URL to FrameLoaderClient
3375         https://bugs.webkit.org/show_bug.cgi?id=52384
3376
3377         Regressions covered by http/tests/security/mixedContent/*
3378
3379         * loader/EmptyClients.h:
3380         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
3381         * loader/FrameLoader.cpp:
3382         (WebCore::FrameLoader::checkIfRunInsecureContent):
3383         * loader/FrameLoaderClient.h:
3384
3385 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
3386
3387         Reviewed by Dan Bernstein.
3388
3389         REGRESSION: Artifacts on box-shadow corners in some cases
3390         https://bugs.webkit.org/show_bug.cgi?id=53731
3391
3392         Fix overdrawing artifacts in ShadowBlur's tiling code path,
3393         which show up in shadows using a color with alpha.
3394         
3395         Test: fast/box-shadow/shadow-tiling-artifact.html
3396
3397         * platform/graphics/ShadowBlur.cpp:
3398         (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
3399         that the inner rect that gets filled does not overlap with any
3400         of the eight tiled areas by having the corner and side dimensions
3401         be the same for contiguous areas.
3402
3403 2011-02-03  Adam Barth  <abarth@webkit.org>
3404
3405         Reviewed by Alexey Proskuryakov.
3406
3407         XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
3408         percent signs in large posted data
3409         https://bugs.webkit.org/show_bug.cgi?id=53405
3410
3411         If the input string contains many non-% characters followed by a %
3412         character that is not a valid URL escape sequence, then the old
3413         algorithm would only advance the initial search by one character
3414         (instead of jumping to just after the % character).  That would cause
3415         the algorithm to take N^2 time (in the number of characters before the
3416         first % character).  This patch just advances the search past the first
3417         % character so we can start looking for next % character sooner.
3418
3419         * platform/KURL.cpp:
3420         (WebCore::decodeURLEscapeSequences):
3421
3422 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
3423
3424         Reviewed by Pavel Feldman.
3425
3426         Web Inspector: click on a breakpoint highlights wrong line in source frame.
3427         https://bugs.webkit.org/show_bug.cgi?id=53692
3428
3429         * inspector/front-end/BreakpointsSidebarPane.js:
3430         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
3431
3432 2011-02-03  Anton Muhin  <antonm@chromium.org>
3433
3434         Reviewed by Adam Barth.
3435
3436         [v8] Bail out if to string conversion returned empty handle
3437         https://bugs.webkit.org/show_bug.cgi?id=53687
3438
3439         This a temporary measure: actually one probably should never get empty handle
3440         if there was no exception.  The root cause is under investigation.
3441         The bailout though allows Chromium not to crash---attempt to convert an empty
3442         v8 hande into WebCore string crashes with invalid memory access.
3443
3444         See http://code.google.com/p/chromium/issues/detail?id=71544
3445
3446         There is no known reduction expressible as a layout test so far.  The crash found with automated testing tools.
3447
3448         * bindings/v8/V8Binding.cpp:
3449         (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
3450         * bindings/v8/V8Binding.h:
3451         (WebCore::V8ParameterBase::prepareBase): Ditto
3452
3453 2011-02-03  Adam Barth  <abarth@webkit.org>
3454
3455         Attempt to fix Chromium build.
3456
3457         * html/parser/XSSFilter.cpp:
3458
3459 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
3460
3461         Unreviewed, rolling out r77562.
3462         http://trac.webkit.org/changeset/77562
3463         https://bugs.webkit.org/show_bug.cgi?id=53630
3464
3465         broke chromium mac build
3466
3467         * WebCore.gyp/WebCore.gyp:
3468         * WebCore.gyp/mac/check_objc_rename.sh: Removed.
3469
3470 2011-02-03  Adam Barth  <abarth@webkit.org>
3471
3472         Reviewed by Daniel Bates.
3473
3474         XSS Auditor severely affects loading performance after submitting a large form
3475         https://bugs.webkit.org/show_bug.cgi?id=49845
3476
3477         Switch over from the XSSAuditor to the XSSFilter, improving performance
3478         on this example.
3479
3480         * html/parser/XSSFilter.cpp:
3481         (WebCore::XSSFilter::filterToken):
3482         * page/XSSAuditor.cpp:
3483         (WebCore::XSSAuditor::isEnabled):
3484
3485 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
3486
3487         Unreviewed, rolling out r77567.
3488         http://trac.webkit.org/changeset/77567
3489         https://bugs.webkit.org/show_bug.cgi?id=53468
3490
3491         broke chromium linux svg, canvas tests, possibly win also?
3492
3493         * platform/graphics/skia/ImageBufferSkia.cpp:
3494         (WebCore::getImageData):
3495         (WebCore::ImageBuffer::getUnmultipliedImageData):
3496         (WebCore::ImageBuffer::getPremultipliedImageData):
3497         (WebCore::putImageData):
3498         (WebCore::ImageBuffer::putUnmultipliedImageData):
3499         (WebCore::ImageBuffer::putPremultipliedImageData):
3500
3501 2011-02-02  MORITA Hajime  <morrita@google.com>
3502
3503         Reviewed by Dimitri Glazkov.
3504
3505         Refactoring: <progress> should not use ShadowElement
3506         https://bugs.webkit.org/show_bug.cgi?id=53583
3507
3508         - Introduced RenderIndicatorPart and RenderProgressBarValuePart
3509           to be responsible for bar-part layout,
3510           which adopted layout logic from ShadowBlockElement.
3511         - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
3512         - Remove dependency from RenderProgress to HTMLProgressElement and
3513           ShadowBlockElement.
3514         - The shadow tree is no longer removed on detach(). It becomes persistent.
3515           This is now possible because the ShadowBlockElement dependency is gone.
3516         - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
3517           That didn't make sense.
3518
3519         * html/HTMLProgressElement.cpp:
3520         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
3521         * html/HTMLProgressElement.h:
3522         * html/shadow/ProgressBarValueElement.h: Added.
3523         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
3524         (WebCore::ProgressBarValueElement::shadowPseudoId):
3525         (WebCore::ProgressBarValueElement::createRenderer):
3526         (WebCore::ProgressBarValueElement::create):
3527         * rendering/RenderIndicator.cpp:
3528         (WebCore::RenderIndicatorPart::RenderIndicatorPart):
3529         (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
3530         (WebCore::RenderIndicatorPart::layout):
3531         (WebCore::RenderIndicatorPart::styleDidChange):
3532         * rendering/RenderIndicator.h: Added RenderIndicatorPart class