9a25c85875513752db4a7eb71b2178080457d593
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-07-14  Darin Adler  <darin@apple.com>
2
3         [Mac] Use [NSCursor operationNotAllowedCursor] for CSS no-drop as well as CSS not-allowed
4         https://bugs.webkit.org/show_bug.cgi?id=64570
5
6         Reviewed by Alexey Proskuryakov.
7
8         Mac OS X documentation and usage makes it clear that this cursor is usually used for no-drop,
9         and that it's also reasonable to use it for not-allowed.
10
11         * platform/mac/CursorMac.mm:
12         (WebCore::Cursor::ensurePlatformCursor): Use [NSCursor operationNotAllowedCursor] for
13         Cursor::NoDrop.
14
15 2011-07-14  Luke Macpherson   <macpherson@chromium.org>
16
17         Reviewed by Dimitri Glazkov.
18
19         Introduce templated compute length class in CSSStyleApplyProperty, and use to handle several CSS properties.
20         https://bugs.webkit.org/show_bug.cgi?id=62957
21
22         No new tests / refactoring only.
23
24         * css/CSSPrimitiveValue.cpp:
25         (WebCore::CSSPrimitiveValue::computeLength):
26         Add computeLength function that returns unsigned short.
27         * css/CSSStyleApplyProperty.cpp:
28         (WebCore::ApplyPropertyComputeLength::ApplyPropertyComputeLength):
29         Added class to handle computeLength based properties.
30         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
31         Initialize ApplyPropertyComputeLength for appropriate properties.
32         * css/CSSStyleSelector.cpp:
33         (WebCore::CSSStyleSelector::useSVGZoomRules):
34         Make this a public member function instead of a private static function.
35         (WebCore::CSSStyleSelector::applyProperty):
36         Removed code now implemented in CSSStyleApplyProperty.
37         (WebCore::CSSStyleSelector::setFontSize):
38         Use new useSVGZoomRules function.
39         * css/CSSStyleSelector.h:
40         Add interface for useSVGZoomRules.
41
42 2011-07-14  Antti Koivisto  <antti@apple.com>
43
44         REGRESSION: Should not dispatch didFirstVisuallyNonEmptyLayout for the initial empty document
45         https://bugs.webkit.org/show_bug.cgi?id=64557
46
47         Reviewed by Kenneth Rohde Christiansen.
48
49         Avoid sending didFirstVisuallyNonEmptyLayout for the initial empty document of the frame. The
50         clients may not expect it and it doesn't make much sense in any case.
51
52         * page/FrameView.cpp:
53         (WebCore::FrameView::performPostLayoutTasks):
54
55 2011-07-14  Jeffrey Pfau  <jpfau@apple.com>
56
57         Character reference parser for new XML parser
58         https://bugs.webkit.org/show_bug.cgi?id=64398
59
60         Reviewed by Adam Barth.
61
62         Refactored out the HTML entity parser and added a common template for parsing character references.
63
64         * WebCore.xcodeproj/project.pbxproj:
65         * html/parser/HTMLEntityParser.cpp:
66         (WebCore::consumeHTMLEntity):
67         * xml/parser/CharacterReferenceParserInlineMethods.h: Copied from Source/WebCore/html/parser/HTMLEntityParser.cpp.
68         (WebCore::isHexDigit):
69         (WebCore::unconsumeCharacters):
70         (WebCore::consumeCharacterReference):
71         * xml/parser/XMLCharacterReferenceParser.cpp: Added.
72         (WebCore::consumeXMLCharacterReference):
73         * xml/parser/XMLCharacterReferenceParser.h: Added.
74
75 2011-07-14  Ilya Tikhonovsky  <loislo@chromium.org>
76
77         Reviewed by Pavel Feldman.
78
79         Web Inspector: panel switching is too slow.
80         https://bugs.webkit.org/show_bug.cgi?id=60959
81
82         * inspector/front-end/inspector.css:
83         (.panel):
84         (.panel.visible):
85
86 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
87
88         Web Inspector: remove more unused CSS from inspector.css
89         https://bugs.webkit.org/show_bug.cgi?id=64529
90
91         Reviewed by Pavel Feldman.
92
93         * inspector/front-end/inspector.css:
94
95 2011-07-14  Ryosuke Niwa  <rniwa@webkit.org>
96
97         Move subtreeHasChanged from RenderTextControl to HTMLTextFormControlElement
98         https://bugs.webkit.org/show_bug.cgi?id=64476
99
100         Reviewed by Kent Tamura.
101
102         Moved subtreeHasChanged from RenderTextControl, RenderTextControlSingleLine, and
103         RenderTextControlMultiLine to HTMLTextFormControlElement, HTMLInputElement, and
104         HTMLTextAreaElement. Also moved m_searchEventTimer and related functions from
105         RenderTextSingleLine to SearchInputType.
106
107         * html/HTMLInputElement.cpp:
108         (WebCore::HTMLInputElement::subtreeHasChanged): Moved from RenderTextControlSingleLine.
109         (WebCore::HTMLInputElement::onSearch): Calls stopSearchEventTimer.
110         * html/HTMLInputElement.h:
111         * html/HTMLTextAreaElement.cpp:
112         (WebCore::HTMLTextAreaElement::subtreeHasChanged): Moved from RenderTextMultiLine.
113         * html/HTMLTextAreaElement.h:
114         * html/HTMLTextFormControlElement.cpp:
115         (WebCore::HTMLTextFormControlElement::defaultEventHandler): Calls subtreeHasChanged.
116         (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Added; calls respondToChangeByUser.
117         * html/HTMLTextFormControlElement.h:
118         * html/SearchInputType.cpp:
119         (WebCore::SearchInputType::SearchInputType): Initializes m_searchEventTimer.
120         (WebCore::SearchInputType::startSearchEventTimer): Moved from RenderTextControlSingleLine.
121         (WebCore::SearchInputType::stopSearchEventTimer): Ditto.
122         (WebCore::SearchInputType::searchEventTimerFired): Ditto.
123         * html/SearchInputType.h:
124         * html/TextFieldInputType.cpp:
125         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): Updated comment.
126         * rendering/RenderTextControl.cpp:
127         * rendering/RenderTextControl.h:
128         (WebCore::RenderTextControl::respondToChangeByUser): Renamed from subtreeHasChanged.
129         * rendering/RenderTextControlMultiLine.cpp:
130         * rendering/RenderTextControlMultiLine.h:
131         * rendering/RenderTextControlSingleLine.cpp:
132         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): No longer initializes
133         m_searchEventTimer.
134         * rendering/RenderTextControlSingleLine.h:
135
136 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
137
138         Move XML errors handling out from XMLDocumentParser (refactoring).
139         https://bugs.webkit.org/show_bug.cgi?id=64305
140
141         XML errors handling logic is moved out from XMLDocumentParser to allow using it for XSLT error handling as well.
142
143         Reviewed by Adam Barth.
144
145         No tests needed as there is no new functionality added.
146
147         * CMakeLists.txt:
148         * GNUmakefile.list.am:
149         * WebCore.gypi:
150         * WebCore.pro:
151         * WebCore.vcproj/WebCore.vcproj:
152         * WebCore.xcodeproj/project.pbxproj:
153         * xml/XMLErrors.cpp: Added.
154         (WebCore::XMLErrors::XMLErrors):
155         (WebCore::XMLErrors::handleError):
156         (WebCore::XMLErrors::appendErrorMessage):
157         (WebCore::createXHTMLParserErrorHeader):
158         (WebCore::XMLErrors::insertErrorMessageBlock):
159         * xml/XMLErrors.h: Added.
160         * xml/parser/XMLDocumentParser.cpp:
161         (WebCore::XMLDocumentParser::pushCurrentNode):
162         (WebCore::XMLDocumentParser::handleError):
163         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
164         * xml/parser/XMLDocumentParser.h:
165         * xml/parser/XMLDocumentParserLibxml2.cpp:
166         (WebCore::PendingCallbacks::appendErrorCallback):
167         (WebCore::XMLDocumentParser::XMLDocumentParser):
168         (WebCore::XMLDocumentParser::doWrite):
169         (WebCore::XMLDocumentParser::error):
170         (WebCore::warningHandler):
171         (WebCore::fatalErrorHandler):
172         (WebCore::normalErrorHandler):
173         * xml/parser/XMLDocumentParserQt.cpp:
174         (WebCore::XMLDocumentParser::XMLDocumentParser):
175         (WebCore::XMLDocumentParser::doWrite):
176         (WebCore::XMLDocumentParser::doEnd):
177         (WebCore::XMLDocumentParser::parse):
178         (WebCore::XMLDocumentParser::parseStartElement):
179         (WebCore::XMLDocumentParser::parseDtd):
180
181 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
182
183         Web Inspector: InspectorResourceAgent should generate unique identifier and save cachedResource for resources from memory cache.
184         https://bugs.webkit.org/show_bug.cgi?id=64356
185
186         Reviewed by Yury Semikhatsky.
187
188         * inspector/Inspector.json:
189         * inspector/InspectorInstrumentation.cpp:
190         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
191         * inspector/InspectorInstrumentation.h:
192         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
193         * inspector/InspectorResourceAgent.cpp:
194         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
195         * inspector/InspectorResourceAgent.h:
196         * inspector/front-end/NetworkManager.js:
197         (WebInspector.NetworkManager.prototype.requestContent):
198         (WebInspector.NetworkDispatcher):
199         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
200         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
201         * inspector/front-end/NetworkPanel.js:
202         (WebInspector.NetworkLogView.prototype._frameNavigated):
203         * loader/FrameLoader.cpp:
204         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
205         * loader/FrameLoader.h:
206
207 2011-07-14  Tim Horton  <timothy_horton@apple.com>
208
209         Clear SVGElementInstance's children immediately upon detachment
210         https://bugs.webkit.org/show_bug.cgi?id=63739
211         <rdar://problem/9705708>
212
213         Reviewed by Nikolas Zimmermann.
214
215         In addition to clearing the instance's children in the destructor,
216         clear them when the instance is detached from its <use>. This way,
217         we won't attempt to use them after we're detached but before the
218         destructor has been called.
219
220         Test: svg/custom/use-crash-using-children-before-destroy.svg
221
222         * svg/SVGElementInstance.cpp:
223         (WebCore::SVGElementInstance::~SVGElementInstance):
224         (WebCore::SVGElementInstance::clearChildren):
225         * svg/SVGElementInstance.h:
226         * svg/SVGUseElement.cpp:
227         (WebCore::SVGUseElement::detachInstance):
228
229 2011-07-14  Nate Chapin  <japhet@chromium.org>
230
231         Don't skip custom cursors if an Image* is null,
232         since this can lead to a non-custom Cursor flickering 
233         back in when the custom cursor hasn't finished loading yet.
234         https://bugs.webkit.org/show_bug.cgi?id=64321
235
236         Reviewed by Darin Fisher.
237
238         Manual test, since we're testing visual flickering.
239
240         * manual-tests/canvas-cursor.html: Added.
241         * page/EventHandler.cpp:
242         (WebCore::EventHandler::selectCursor):
243         * platform/Cursor.cpp:
244         (WebCore::determineHotSpot):
245
246 2011-07-14  Young Han Lee  <joybro@company100.net>
247
248         Reviewed by Dirk Schulze.
249
250         REGRESSION (r89774): svg/W3C-SVG-1.1/animate-elem-82-t.svg hits assertion failure.
251         https://bugs.webkit.org/show_bug.cgi?id=63911
252
253         Some functions assumed calculateKeyTimesIndex() does not return the last index of
254         the keyTimes, but it would be right behavior for calculateKeyTimesIndex() when it
255         accepts 1 as the percent argument.
256
257         To avoid the assumption, and for more efficiency, this patch allows the functions
258         using calculateKeyTimesIndex() to return early when it accepts 1 as the percent argument.
259         These functions have always returned the last element of the corresponding vector
260         in that situation.
261
262         * svg/SVGAnimationElement.cpp:
263         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
264         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
265
266 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
267
268         Web Inspector: remove more dead code
269         https://bugs.webkit.org/show_bug.cgi?id=64524
270
271         Reviewed by Yury Semikhatsky.
272
273         * WebCore.gypi:
274         * inspector/front-end/SummaryBar.js: Removed.
275         * inspector/front-end/WebKit.qrc:
276         * inspector/front-end/inspector.css:
277         * inspector/front-end/inspector.html:
278
279 2011-07-14  Peter Varga  <pvarga@webkit.org>
280
281         [Qt][V8] Build fix after r90830.
282
283         Reviewed by Csaba Osztrogonác.
284
285         The histogramEnumeration() function isn't available from the Qt port's
286         PlatformBridge.h because this function is Chromium specific.
287         Since the http://trac.webkit.org/changeset/90830 change we need to
288         guard the usage of the histogramEnumeration() function.
289
290         No new tests needed.
291
292         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
293         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
294         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
295         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
296
297 2011-07-14  Yury Semikhatsky  <yurys@chromium.org>
298
299         Web Inspector: show only Console and Scripts panels in shared worker inspector front-end
300         https://bugs.webkit.org/show_bug.cgi?id=64519
301
302         Reviewed by Pavel Feldman.
303
304         * inspector/front-end/WorkerManager.js:
305         (WebInspector.WorkerManager):
306         (WebInspector.WorkerManager.isWorkerFrontend):
307         (WebInspector.WorkerManager.isSharedWorkerFrontend):
308         (WebInspector.WorkerManager.prototype._openInspectorWindow):
309         (WebInspector.DedicatedWorkerMessageForwarder):
310
311 2011-07-14  MORITA Hajime  <morrita@google.com>
312
313         Unreviewed, rolling out r90976, r90981, and r90985.
314         http://trac.webkit.org/changeset/90976
315         http://trac.webkit.org/changeset/90981
316         http://trac.webkit.org/changeset/90985
317         https://bugs.webkit.org/show_bug.cgi?id=64251
318
319         build break
320
321         * WebCore.exp.in:
322         * dom/NodeRenderingContext.cpp:
323         (WebCore::NodeRenderingContext::NodeRenderingContext):
324         (WebCore::NodeRenderingContext::nextRenderer):
325         (WebCore::NodeRenderingContext::previousRenderer):
326         * dom/NodeRenderingContext.h:
327         * dom/ShadowContentElement.cpp:
328         (WebCore::ShadowContentElement::attach):
329         (WebCore::ShadowContentElement::detach):
330         * dom/ShadowContentElement.h:
331         * dom/ShadowContentSelector.cpp:
332         (WebCore::ShadowContentSelector::ShadowContentSelector):
333         (WebCore::ShadowContentSelector::selectInclusion):
334         (WebCore::ShadowContentSelector::willAttachContentFor):
335         (WebCore::ShadowContentSelector::didAttachContent):
336         (WebCore::ShadowContentSelector::activeElement):
337         * dom/ShadowContentSelector.h:
338         * dom/ShadowRoot.cpp:
339         (WebCore::ShadowRoot::~ShadowRoot):
340         (WebCore::ShadowRoot::activeContentElement):
341         * dom/ShadowRoot.h:
342         * testing/Internals.cpp:
343         * testing/Internals.h:
344         * testing/Internals.idl:
345
346 2011-07-13  Ryosuke Niwa  <rniwa@webkit.org>
347
348         Move forwardEvent from RenderTextControl to HTMLTextFormControlElement
349         https://bugs.webkit.org/show_bug.cgi?id=64475
350
351         Reviewed by Kent Tamura.
352
353         Moved forwardEvent from RenderTextControl, RenderTextControlSingleLine, and RenderTextControlMultiLine
354         to HTMLTextFormControlElement, HTMLInputElement, and HTMLTextAreaElement.
355
356         This removes the last dependency on Event.h and EventNames.h in the cpp files for the above render
357         objects classes.
358
359         * html/HTMLTextAreaElement.cpp:
360         (WebCore::HTMLTextAreaElement::defaultEventHandler):
361         * html/HTMLTextFormControlElement.cpp:
362         (WebCore::HTMLTextFormControlElement::forwardEvent):
363         * html/HTMLTextFormControlElement.h:
364         * html/TextFieldInputType.cpp:
365         (WebCore::TextFieldInputType::forwardEvent):
366         * rendering/RenderTextControl.cpp:
367         * rendering/RenderTextControl.h:
368         * rendering/RenderTextControlMultiLine.cpp:
369         * rendering/RenderTextControlMultiLine.h:
370         * rendering/RenderTextControlSingleLine.cpp:
371         * rendering/RenderTextControlSingleLine.h:
372
373 2011-07-13  Ilya Tikhonovsky  <loislo@chromium.org>
374
375         Web Inspector: if you rename an element into the INPUT element the browser will crash.
376         https://bugs.webkit.org/show_bug.cgi?id=64292
377
378         Reviewed by Joseph Pecoraro.
379
380         * inspector/InspectorDOMAgent.cpp:
381         (WebCore::InspectorDOMAgent::setNodeName):
382         Unnecessary function call copyNonAttributeProperties was removed.
383
384 2011-07-13  Yuta Kitamura  <yutak@chromium.org>
385
386         WebSocket: Implement hybi handshake
387         https://bugs.webkit.org/show_bug.cgi?id=64344
388
389         Reviewed by Kent Tamura.
390
391         Implement WebSocket handshake which is described at
392         <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-5.1>.
393
394         Notable differences from hixie-76 protocol are:
395         - Challenge-response scheme has been changed dramatically.
396         - Servers do not send Sec-WebSocket-Location and Sec-WebSocket-Origin anymore.
397         - The value of "Upgrade" header has been changed to "websocket" (lower-case only).
398         - "Origin" header in client's request is renamed to "Sec-WebSocket-Origin".
399
400         New tests: http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html
401                    http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html
402                    http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html
403
404         Note: Tests under hybi/ directory (including the new ones) are skipped and cannot be enabled
405         yet, because pywebsocket does not accept requests from half-baked client implementation
406         (i.e. hybi handshake + hixie-76 framing). They will be unskipped when hybi framing is landed
407         in WebCore.
408
409         * websockets/WebSocketHandshake.cpp:
410         Functions and members only used for hixie-76 handshake are renamed so that they are not confused
411         with hybi-10's ones.
412         (WebCore::generateHixie76SecWebSocketKey):
413         (WebCore::generateHixie76Key3):
414         (WebCore::generateHixie76ExpectedChallengeResponse):
415         (WebCore::generateSecWebSocketKey):
416         Generates a value for Sec-WebSocket-Key as stated in hybi-10.
417         (WebCore::getExpectedWebSocketAccept):
418         Calculates the expected value of Sec-WebSocket-Accept.
419         (WebCore::WebSocketHandshake::WebSocketHandshake):
420         (WebCore::WebSocketHandshake::clientHandshakeMessage):
421         (WebCore::WebSocketHandshake::clientHandshakeRequest):
422         (WebCore::WebSocketHandshake::readServerHandshake):
423         (WebCore::WebSocketHandshake::serverWebSocketAccept):
424         (WebCore::WebSocketHandshake::serverWebSocketExtensions):
425         (WebCore::WebSocketHandshake::checkResponseHeaders):
426         * websockets/WebSocketHandshake.h:
427
428 2011-07-13  MORITA Hajime  <morrita@google.com>
429
430         [ShadowContentElement] forwarded node should be able to access its hosting content element.
431         https://bugs.webkit.org/show_bug.cgi?id=64251
432         
433         Reviewed by Dimitri Glazkov.
434
435         - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
436           ShadowInclusionSet instance is owned by ShadowRoot.
437         - Updated the set on inclusion list changes.
438         - Used the set to retrieve the content element of NodeRenderingContext.
439         
440         There are also related refactoring and cleanup:
441         - Renamed NodeRenderingContext::m_contentElement to m_includer
442         - ShadowContentSelector::m_activeElement is no longer used, thus removed.
443         
444         Test: fast/dom/shadow/content-element-includer.html
445
446         * WebCore.exp.in:
447         * dom/NodeRenderingContext.cpp:
448         (WebCore::NodeRenderingContext::NodeRenderingContext):
449         (WebCore::NodeRenderingContext::nextRenderer):
450         (WebCore::NodeRenderingContext::previousRenderer):
451         * dom/NodeRenderingContext.h:
452         (WebCore::NodeRenderingContext::includer): 
453         * dom/ShadowContentElement.cpp:
454         (WebCore::removeFromSet): Added
455         (WebCore::addToSet): Added
456         (WebCore::ShadowContentElement::attach):
457         (WebCore::ShadowContentElement::detach):
458         * dom/ShadowContentElement.h:
459         (WebCore::ShadowInclusionSet::add):
460         (WebCore::ShadowInclusionSet::remove):
461         (WebCore::ShadowInclusionSet::isEmpty):
462         (WebCore::ShadowInclusionSet::Translator::hash):
463         (WebCore::ShadowInclusionSet::Translator::equal):
464         (WebCore::ShadowInclusionSet::Hash::hash):
465         (WebCore::ShadowInclusionSet::Hash::equal):
466         (WebCore::ShadowInclusionSet::find):
467         * dom/ShadowContentSelector.cpp:
468         (WebCore::ShadowContentSelector::ShadowContentSelector):
469         (WebCore::ShadowContentSelector::selectInclusion):
470         * dom/ShadowContentSelector.h:
471         * dom/ShadowRoot.cpp:
472         (WebCore::ShadowRoot::~ShadowRoot):
473         (WebCore::ShadowRoot::includerFor): Replaced activeElement()
474         (WebCore::ShadowRoot::inclusions): Added
475         (WebCore::ShadowRoot::ensureInclusions): Added
476         * dom/ShadowRoot.h:
477         (WebCore::toShadowRoot):
478         * testing/Internals.cpp:
479         (WebCore::Internals::includerFor):
480         * testing/Internals.h:
481         * testing/Internals.idl:
482
483 2011-07-12  Dominic Cooney  <dominicc@chromium.org>
484
485         Raise if dispatchEvent dispatches an event that is being dispatched
486         https://bugs.webkit.org/show_bug.cgi?id=64150
487
488         Reviewed by Dimitri Glazkov.
489
490         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-EventTarget-dispatchEvent
491
492         Test: fast/events/dispatch-event-being-dispatched.html
493
494         * dom/Event.h:
495         (WebCore::Event::isBeingDispatched): Added.
496         * dom/EventException.h:
497         * dom/EventException.idl: Add DISPATCH_REQUEST_ERR.
498         * dom/EventTarget.cpp:
499         (WebCore::EventTarget::dispatchEvent): Raise if being dispatched.
500         * dom/ExceptionCode.cpp: Add gunk for DISPATCH_REQUEST_ERR.
501
502 2011-07-13  Kent Tamura  <tkent@chromium.org>
503
504         Implement text field placeholders using shadow DOM
505         https://bugs.webkit.org/show_bug.cgi?id=64253
506
507         Reviewed by Dimitri Glazkov.
508
509         Represents a placeholder text as a shadow element, and its
510         visibility is controlled by 'visibility' CSS property.
511
512         This patch removes all of existing code about placeholder from
513         RenderTextControl*. RenderTextControl* have only small code about
514         placeholder layout.
515
516         Also, this patch removes INPUT_PLACEHOLDER legacy pseudo ID, and
517         the placeholder style uses Element::shadowPseudoId().
518
519         This fixes the following regressions:
520         - https://bugs.webkit.org/show_bug.cgi?id=51290
521         - https://bugs.webkit.org/show_bug.cgi?id=54797
522         - https://bugs.webkit.org/show_bug.cgi?id=54814
523         - https://bugs.webkit.org/show_bug.cgi?id=63367
524
525         Test: fast/forms/textarea-placeholder-wrapping.html
526
527         * css/CSSSelector.cpp: Remove INPUT_PLACEHOLDER legacy pseudo ID.
528         (WebCore::CSSSelector::pseudoId):
529         (WebCore::nameToPseudoTypeMap):
530         (WebCore::CSSSelector::extractPseudoType):
531         * css/CSSSelector.h: ditto.
532         * css/html.css:
533         (::-webkit-input-placeholder): Added. This contains properties
534         common in <input> and <textarea>. Some properties have !important
535         so that a stylesheet specified by a page author won't break
536         WebKit's assumption.
537         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
538          Added the default style for <input> placeholders.
539         * html/HTMLInputElement.cpp:
540         (WebCore::HTMLInputElement::placeholderElement): Delegate to an InputType.
541         (WebCore::HTMLInputElement::updatePlaceholderText): ditto.
542         * html/HTMLInputElement.h: Declare placeholderElement() and updatePlaceholderText().
543         * html/HTMLTextAreaElement.cpp:
544         (WebCore::HTMLTextAreaElement::createRenderer):
545         Remove the 'placeholderVisible' argument.
546         (WebCore::HTMLTextAreaElement::placeholderElement): Added.
547         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
548          Added. This creates, deletes, or updates the placeholder element.
549         * html/HTMLTextAreaElement.h:
550         - Declare placeholderElement() and updatePlaceholderText().
551         - Add m_placeholder.
552         * html/HTMLTextFormControlElement.cpp:
553         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
554         Update the placeholder element and 'visibility' CSS property,
555         instead of delegating the job to a renderer.
556         * html/HTMLTextFormControlElement.h:
557         Declare two pure virtual functions: placeholderElement() and updatePlaceholderText().
558         * html/InputType.cpp:
559         (WebCore::InputType::placeholderElement): Add an empty implementation.
560         (WebCore::InputType::updatePlaceholderText): Add an empty implementation.
561         * html/InputType.h: Declare placeholderElement() and updatePlaceholderText().
562         * html/TextFieldInputType.cpp:
563         (WebCore::TextFieldInputType::createRenderer):
564         Remove the 'placeholderVisible' argument.
565         (WebCore::TextFieldInputType::placeholderElement): Added.
566         (WebCore::TextFieldInputType::destroyShadowSubtree): Deletes m_placeholder.
567         (WebCore::TextFieldInputType::updatePlaceholderText):
568          Added. This creates, deletes, or updates the placeholder element.
569         * html/TextFieldInputType.h:
570         - Declare placeholderElement() and updatePlaceholderText().
571         - Add m_placeholder.
572         * rendering/RenderTextControl.cpp:
573         (WebCore::RenderTextControl::RenderTextControl):
574         Remove the 'placeholderVisible' argument.
575         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
576         Excludes the placeholder renderer in order to avoid to secure a box for
577         the placeholder.
578         * rendering/RenderTextControl.h:
579         - Remove declarations of removed functions.
580         - Update the RenderTextControl signature.
581         - Add layoutSpecialExcludedChild().
582         * rendering/RenderTextControlMultiLine.cpp:
583         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
584         Remove the 'placeholderVisible' argument.
585         (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
586         Laying out the placeholder box so that it has correct width and location.
587         * rendering/RenderTextControlMultiLine.h:
588         - Remove declarations of removed functions.
589         - Update the RenderTextControlMultiLine signature.
590         - Add layoutSpecialExcludedChild().
591         * rendering/RenderTextControlSingleLine.cpp:
592         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
593         Remove the 'placeholderVisible' argument.
594         (WebCore::RenderTextControlSingleLine::layout):
595         Laying out the placeholder box so that it has correct width and location.
596         * rendering/RenderTextControlSingleLine.h:
597         - Remove declarations of removed functions.
598         - Update the RenderTextControlSingleLine signature.
599         * rendering/style/RenderStyleConstants.h: Remove INPUT_PLACEHOLDER.
600
601 2011-07-13  James Simonsen  <simonjam@chromium.org>
602
603         Remove hack that forcefully prevents scripts from running in shadow SVG
604         https://bugs.webkit.org/show_bug.cgi?id=64419
605
606         This hack was put in to prevent scripts from running in shadow SVG. This should never have
607         happened, but did because we didn't parse <script> tags in SVG properly. This was fixed in
608         r88584, so the hack is no longer needed.
609
610         No new tests since there is no change in functionality.
611
612         Reviewed by Tony Gentilcore.
613
614         * dom/ScriptElement.cpp:
615         (WebCore::ScriptElement::prepareScript):
616
617 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
618
619         [CSSRegions] Parse -webkit-content-order property
620         https://bugs.webkit.org/show_bug.cgi?id=63897
621
622         Reviewed by David Hyatt.
623
624         Test: fast/regions/webkit-content-order-parsing.html
625
626         * css/CSSComputedStyleDeclaration.cpp:
627         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
628         * css/CSSParser.cpp:
629         (WebCore::CSSParser::parseValue):
630         * css/CSSPropertyNames.in:
631         * css/CSSStyleSelector.cpp:
632         (WebCore::CSSStyleSelector::applyProperty):
633         * rendering/style/RenderStyle.cpp:
634         (WebCore::RenderStyle::diff):
635         * rendering/style/RenderStyle.h:
636         (WebCore::InheritedFlags::regionIndex):
637         (WebCore::InheritedFlags::setRegionIndex):
638         (WebCore::InheritedFlags::initialRegionIndex):
639         * rendering/style/StyleRareNonInheritedData.cpp:
640         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
641         (WebCore::StyleRareNonInheritedData::operator==):
642         * rendering/style/StyleRareNonInheritedData.h:
643
644 2011-07-13  James Robinson  <jamesr@chromium.org>
645
646         Reviewed by Kenneth Russell.
647
648         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
649         https://bugs.webkit.org/show_bug.cgi?id=58833
650
651         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
652         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
653         the drawing responsibilities for tiled layers.
654
655         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
656         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
657         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
658         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
659         way tile eviction works.
660
661         * WebCore.gypi:
662         * platform/graphics/chromium/ContentLayerChromium.cpp:
663         (WebCore::ContentLayerChromium::ContentLayerChromium):
664         (WebCore::ContentLayerChromium::paintContentsIfDirty):
665         (WebCore::ContentLayerChromium::drawsContent):
666         * platform/graphics/chromium/ContentLayerChromium.h:
667         (WebCore::ContentLayerChromium::textureUpdater):
668         * platform/graphics/chromium/ImageLayerChromium.cpp:
669         (WebCore::ImageLayerChromium::ImageLayerChromium):
670         (WebCore::ImageLayerChromium::cleanupResources):
671         (WebCore::ImageLayerChromium::paintContentsIfDirty):
672         (WebCore::ImageLayerChromium::textureUpdater):
673         (WebCore::ImageLayerChromium::contentBounds):
674         (WebCore::ImageLayerChromium::drawsContent):
675         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
676         * platform/graphics/chromium/ImageLayerChromium.h:
677         * platform/graphics/chromium/LayerChromium.cpp:
678         (WebCore::LayerChromium::pushPropertiesTo):
679         (WebCore::LayerChromium::ccLayerImpl):
680         * platform/graphics/chromium/LayerChromium.h:
681         * platform/graphics/chromium/LayerRendererChromium.cpp:
682         (WebCore::LayerRendererChromium::drawRootLayer):
683         * platform/graphics/chromium/LayerTilerChromium.cpp:
684         (WebCore::LayerTilerChromium::updateRect):
685         (WebCore::LayerTilerChromium::draw):
686         (WebCore::LayerTilerChromium::drawTiles):
687         * platform/graphics/chromium/LayerTilerChromium.h:
688         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
689         (WebCore::TiledLayerChromium::TiledLayerChromium):
690         (WebCore::TiledLayerChromium::~TiledLayerChromium):
691         (WebCore::TiledLayerChromium::createCCLayerImpl):
692         (WebCore::TiledLayerChromium::cleanupResources):
693         (WebCore::TiledLayerChromium::setLayerRenderer):
694         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
695         (WebCore::TiledLayerChromium::drawsContent):
696         (WebCore::TiledLayerChromium::createTilerIfNeeded):
697         (WebCore::TiledLayerChromium::updateCompositorResources):
698         (WebCore::TiledLayerChromium::setTilingOption):
699         (WebCore::TiledLayerChromium::setIsMask):
700         (WebCore::TiledLayerChromium::tilingTransform):
701         (WebCore::TiledLayerChromium::pushPropertiesTo):
702         (WebCore::writeIndent):
703         (WebCore::TiledLayerChromium::dumpLayerProperties):
704         * platform/graphics/chromium/TiledLayerChromium.h: Added.
705         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
706         (WebCore::CCLayerImpl::draw):
707         * platform/graphics/chromium/cc/CCLayerImpl.h:
708         (WebCore::CCLayerImpl::setDrawsContent):
709         (WebCore::CCLayerImpl::drawsContent):
710         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
711         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
712         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
713         (WebCore::CCTiledLayerImpl::draw):
714         (WebCore::CCTiledLayerImpl::bindContentsTexture):
715         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
716         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
717         (WebCore::CCTiledLayerImpl::create):
718         (WebCore::CCTiledLayerImpl::setTilingTransform):
719         (WebCore::CCTiledLayerImpl::setTiler):
720
721 2011-07-13  Julien Chaffraix  <jchaffraix@webkit.org>
722
723         Remove an unused bit in RenderObject
724         https://bugs.webkit.org/show_bug.cgi?id=64485
725
726         Reviewed by Darin Adler.
727
728         No change in behavior so no new test.
729
730         * rendering/RenderObject.h: Removed a bit that was duplicated from RenderTableCell.
731         However it was not used in RenderObject and RenderTableCell already packed this bit.
732         We were lying in the number of used bits in RenderObject which was 33. This change
733         brings us back to what was advertised.
734
735 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
736
737         Fix non-debug builds.
738
739         * rendering/RenderLayerBacking.cpp:
740         (WebCore::RenderLayerBacking::createGraphicsLayer):
741
742 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
743
744         [chromium] Fix mac build after r90949.
745
746         * bindings/v8/V8HiddenPropertyName.cpp:
747         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
748         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
749         (WebCore::toV8Object):
750
751 2011-07-13  Emil A Eklund  <eae@chromium.org>
752
753         Switch table rendering to to new layout types
754         https://bugs.webkit.org/show_bug.cgi?id=64478
755
756         Reviewed by Eric Seidel.
757
758         No new tests, no new functionality.
759
760         * rendering/AutoTableLayout.cpp:
761         * rendering/AutoTableLayout.h:
762         * rendering/HitTestResult.cpp:
763         * rendering/HitTestResult.h:
764         * rendering/LayoutTypes.h:
765         * rendering/RenderBlock.h:
766         * rendering/RenderBoxModelObject.cpp:
767         * rendering/RenderBoxModelObject.h:
768         * rendering/RenderObject.h:
769         * rendering/RenderTable.cpp:
770         * rendering/RenderTable.h:
771         * rendering/RenderTableCell.cpp:
772         * rendering/RenderTableCell.h:
773
774 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
775
776         Factor some GraphicsLayer creation code in RenderLayerBacking
777         https://bugs.webkit.org/show_bug.cgi?id=64487
778
779         Reviewed by Sam Weinig.
780
781         Move the GraphicsLayer::create() calls into once place so that we
782         don't have lots of #ifndef NDEBUG in various places, and can share
783         more code in future.
784         
785         No behavior change, so no new tests.
786
787         * rendering/RenderLayerBacking.cpp:
788         (WebCore::RenderLayerBacking::RenderLayerBacking):
789         (WebCore::RenderLayerBacking::~RenderLayerBacking):
790         (WebCore::RenderLayerBacking::createGraphicsLayer):
791         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
792         (WebCore::RenderLayerBacking::destroyGraphicsLayers):
793         (WebCore::RenderLayerBacking::updateLayerTransform):
794         (WebCore::RenderLayerBacking::updateClippingLayers):
795         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
796         (WebCore::RenderLayerBacking::updateForegroundLayer):
797         (WebCore::RenderLayerBacking::updateMaskLayer):
798         * rendering/RenderLayerBacking.h:
799
800 2011-07-13  Xan Lopez  <xlopez@igalia.com>
801
802         [GTK] Fix distcheck.
803
804         Reviewed by Martin Robinson.
805
806         * GNUmakefile.list.am: add missing files.
807
808 2011-07-13  James Robinson  <jamesr@chromium.org>
809
810         [chromium] No implementation defined for WTF::monotonicallyIncreasingTime
811         https://bugs.webkit.org/show_bug.cgi?id=64420
812
813         Reviewed by Tony Gentilcore.
814
815         Removes some redundant time related code.
816
817         * platform/chromium/PlatformBridge.h:
818         * platform/chromium/SystemTimeChromium.cpp:
819         (WebCore::userIdleTime):
820
821 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
822
823         [V8] Avoid memory leaks with hidden references.
824         https://bugs.webkit.org/show_bug.cgi?id=64467
825
826         Reviewed by Adam Barth.
827
828         We used to have growing arrays of hidden references associated
829         with objects. The entries in this array had no keys and were never
830         removed. This patch changes the interface to require a reference
831         name. This way it's harder to leak an unbounded number of
832         objects. Also it makes our wrapper objects one machine word
833         smaller.
834
835         * bindings/scripts/CodeGeneratorV8.pm:
836         (GenerateNormalAttrGetter): Started using new interface.
837
838         Interface changes:
839         * bindings/v8/V8DOMWrapper.cpp:
840         (WebCore::V8DOMWrapper::setNamedHiddenReference):
841         (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
842         * bindings/v8/V8DOMWrapper.h:
843
844         Added a helper to compute hidden reference names as V8 strings:
845         * bindings/v8/V8HiddenPropertyName.cpp:
846         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
847         * bindings/v8/V8HiddenPropertyName.h:
848
849         * bindings/v8/WrapperTypeInfo.h: Removed the hidden reference
850         array internal field.
851
852         Update usages of hidden references:
853         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
854         (WebCore::toV8):
855         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
856         (WebCore::toV8):
857         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
858         (WebCore::toV8):
859         * bindings/v8/custom/V8LocationCustom.cpp:
860         (WebCore::toV8):
861         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
862         (WebCore::V8MessageChannel::constructorCallback):
863         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
864         (WebCore::toV8):
865         * bindings/v8/custom/V8StyleSheetCustom.cpp:
866         (WebCore::toV8):
867         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
868         (WebCore::toV8Object):
869
870         * bindings/scripts/test/V8/V8TestObj.cpp:
871         (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter): Updated.
872
873 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
874
875         Improve names of some ApplicationCacheStorage accessor methods
876         https://bugs.webkit.org/show_bug.cgi?id=64433
877
878         Reviewed by Alexey Proskuryakov.
879
880         Some methods returned a bool for success/failure and
881         actually returned a value as an out parameter so their
882         name was confusing. Rename these methods to make them
883         more clear.
884
885         (WebCore::ApplicationCache::diskUsageForOrigin):
886         * loader/appcache/ApplicationCacheGroup.cpp:
887         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
888         * loader/appcache/ApplicationCacheStorage.cpp:
889         (WebCore::ApplicationCacheStorage::calculateQuotaForOrigin):
890         (WebCore::ApplicationCacheStorage::calculateUsageForOrigin):
891         (WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache):
892         (WebCore::ApplicationCacheStorage::checkOriginQuota):
893         * loader/appcache/ApplicationCacheStorage.h:
894         * loader/appcache/ApplicationCache.cpp:
895         Rename the methods.
896
897         * WebCore.exp.in:
898         Replaced old versions. Also, calculateRemaining wasn't needed
899         outside WebCore, so no longer export it.
900
901 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
902
903         Some ApplicationCache Origin Cleanup
904         https://bugs.webkit.org/show_bug.cgi?id=64431
905
906         Reviewed by Alexey Proskuryakov.
907
908         - m_loadedSize is inaccurate. This just replaces it with
909         calls to ApplicationCache::estimatedSizeInStorage.
910
911         - m_availableSpaceInQuota can get out of date, so we just
912         recalculate it at the start of appcache downloads.
913
914         * loader/appcache/ApplicationCacheGroup.h:
915         * loader/appcache/ApplicationCacheGroup.cpp:
916         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
917         (WebCore::ApplicationCacheGroup::didReceiveData):
918         Remove references to m_loadedSize.
919
920         (WebCore::ApplicationCacheGroup::didFinishLoading):
921         Replace m_loadedSize with estimatedSizeInStorage after we
922         add the new cached resource to the cache. The calculation
923         already happened so this check is fast.
924
925         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
926         When we start the Downloading phase, recalculate the quota
927         so that we have an up to date quota value so that we can
928         break early if needed.
929
930 2011-07-12  Brent Fulgham  <bfulgham@webkit.org>
931
932         Standardize WinCairo conditionalized code under PLATFORM macro.
933         https://bugs.webkit.org/show_bug.cgi?id=64377
934
935         Reviewed by Maciej Stachowiak.
936
937         Update compile-time conditions that had previously used #ifdef
938         of WIN_CAIRO to consistently use PLATFORM(WIN_CAIRO).
939
940         * WebCore.vcproj/WebCoreCairo.vsprops: Remove redundant declaration
941           of WIN_CAIRO.
942         * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Update to use
943           the existing WinCairo.vsprops file.
944         * WebCorePrefix.h: Update for new WTF_PLATFORM_WIN_CAIRO define.
945         * config.h: Update to use PLATFORM(WIN_CAIRO).
946
947 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
948
949         [CSS Exclusions] Fix for comment #23 on wrap-shape parsing bug 61726
950         https://bugs.webkit.org/show_bug.cgi?id=64464
951
952         Reviewed by Tony Chang.
953
954         No new tests needed.
955
956         * css/CSSParser.cpp:
957         (WebCore::CSSParser::parseWrapShapeRect): Removed the "valid" local.
958         (WebCore::CSSParser::parseWrapShapeCircle): Removed the "valid" local.
959         (WebCore::CSSParser::parseWrapShapeEllipse): Removed the "valid" local.
960         * css/CSSPrimitiveValue.cpp:
961         * css/CSSWrapShapes.h:
962         (WebCore::CSSWrapShapePolygon::getXAt): Replaced bit shift with multiplication.
963         (WebCore::CSSWrapShapePolygon::getYAt): Replaced bit shift with multiplication.
964         * rendering/style/RenderStyle.cpp:
965         * rendering/style/StyleRareNonInheritedData.h:
966
967 2011-07-13  Abhishek Arya  <inferno@chromium.org>
968
969         Reviewed by Adam Barth.
970
971         Issue with Frame lifetime due to deletion in beforeload event.
972         https://bugs.webkit.org/show_bug.cgi?id=64457
973
974         Copy the Frame protector higher in the stack from loadWithDocumentLoader
975         to loadFrameRequest since any of loadPostRequest or loadURL can call
976         loadWithDocumentLoader, thereby dispatching the beforeload event and
977         blowing away the frame. This deleted frame will be later accessed in
978         the loadFrameRequest function causing a crash.       
979  
980         Test: fast/events/form-iframe-target-before-load-crash2.html
981
982         * loader/FrameLoader.cpp:
983         (WebCore::FrameLoader::loadFrameRequest):
984         (WebCore::FrameLoader::loadWithDocumentLoader):
985
986 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
987
988         [CSSRegions]content:-webkit-from-flow not applied correctly
989         https://bugs.webkit.org/show_bug.cgi?id=64438
990
991         Reviewed by Tony Chang.
992
993         Forgot to modify getStringValue(), i was modifying only getStringValue(ExceptionCode&).
994
995         Test: fast/regions/content-webkit-from-flow-parsing.html (existing).
996
997         * css/CSSPrimitiveValue.cpp:
998         (WebCore::CSSPrimitiveValue::getStringValue):
999
1000 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
1001
1002         Don't reuse the last InsertTextCommand
1003         https://bugs.webkit.org/show_bug.cgi?id=64416
1004
1005         Reviewed by Justin Garcia.
1006
1007         This patch makes the interface of InsertTextCommand less foreign. It now takes arguments in
1008         its constructor and executes the command in doApply like other edit commands.
1009
1010         * editing/CompositeEditCommand.cpp:
1011         (WebCore::CompositeEditCommand::applyCommandToComposite): Added.
1012         * editing/CompositeEditCommand.h:
1013         * editing/InsertTextCommand.cpp:
1014         (WebCore::InsertTextCommand::InsertTextCommand): Takes arguments input used to take.
1015         (WebCore::InsertTextCommand::doApply): Renamed from input.
1016         * editing/InsertTextCommand.h:
1017         (WebCore::InsertTextCommand::create): Takes arguments input used to take.
1018         * editing/TypingCommand.cpp:
1019         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Creates InsertTextCommand.
1020
1021 2011-07-12  Dmitry Lomov  <dslomov@google.com>
1022
1023         https://bugs.webkit.org/show_bug.cgi?id=63041
1024         [Chromium][V8] Make DOMDataStore per-isolate
1025         This patch:
1026          - makes DOMData class an utility class with static members only
1027          - adds an isolate-specific DOMDataStore in V8BindingPerIsolateData.
1028         Dromaeo benchmarks are not affected.
1029
1030         Reviewed by Adam Barth.
1031
1032         * bindings/v8/DOMData.cpp:
1033         (WebCore::getDefaultStore):
1034         (WebCore::DOMData::getCurrentStore):
1035         * bindings/v8/DOMData.h:
1036         * bindings/v8/DOMDataStore.cpp:
1037         (WebCore::DOMDataStore::DOMDataStore):
1038         (WebCore::DOMDataStore::allStores):
1039         * bindings/v8/DOMDataStore.h:
1040         * bindings/v8/ScopedDOMDataStore.cpp:
1041         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
1042         * bindings/v8/ScopedDOMDataStore.h:
1043         * bindings/v8/StaticDOMDataStore.cpp:
1044         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
1045         * bindings/v8/StaticDOMDataStore.h:
1046         * bindings/v8/V8Binding.h:
1047         (WebCore::V8BindingPerIsolateData::allStores):
1048         (WebCore::V8BindingPerIsolateData::getDOMDataStore):
1049         (WebCore::V8BindingPerIsolateData::setDOMDataStore):
1050         * bindings/v8/V8Binding.cpp:
1051         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
1052         * bindings/v8/V8DOMMap.cpp:
1053         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
1054         (WebCore::getDOMDataStore):
1055         (WebCore::enableFasterDOMStoreAccess):
1056
1057 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
1058
1059         Rename compositing-related updateContentsScale() methods
1060         https://bugs.webkit.org/show_bug.cgi?id=64430
1061
1062         Reviewed by Joseph Pecoraro.
1063
1064         Rename updateContentsScale() to something less presumptuous; layers may choose
1065         to do something other than update their contents scale when the page scale factor
1066         changes. pageScaleFactorChanged() is a better name.
1067
1068         * page/Frame.cpp:
1069         (WebCore::Frame::pageScaleFactorChanged):
1070         (WebCore::Frame::scalePage):
1071         * page/Frame.h:
1072         * rendering/RenderLayer.cpp:
1073         (WebCore::RenderLayer::pageScaleFactorChanged):
1074         * rendering/RenderLayer.h:
1075         * rendering/RenderLayerBacking.cpp:
1076         (WebCore::RenderLayerBacking::pageScaleFactorChanged):
1077         * rendering/RenderLayerBacking.h:
1078         * rendering/RenderLayerCompositor.cpp:
1079         (WebCore::RenderLayerCompositor::pageScaleFactorChanged):
1080         * rendering/RenderLayerCompositor.h:
1081
1082 2011-07-13  Pierre Rossi  <pierre.rossi@gmail.com>
1083
1084         Fix compile for QRawFont.
1085
1086         https://bugs.webkit.org/show_bug.cgi?id=64453
1087
1088         Reviewed by Andreas Kling.
1089
1090         * platform/graphics/GraphicsContext.h:
1091         * platform/graphics/qt/FontQt.cpp:
1092         (WebCore::Font::drawGlyphs):
1093
1094 2011-07-13  John Knottenbelt  <jknotten@chromium.org>
1095
1096         Reference Geolocation object from GeoNotifier and Geolocation::setIsAllowed.
1097         https://bugs.webkit.org/show_bug.cgi?id=64363
1098
1099         Reviewed by Tony Gentilcore.
1100
1101         Test: fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
1102
1103         * page/Geolocation.cpp:
1104         (WebCore::Geolocation::setIsAllowed):
1105         * page/Geolocation.h:
1106
1107 2011-07-13  Vsevolod Vlasov  <vsevik@chromium.org>
1108
1109         Web Inspector: Network panel search needs each resource to have unique identifier.
1110         https://bugs.webkit.org/show_bug.cgi?id=64287
1111
1112         Reviewed by Pavel Feldman.
1113
1114         * inspector/front-end/NetworkManager.js:
1115         (WebInspector.NetworkManager.prototype.requestContent):
1116         (WebInspector.NetworkDispatcher):
1117         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
1118         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
1119         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
1120         * inspector/front-end/NetworkPanel.js:
1121         (WebInspector.NetworkPanel.prototype._appendResource):
1122         (WebInspector.NetworkPanel.prototype._frameNavigated):
1123         (WebInspector.NetworkPanel.prototype._updateSearchMatchedListAfterResourceIdentifierChanged):
1124
1125 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
1126
1127         Bridge RenderBoxModelObject::calculateBackgroundImageGeometry parameters into a class
1128         https://bugs.webkit.org/show_bug.cgi?id=63987
1129
1130         Reviewed by Hajime Morita.
1131
1132         Change doesn't add new functionality. No test needed.
1133
1134         * rendering/RenderBox.cpp:
1135         (WebCore::RenderBox::maskClipRect):
1136         (WebCore::RenderBox::repaintLayerRectsForImage):
1137         * rendering/RenderBoxModelObject.cpp:
1138         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1139         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
1140         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
1141         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
1142         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
1143         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
1144         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1145         * rendering/RenderBoxModelObject.h:
1146         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
1147         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
1148         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
1149         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
1150         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
1151         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
1152         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
1153         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
1154         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
1155         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):
1156
1157 2011-07-13  MORITA Hajime  <morrita@google.com>
1158
1159         Refactoring: Ignored ExceptionCode value should be less annoying.
1160         https://bugs.webkit.org/show_bug.cgi?id=63688
1161
1162         - Introduced ExceptionCodePlaceholder class for the default parameter of ExceptionCode.
1163         - Introduced ASSERT_NO_EXCEPTION to check ExceptionCode not set to non-zero after the call.
1164         - Adopted ASSERT_NO_EXCEPTION in Range.cpp
1165
1166         No new tests. No behaviour change.
1167
1168         Reviewed by Darin Adler.
1169
1170         * GNUmakefile.list.am:
1171         * WebCore.gypi:
1172         * WebCore.xcodeproj/project.pbxproj:
1173         * dom/ExceptionCodePlaceholder.h: Added.
1174         (WebCore::ExceptionCodePlaceholder::ExceptionCodePlaceholder):
1175         (WebCore::ExceptionCodePlaceholder::operator ExceptionCode& ):
1176         (WebCore::IgnorableExceptionCode::IgnorableExceptionCode):
1177         (WebCore::CheckedExceptionCode::CheckedExceptionCode):
1178         (WebCore::CheckedExceptionCode::~CheckedExceptionCode):
1179         * dom/Range.cpp:
1180         (WebCore::Range::Range):
1181         (WebCore::Range::editingStartPosition):
1182         * dom/Range.h:        
1183
1184 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
1185
1186         Regression: OOB read in svg text run
1187         https://bugs.webkit.org/show_bug.cgi?id=63627
1188
1189         Not reviewed.
1190
1191         Fixed last minute typo leading to assertions.
1192
1193         * rendering/InlineTextBox.cpp:
1194         (WebCore::InlineTextBox::paintSelection):
1195
1196 2011-07-12  Andrey Kosyakov  <caseq@chromium.org>
1197
1198         Web Inspector: factor NetworkLogView out of Network panel
1199         https://bugs.webkit.org/show_bug.cgi?id=64366
1200
1201         Reviewed by Pavel Feldman.
1202
1203         * inspector/front-end/NetworkPanel.js:
1204         (WebInspector.NetworkLogView):
1205         (WebInspector.NetworkLogView.prototype.get useLargeRows):
1206         (WebInspector.NetworkLogView.prototype.set allowPopover):
1207         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
1208         (WebInspector.NetworkLogView.prototype.resize):
1209         (WebInspector.NetworkLogView.prototype._createTable):
1210         (WebInspector.NetworkLogView.prototype.show):
1211         (WebInspector.NetworkLogView.prototype.hide):
1212         (WebInspector.NetworkLogView.prototype._reset):
1213         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
1214         (WebInspector.NetworkLogView.prototype.switchToBriefView):
1215         (WebInspector.NetworkLogView.prototype.get _setLargerResources):
1216         (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
1217         (WebInspector.NetworkPanel):
1218         (WebInspector.NetworkPanel.prototype.get toolbarItemLabel):
1219         (WebInspector.NetworkPanel.prototype.get statusBarItems):
1220         (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
1221         (WebInspector.NetworkPanel.prototype.resize):
1222         (WebInspector.NetworkPanel.prototype._reset):
1223         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
1224         (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
1225         (WebInspector.NetworkPanel.prototype.handleShortcut):
1226         (WebInspector.NetworkPanel.prototype.show):
1227         (WebInspector.NetworkPanel.prototype.hide):
1228         (WebInspector.NetworkPanel.prototype.get resources):
1229         (WebInspector.NetworkPanel.prototype.resourceById):
1230         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
1231         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
1232         (WebInspector.NetworkPanel.prototype._onViewCleared):
1233         (WebInspector.NetworkPanel.prototype._onRowSizeChanged):
1234         (WebInspector.NetworkPanel.prototype._onResourceSelected):
1235         (WebInspector.NetworkPanel.prototype._showResource):
1236         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
1237         (WebInspector.NetworkPanel.prototype._toggleGridMode):
1238         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
1239         (WebInspector.NetworkPanel.prototype.performSearch):
1240         (WebInspector.NetworkPanel.prototype.jumpToPreviousSearchResult):
1241         (WebInspector.NetworkPanel.prototype.jumpToNextSearchResult):
1242         (WebInspector.NetworkPanel.prototype.searchCanceled):
1243         (WebInspector.NetworkDataGridNode):
1244         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
1245         (WebInspector.NetworkDataGridNode.prototype.select):
1246         (WebInspector.NetworkDataGridNode.prototype.get selectable):
1247
1248 2011-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1249
1250         Unreviewed, rolling out r90634.
1251         http://trac.webkit.org/changeset/90634
1252         https://bugs.webkit.org/show_bug.cgi?id=64448
1253
1254         Qt HTTP Pipelining is not robust enough to be used in that
1255         generic way. (Requested by benjaminp on #webkit).
1256
1257         * platform/network/qt/ResourceRequestQt.cpp:
1258         (WebCore::ResourceRequest::toNetworkRequest):
1259
1260 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
1261
1262         Regression: OOB read in svg text run
1263         https://bugs.webkit.org/show_bug.cgi?id=63627
1264
1265         Reviewed by Zoltan Herczeg.
1266
1267         A TextRun is constructed for a portion of a string [a,b] whose original length is c (0 < a < b < c).
1268         The TextRun charactersLength variable stores the length of the remaining text from (b..c) in order
1269         to support ligatures in SVG Fonts. Example: <text>ffl</text>. When measuring the advance from char 0
1270         to char 1 the whole 'ffl' text must be passed to the SVG glyph selection code, as the SVG Font may
1271         define a single glyph for the characters 'ffl' thus leading to a single character long text
1272         pointing to the ffl ligature, not three individual 'f' / 'f' / 'l' characters anymore.
1273
1274         constructTextRun(..const UChar*, int length, ..) did not correctly calculate the maximum length (b..c).
1275         The passed in UChar buffer starts at eg. textRenderer->characters() + start(), and following condition
1276         holds true for 'length': start() + length <= textRenderer->textLength() (which denotes the maximum length
1277         of the textRenderer->characters() buffer). We have to keep track of the start() offset, so that we
1278         can calculate the charactersLength for the TextRun correctly: textRenderer->textLength() - start().
1279
1280         There are also other cases like RenderCombinedText and/or the presence of hyphens that were incorrectly
1281         tracked. Only InlineTextBox had to be fixed, the other callsites in eg. RenderBlockLineLayout already
1282         computed the maximum length correctly - I assured this by valgrind runs on all SVG Font tests.
1283
1284         * rendering/InlineTextBox.cpp:
1285         (WebCore::InlineTextBox::paint):
1286         (WebCore::InlineTextBox::paintSelection):
1287         (WebCore::InlineTextBox::constructTextRun): Add maximumLength parameter to constructTextRun.
1288         * rendering/InlineTextBox.h: Ditto.
1289
1290 2011-07-12  Antti Koivisto  <antti@apple.com>
1291
1292         didFirstVisuallyNonEmptyLayout dispatched too early
1293         https://bugs.webkit.org/show_bug.cgi?id=64412
1294
1295         Reviewed by Darin Adler and Sam Weinig.
1296
1297         Improve the mechanism that dispatches didFirstVisuallyNonEmptyLayout
1298
1299         - Wait until a threshold of characters and pixels has been exceeded before dispatching.
1300         - Wait until stylesheets are loaded (painting is disabled in this case).
1301
1302         * page/FrameView.cpp:
1303         (WebCore::FrameView::reset):
1304         (WebCore::FrameView::performPostLayoutTasks):
1305         * page/FrameView.h:
1306         (WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount):
1307         (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
1308         * rendering/RenderImage.cpp:
1309         (WebCore::RenderImage::RenderImage):
1310         (WebCore::RenderImage::imageChanged):
1311         * rendering/RenderImage.h:
1312         * rendering/RenderText.cpp:
1313         (WebCore::RenderText::RenderText):
1314
1315 2011-07-12  MORITA Hajime  <morrita@google.com>
1316
1317         [Refactoring][ShadowContentElement] Forwarded node list should be a linked-list.
1318         https://bugs.webkit.org/show_bug.cgi?id=64252
1319
1320         Reviewed by Dimitri Glazkov.
1321
1322         Introduced ShadowInclusionList and ShadowInclusion for maintaining
1323         forwarded content children. ShadowInclusion is doubly-linked list.
1324         ShadowContentElement::m_inclusions is replaced by ShadowInclusionList.
1325         
1326         This change is a prepration for bug 64251, which will introduce
1327         forwarded-children to content-element table.
1328         
1329         No new tests. No behavioral change.
1330
1331         * dom/NodeRenderingContext.cpp:
1332         (WebCore::nextRendererOf):
1333         (WebCore::previousRendererOf):
1334         (WebCore::firstRendererOf):
1335         (WebCore::lastRendererOf):
1336         * dom/ShadowContentElement.cpp:
1337         (WebCore::ShadowInclusion::append):
1338         (WebCore::ShadowInclusion::unlink):
1339         (WebCore::ShadowInclusionList::ShadowInclusionList):
1340         (WebCore::ShadowInclusionList::~ShadowInclusionList):
1341         (WebCore::ShadowInclusionList::find):
1342         (WebCore::ShadowInclusionList::clear):
1343         (WebCore::ShadowInclusionList::append):
1344         (WebCore::ShadowContentElement::attach):
1345         * dom/ShadowContentElement.h:
1346         (WebCore::ShadowInclusion::includer):
1347         (WebCore::ShadowInclusion::content):
1348         (WebCore::ShadowInclusion::next):
1349         (WebCore::ShadowInclusion::previous):
1350         (WebCore::ShadowInclusion::ShadowInclusion):
1351         (WebCore::ShadowInclusion::create):
1352         (WebCore::ShadowInclusionList::first):
1353         (WebCore::ShadowInclusionList::last):
1354         (WebCore::ShadowInclusionList::isEmpty):
1355         (WebCore::ShadowInclusionList::append):
1356         (WebCore::ShadowContentElement::inclusions):
1357         * dom/ShadowContentSelector.cpp:
1358         (WebCore::ShadowContentSelector::selectInclusion):
1359         * dom/ShadowContentSelector.h:
1360
1361 2011-07-12  David Reveman  <reveman@chromium.org>
1362
1363         [Chromium] Use nearest filter method with pixel aligned transforms.
1364         https://bugs.webkit.org/show_bug.cgi?id=64338
1365
1366         Reviewed by James Robinson.
1367
1368         Check for integer translation and use nearest texture filter when
1369         possible to avoid filter precisions problems at the layer edges.
1370
1371         Test: compositing/iframes/nested-iframe-scrolling.html (existing)
1372
1373         * platform/graphics/chromium/LayerTilerChromium.cpp:
1374         (WebCore::LayerTilerChromium::drawTiles):
1375         * platform/graphics/transforms/TransformationMatrix.cpp:
1376         (WebCore::TransformationMatrix::isIntegerTranslation):
1377         * platform/graphics/transforms/TransformationMatrix.h:
1378
1379 2011-07-12  David Reveman  <reveman@chromium.org>
1380
1381         Removed unnecessary function parameters from TilingData::textureOffset.
1382         https://bugs.webkit.org/show_bug.cgi?id=64245
1383
1384         Reviewed by Brent Fulgham.
1385
1386         No new tests, no functionality changes.
1387
1388         * platform/graphics/chromium/LayerTilerChromium.cpp:
1389         (WebCore::LayerTilerChromium::drawTiles):
1390         * platform/graphics/gpu/TilingData.cpp:
1391         (WebCore::TilingData::textureOffset):
1392         * platform/graphics/gpu/TilingData.h:
1393
1394 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
1395
1396         Move RenderTextControl::indexForVisiblePosition to HTMLTextFormControlElement
1397         https://bugs.webkit.org/show_bug.cgi?id=64403
1398
1399         Reviewed by Hajime Morita.
1400
1401         Moved indexForVisiblePosition from RenderTextControl to HTMLTextFormControlElement.
1402
1403         Also replaced the call to RenderTextControl::isSelectableElement by a call to enclosingTextFormControl
1404         (moved from htmlediting to HTMLTextFormControlElement) because we are only interested in checking
1405         whether the given position is inside the current text form control or not.
1406
1407         In addition, modernized the code in indexForVisiblePosition by calling parentAnchoredEquivalent on the
1408         given position and replacing calls to deprecateNode and deprecatedEditingOffset by calls to containerNode
1409         and offsetInContainer.
1410
1411         * accessibility/AccessibilityRenderObject.cpp:
1412         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls indexForVisiblePosition.
1413         * editing/htmlediting.cpp: Removed enclosingTextFromControl.
1414         * editing/htmlediting.h: Removed enclosingTextFromControl.
1415         * html/HTMLTextFormControlElement.cpp:
1416         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Moved from RenderTextControl.
1417         (WebCore::HTMLTextFormControlElement::computeSelectionStart): Calls indexForVisiblePosition.
1418         (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Calls indexForVisiblePosition.
1419         (WebCore::enclosingTextFormControl): Moved from htmlediting.cpp
1420         * html/HTMLTextFormControlElement.h:
1421         * rendering/RenderTextControl.cpp:
1422         * rendering/RenderTextControl.h:
1423
1424 2011-07-12  Julien Chaffraix  <jchaffraix@webkit.org>
1425
1426         Make RenderObject::containingBlock virtual for better speed and clarity
1427         https://bugs.webkit.org/show_bug.cgi?id=64318
1428
1429         Reviewed by Darin Adler.
1430
1431         No new tests, performance refactoring.
1432
1433         On some of my test cases, this method takes between 3 and 5% of the time spend.
1434         The method makes 2 calls to virtual methods which could be moved to their overriden
1435         version of containingBlock if we made it virtual.
1436
1437         That's what this patch does. It saves between 1 and 2% on some synthetic test cases
1438         as well as made the current method shorter.
1439
1440         * rendering/RenderObject.cpp:
1441         (WebCore::RenderObject::containingBlock): Removed code for RenderView and RenderTableCell,
1442         replaced by ASSERTs.
1443
1444         * rendering/RenderObject.h: Made containingBlock virtual.
1445
1446         * rendering/RenderTableCell.h:
1447         (WebCore::RenderTableCell::containingBlock):
1448         * rendering/RenderView.h:
1449         (WebCore::RenderView::containingBlock):
1450         The code moved from RenderObject is inlined in those 2 methods.
1451
1452 2011-07-12  James Robinson  <jamesr@chromium.org>
1453
1454         [chromium] Chromium win build fix.
1455
1456         * platform/graphics/chromium/FontChromiumWin.cpp:
1457         (WebCore::drawGlyphsWin):
1458
1459 2011-07-12  Pratik Solanki  <psolanki@apple.com>
1460
1461         Get webkit to compile with USE(CFNETWORK) enabled on Mac
1462         https://bugs.webkit.org/show_bug.cgi?id=63674
1463
1464         Reviewed by David Kilzer.
1465
1466         Changes to ResourceHandle class to get it to compile with USE(CFNETWORK).
1467
1468         No new tests because no change in functionality and option is not enabled on Mac.
1469
1470         * platform/network/ResourceHandle.h:
1471         * platform/network/ResourceHandleInternal.h:
1472         * platform/network/cf/ResourceHandleCFNet.cpp:
1473         (WebCore::didReceiveResponse):
1474         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1475         (WebCore::ResourceHandle::start):
1476         (WebCore::WebCoreSynchronousLoaderClient::willSendRequest): Call adjustMIMETypeIfNecessary
1477         on Mac. Also port over fix for <rdar://problem/6901522> added in r43993 which forces the
1478         MIME type to text/html if the request is annotated with a "ForceHTMLMIMEType" property.
1479
1480 2011-07-12  James Robinson  <jamesr@chromium.org>
1481
1482         [chromium] Delete the unused legacy accelerated canvas 2d code
1483         https://bugs.webkit.org/show_bug.cgi?id=64214
1484
1485         Reviewed by Stephen White.
1486
1487         This removes the legacy accelerated canvas 2d path and support logic since we (chromium) are no longer using
1488         this codepath and it seems clear that no other port is interested.
1489
1490         Refactoring and removing unused code, so no new tests.
1491
1492         * WebCore.gypi:
1493         * WebCore.xcodeproj/project.pbxproj:
1494         * html/canvas/CanvasRenderingContext2D.cpp:
1495         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1496         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
1497         (WebCore::CanvasRenderingContext2D::didDraw):
1498         * html/canvas/CanvasRenderingContext2D.h:
1499         * loader/EmptyClients.h:
1500         * page/ChromeClient.h:
1501         * page/Page.cpp:
1502         (WebCore::Page::sharedGraphicsContext3D):
1503         * page/Page.h:
1504         * platform/graphics/GraphicsContext.cpp:
1505         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
1506         (WebCore::GraphicsContext::syncSoftwareCanvas):
1507         * platform/graphics/GraphicsContext.h:
1508         * platform/graphics/GraphicsContext3D.h:
1509         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1510         (WebCore::DrawingBuffer::setGrContext):
1511         * platform/graphics/chromium/FontLinux.cpp:
1512         (WebCore::Font::drawGlyphs):
1513         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
1514         (WebCore::pointInTriangle):
1515         * platform/graphics/gpu/BicubicShader.cpp: Removed.
1516         * platform/graphics/gpu/BicubicShader.h: Removed.
1517         * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
1518         * platform/graphics/gpu/ConvolutionShader.h: Removed.
1519         * platform/graphics/gpu/GraphicsContextGPU.cpp: Removed.
1520         * platform/graphics/gpu/GraphicsContextGPU.h: Removed.
1521         * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Removed.
1522         * platform/graphics/gpu/SharedGraphicsContext3D.h: Removed.
1523         * platform/graphics/gpu/SolidFillShader.cpp: Removed.
1524         * platform/graphics/gpu/SolidFillShader.h: Removed.
1525         * platform/graphics/gpu/TexShader.cpp: Removed.
1526         * platform/graphics/gpu/TexShader.h: Removed.
1527         * platform/graphics/skia/GraphicsContextSkia.cpp:
1528         (WebCore::GraphicsContext::savePlatformState):
1529         (WebCore::GraphicsContext::restorePlatformState):
1530         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1531         (WebCore::GraphicsContext::clearRect):
1532         (WebCore::GraphicsContext::clip):
1533         (WebCore::GraphicsContext::canvasClip):
1534         (WebCore::GraphicsContext::clipOut):
1535         (WebCore::GraphicsContext::clipPath):
1536         (WebCore::GraphicsContext::concatCTM):
1537         (WebCore::GraphicsContext::setCTM):
1538         (WebCore::GraphicsContext::drawConvexPolygon):
1539         (WebCore::GraphicsContext::drawEllipse):
1540         (WebCore::GraphicsContext::drawFocusRing):
1541         (WebCore::GraphicsContext::drawLine):
1542         (WebCore::GraphicsContext::drawLineForTextChecking):
1543         (WebCore::GraphicsContext::drawLineForText):
1544         (WebCore::GraphicsContext::drawRect):
1545         (WebCore::GraphicsContext::fillPath):
1546         (WebCore::GraphicsContext::fillRect):
1547         (WebCore::GraphicsContext::fillRoundedRect):
1548         (WebCore::GraphicsContext::scale):
1549         (WebCore::GraphicsContext::setAlpha):
1550         (WebCore::GraphicsContext::setPlatformCompositeOperation):
1551         (WebCore::GraphicsContext::setPlatformFillColor):
1552         (WebCore::GraphicsContext::setPlatformShadow):
1553         (WebCore::GraphicsContext::strokeArc):
1554         (WebCore::GraphicsContext::strokePath):
1555         (WebCore::GraphicsContext::strokeRect):
1556         (WebCore::GraphicsContext::rotate):
1557         (WebCore::GraphicsContext::translate):
1558         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
1559         (WebCore::GraphicsContext::syncSoftwareCanvas):
1560         * platform/graphics/skia/ImageBufferSkia.cpp:
1561         (WebCore::ImageBuffer::copyImage):
1562         (WebCore::ImageBuffer::draw):
1563         (WebCore::ImageBuffer::getUnmultipliedImageData):
1564         (WebCore::ImageBuffer::getPremultipliedImageData):
1565         (WebCore::ImageBuffer::putUnmultipliedImageData):
1566         (WebCore::ImageBuffer::putPremultipliedImageData):
1567         * platform/graphics/skia/ImageSkia.cpp:
1568         (WebCore::BitmapImage::draw):
1569         (WebCore::BitmapImageSingleFrameSkia::draw):
1570         * platform/graphics/skia/NativeImageSkia.cpp:
1571         (WebCore::NativeImageSkia::~NativeImageSkia):
1572         * platform/graphics/skia/PlatformContextSkia.cpp:
1573         (WebCore::PlatformContextSkia::PlatformContextSkia):
1574         (WebCore::PlatformContextSkia::~PlatformContextSkia):
1575         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
1576         (WebCore::PlatformContextSkia::makeGrContextCurrent):
1577         * platform/graphics/skia/PlatformContextSkia.h:
1578
1579 2011-07-12  Emil A Eklund  <eae@chromium.org>
1580
1581         Switch InlineFlowBox to to new layout types
1582         https://bugs.webkit.org/show_bug.cgi?id=64399
1583
1584         Reviewed by Eric Seidel.
1585
1586         First step in moving floats over to the new layout abstraction.
1587
1588         No new tests, no new functionality.
1589
1590         * rendering/InlineBox.cpp:
1591         (WebCore::InlineBox::logicalHeight):
1592         * rendering/InlineBox.h:
1593         (WebCore::InlineBox::logicalTop):
1594         (WebCore::InlineBox::logicalBottom):
1595         (WebCore::InlineBox::setLogicalTop):
1596         * rendering/InlineFlowBox.cpp:
1597         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
1598         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1599         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1600         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1601         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1602         (WebCore::InlineFlowBox::addReplacedChildOverflow):
1603         (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
1604         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
1605         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
1606         * rendering/InlineFlowBox.h:
1607         * rendering/RenderBlock.cpp:
1608         (WebCore::RenderBlock::logicalRightSelectionGap):
1609         * rendering/RenderBlock.h:
1610         * rendering/RootInlineBox.cpp:
1611         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1612         (WebCore::RootInlineBox::lineSelectionGap):
1613         (WebCore::RootInlineBox::ascentAndDescentForBox):
1614         (WebCore::RootInlineBox::verticalPositionForBox):
1615         * rendering/RootInlineBox.h:
1616         * rendering/style/RenderStyle.cpp:
1617         (WebCore::RenderStyle::getShadowExtent):
1618         (WebCore::RenderStyle::getShadowHorizontalExtent):
1619         (WebCore::RenderStyle::getShadowVerticalExtent):
1620         * rendering/style/RenderStyle.h:
1621         (WebCore::InheritedFlags::getTextShadowExtent):
1622         (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
1623         (WebCore::InheritedFlags::getTextShadowVerticalExtent):
1624         (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
1625         (WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
1626         (WebCore::InheritedFlags::getBoxShadowExtent):
1627         (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
1628         (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
1629         (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
1630         (WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
1631         (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
1632         (WebCore::InheritedFlags::getShadowBlockDirectionExtent):
1633         * rendering/style/ShadowData.cpp:
1634         (WebCore::calculateShadowExtent):
1635         (WebCore::ShadowData::adjustRectForShadow):
1636         * rendering/style/ShadowData.h:
1637         (WebCore::ShadowData::ShadowData):
1638         (WebCore::ShadowData::x):
1639         (WebCore::ShadowData::y):
1640
1641 2011-07-12  Kenichi Ishibashi  <bashi@chromium.org>
1642
1643         [Chromium] SVG text is not rendered sometimes with geometricPrecision
1644         https://bugs.webkit.org/show_bug.cgi?id=64341
1645
1646         Changing the type of x and y offsets of ComplexTextControllerLinux to make it possible to treat negative offsets.
1647
1648         Reviewed by Tony Chang.
1649
1650         Test: platform/chromium-linux/svg/text/text-with-geometric-precision.svg
1651
1652         * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Changed the type of m_offsetX and m_startingY from unsigned to int.
1653         (WebCore::ComplexTextController::ComplexTextController): Changed the type of the argument.
1654         (WebCore::ComplexTextController::reset): Ditto.
1655         * platform/graphics/chromium/ComplexTextControllerLinux.h:
1656
1657 2011-07-12  Alexandru Chiculita  <achicu@adobe.com>
1658
1659         Reviewed by David Hyatt.
1660
1661         [CSS Exclusions] Parse wrap-shape property
1662         https://bugs.webkit.org/show_bug.cgi?id=61726
1663
1664         Parsing wrap-shape: rect, circle, ellipse and polygon.
1665         Moved WindRule from Path.h to it's own file.
1666
1667         Test: fast/exclusions/parsing-wrap-shape.html
1668
1669         * WebCore.vcproj/WebCore.vcproj:
1670         * WebCore.xcodeproj/project.pbxproj:
1671         * css/CSSComputedStyleDeclaration.cpp:
1672         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1673         * css/CSSParser.cpp:
1674         (WebCore::CSSParser::parseValue):
1675         (WebCore::CSSParser::parseWrapShapeRect):
1676         (WebCore::CSSParser::parseWrapShapeCircle):
1677         (WebCore::CSSParser::parseWrapShapeEllipse):
1678         (WebCore::CSSParser::parseWrapShapePolygon):
1679         (WebCore::CSSParser::parseWrapShape):
1680         * css/CSSParser.h:
1681         * css/CSSPrimitiveValue.cpp:
1682         (WebCore::CSSPrimitiveValue::init):
1683         (WebCore::CSSPrimitiveValue::cleanup):
1684         (WebCore::CSSPrimitiveValue::cssText):
1685         * css/CSSPrimitiveValue.h:
1686         (WebCore::CSSPrimitiveValue::getShapeValue):
1687         * css/CSSPropertyNames.in:
1688         * css/CSSStyleSelector.cpp:
1689         (WebCore::CSSStyleSelector::applyProperty):
1690         * css/CSSValueKeywords.in:
1691         * css/CSSWrapShapes.cpp: Added.
1692         (WebCore::CSSWrapShapeRect::cssText):
1693         (WebCore::CSSWrapShapeCircle::cssText):
1694         (WebCore::CSSWrapShapeEllipse::cssText):
1695         (WebCore::CSSWrapShapePolygon::cssText):
1696         * css/CSSWrapShapes.h: Added.
1697         (WebCore::CSSWrapShape::~CSSWrapShape):
1698         (WebCore::CSSWrapShape::CSSWrapShape):
1699         (WebCore::CSSWrapShapeRect::create):
1700         (WebCore::CSSWrapShapeRect::left):
1701         (WebCore::CSSWrapShapeRect::top):
1702         (WebCore::CSSWrapShapeRect::width):
1703         (WebCore::CSSWrapShapeRect::height):
1704         (WebCore::CSSWrapShapeRect::radiusX):
1705         (WebCore::CSSWrapShapeRect::radiusY):
1706         (WebCore::CSSWrapShapeRect::setLeft):
1707         (WebCore::CSSWrapShapeRect::setTop):
1708         (WebCore::CSSWrapShapeRect::setWidth):
1709         (WebCore::CSSWrapShapeRect::setHeight):
1710         (WebCore::CSSWrapShapeRect::setRadiusX):
1711         (WebCore::CSSWrapShapeRect::setRadiusY):
1712         (WebCore::CSSWrapShapeRect::type):
1713         (WebCore::CSSWrapShapeRect::CSSWrapShapeRect):
1714         (WebCore::CSSWrapShapeCircle::create):
1715         (WebCore::CSSWrapShapeCircle::left):
1716         (WebCore::CSSWrapShapeCircle::top):
1717         (WebCore::CSSWrapShapeCircle::radius):
1718         (WebCore::CSSWrapShapeCircle::setLeft):
1719         (WebCore::CSSWrapShapeCircle::setTop):
1720         (WebCore::CSSWrapShapeCircle::setRadius):
1721         (WebCore::CSSWrapShapeCircle::type):
1722         (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
1723         (WebCore::CSSWrapShapeEllipse::create):
1724         (WebCore::CSSWrapShapeEllipse::left):
1725         (WebCore::CSSWrapShapeEllipse::top):
1726         (WebCore::CSSWrapShapeEllipse::radiusX):
1727         (WebCore::CSSWrapShapeEllipse::radiusY):
1728         (WebCore::CSSWrapShapeEllipse::setLeft):
1729         (WebCore::CSSWrapShapeEllipse::setTop):
1730         (WebCore::CSSWrapShapeEllipse::setRadiusX):
1731         (WebCore::CSSWrapShapeEllipse::setRadiusY):
1732         (WebCore::CSSWrapShapeEllipse::type):
1733         (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
1734         (WebCore::CSSWrapShapePolygon::create):
1735         (WebCore::CSSWrapShapePolygon::appendPoint):
1736         (WebCore::CSSWrapShapePolygon::getXAt):
1737         (WebCore::CSSWrapShapePolygon::getYAt):
1738         (WebCore::CSSWrapShapePolygon::setWindRule):
1739         (WebCore::CSSWrapShapePolygon::windRule):
1740         (WebCore::CSSWrapShapePolygon::type):
1741         (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
1742         * css/SVGCSSValueKeywords.in:
1743         * platform/graphics/Path.h:
1744         * platform/graphics/WindRule.h: Added.
1745         * rendering/style/RenderStyle.cpp:
1746         (WebCore::RenderStyle::diff):
1747         * rendering/style/RenderStyle.h:
1748         (WebCore::InheritedFlags::setWrapShape):
1749         (WebCore::InheritedFlags::wrapShape):
1750         (WebCore::InheritedFlags::initialWrapShape):
1751         * rendering/style/StyleRareNonInheritedData.cpp:
1752         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1753         (WebCore::StyleRareNonInheritedData::operator==):
1754         * rendering/style/StyleRareNonInheritedData.h:
1755
1756 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
1757
1758         Clean up some RenderLayerCompositor code relating to scroll and root layers
1759         https://bugs.webkit.org/show_bug.cgi?id=64400
1760
1761         Reviewed by James Robinson.
1762
1763         There was no need for FrameView::syncCompositingStateForThisFrame()
1764         to call syncCompositingStateForThisLayerOnly() on the various
1765         scrollbar-related layers, because the subsequent call to 
1766         compositor()->flushPendingLayerChanges() starts to flush at
1767         m_overflowControlsHostLayer if one exists, and it's an ancestor
1768         of the scrollbar layers.
1769         
1770         Also clean up terminology in RenderLayerCompositor.
1771             m_rootPlatformLayer -> m_rootContentLayer
1772             rootPlatformLayer() -> rootGraphicsLayer()
1773         
1774         No behavior change, so no new tests.
1775         
1776         * page/FrameView.cpp:
1777         (WebCore::FrameView::syncCompositingStateForThisFrame):
1778         * rendering/RenderLayerCompositor.cpp:
1779         (WebCore::RenderLayerCompositor::enableCompositingMode):
1780         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1781         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1782         (WebCore::RenderLayerCompositor::layerTreeAsText):
1783         (WebCore::RenderLayerCompositor::parentFrameContentLayers):
1784         (WebCore::RenderLayerCompositor::rootGraphicsLayer):
1785         (WebCore::RenderLayerCompositor::didMoveOnscreen):
1786         (WebCore::RenderLayerCompositor::willMoveOffscreen):
1787         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1788         (WebCore::RenderLayerCompositor::ensureRootLayer):
1789         (WebCore::RenderLayerCompositor::destroyRootLayer):
1790         (WebCore::RenderLayerCompositor::attachRootLayer):
1791         (WebCore::RenderLayerCompositor::detachRootLayer):
1792         (WebCore::RenderLayerCompositor::updateRootLayerAttachment):
1793         * rendering/RenderLayerCompositor.h:
1794
1795 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1796
1797         Unreviewed, rolling out r90842.
1798         http://trac.webkit.org/changeset/90842
1799         https://bugs.webkit.org/show_bug.cgi?id=64401
1800
1801         Causes crash in debug on compositing/overflow/content-gains-
1802         scrollbars.html (Requested by jamesr on #webkit).
1803
1804         * WebCore.gypi:
1805         * platform/graphics/chromium/ContentLayerChromium.cpp:
1806         (WebCore::ContentLayerChromium::ContentLayerChromium):
1807         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1808         (WebCore::ContentLayerChromium::cleanupResources):
1809         (WebCore::ContentLayerChromium::setLayerRenderer):
1810         (WebCore::ContentLayerChromium::tilingTransform):
1811         (WebCore::ContentLayerChromium::contentBounds):
1812         (WebCore::ContentLayerChromium::updateLayerSize):
1813         (WebCore::ContentLayerChromium::draw):
1814         (WebCore::ContentLayerChromium::drawsContent):
1815         (WebCore::ContentLayerChromium::createTilerIfNeeded):
1816         (WebCore::ContentLayerChromium::updateCompositorResources):
1817         (WebCore::ContentLayerChromium::setTilingOption):
1818         (WebCore::ContentLayerChromium::bindContentsTexture):
1819         (WebCore::ContentLayerChromium::setIsMask):
1820         (WebCore::writeIndent):
1821         (WebCore::ContentLayerChromium::dumpLayerProperties):
1822         * platform/graphics/chromium/ContentLayerChromium.h:
1823         * platform/graphics/chromium/ImageLayerChromium.cpp:
1824         (WebCore::ImageLayerChromium::ImageLayerChromium):
1825         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1826         (WebCore::ImageLayerChromium::updateCompositorResources):
1827         (WebCore::ImageLayerChromium::contentBounds):
1828         * platform/graphics/chromium/ImageLayerChromium.h:
1829         (WebCore::ImageLayerChromium::drawsContent):
1830         * platform/graphics/chromium/LayerChromium.cpp:
1831         (WebCore::LayerChromium::pushPropertiesTo):
1832         (WebCore::LayerChromium::ccLayerImpl):
1833         * platform/graphics/chromium/LayerChromium.h:
1834         (WebCore::LayerChromium::draw):
1835         * platform/graphics/chromium/LayerRendererChromium.cpp:
1836         (WebCore::LayerRendererChromium::drawRootLayer):
1837         * platform/graphics/chromium/LayerTilerChromium.cpp:
1838         (WebCore::LayerTilerChromium::updateRect):
1839         (WebCore::LayerTilerChromium::draw):
1840         (WebCore::LayerTilerChromium::drawTiles):
1841         * platform/graphics/chromium/LayerTilerChromium.h:
1842         * platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
1843         * platform/graphics/chromium/TiledLayerChromium.h: Removed.
1844         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1845         (WebCore::CCLayerImpl::drawsContent):
1846         (WebCore::CCLayerImpl::draw):
1847         * platform/graphics/chromium/cc/CCLayerImpl.h:
1848         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
1849         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.
1850
1851 2011-07-12  Joseph Pecoraro  <joepeck@webkit.org>
1852
1853         ApplicationCache update should not immediately fail when reaching per-origin quota
1854         https://bugs.webkit.org/show_bug.cgi?id=64177
1855
1856         Reviewed by Alexey Proskuryakov.
1857
1858         New behavior of handling ApplicationCache per-origin quotas. Previously,
1859         if the quota was reached while downloading we would fail the download
1860         and then prompt the user for a storage increase. This required a refresh,
1861         a redownload of resources, and the total storage was not known so the
1862         process could be repeated multiple times before an acceptable quota
1863         was found or the user disallowed an increase.
1864         
1865         The new behavior is to complete the download of the entire appcache.
1866         When the cache completes downloading and it is greater than the origin
1867         quota, prompt the user to allow a quota increase with the known space
1868         needed. If the quota is increased, the cache will succeed, otherwise
1869         it will fail with the normal failure steps.
1870
1871         An alternative behavior is prompting while downloading immediately
1872         when the origin quota is reached, however at that point the entire
1873         space needed is unknown and so quota increases might not be enough
1874         and could result in multiple prompts to the user.
1875
1876         Tests: http/tests/appcache/origin-quota-continued-download-multiple-manifests.html
1877                http/tests/appcache/origin-quota-continued-download.html
1878
1879         * loader/appcache/ApplicationCacheGroup.h:
1880         * loader/appcache/ApplicationCacheGroup.cpp:
1881         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1882         Rename instance variable to be more clear on its intent.
1883
1884         (WebCore::ApplicationCacheGroup::didFinishLoading):
1885         Check the quota limit while downloading so we can fail early
1886         if the user already denied a quota increase.
1887
1888         (WebCore::ApplicationCacheGroup::didReachOriginQuota):
1889         Pass the space needed information to the chrome client.
1890
1891         (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
1892         Removed. Instead convert the callers to update state and console
1893         log when the per-origin quota is reached. This allows us to follow
1894         the normal failure steps if the quota is reached at the end of a
1895         download, and the alternative short path when we fail during downloading.
1896
1897         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
1898         Extract to a helper function.
1899
1900         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
1901         Allow for a quota increase at the end of the download now that
1902         we know the space needed. Then proceed to fail or succeed
1903         as we normally would.
1904
1905         * loader/appcache/ApplicationCacheStorage.h:
1906         * loader/appcache/ApplicationCacheStorage.cpp:
1907         (WebCore::ApplicationCacheStorage::checkOriginQuota):
1908         (WebCore::ApplicationCacheStorage::storeNewestCache):
1909         Extract checking the origin quota for when an ApplicationCacheGroup
1910         will be replacing an ApplicationCacheGroup into a helper function.
1911         The helper also provides an out parameter for the space needed
1912         to properly fit the new cache group if it wouldn't fit.
1913
1914         * page/ChromeClient.h:
1915         * loader/EmptyClients.h:
1916         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
1917         Add a space needed parameter when reaching the per-origin quota.
1918
1919 2011-07-12  Chris Rogers  <crogers@google.com>
1920
1921         AudioDevice::Stop can close NULL handle.
1922         https://bugs.webkit.org/show_bug.cgi?id=64157
1923
1924         Reviewed by Kenneth Russell.
1925
1926         No new tests since audio API is not yet implemented.
1927
1928         * bindings/js/JSAudioContextCustom.cpp:
1929         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
1930         * bindings/v8/custom/V8AudioContextCustom.cpp:
1931         (WebCore::V8AudioContext::constructorCallback):
1932         * webaudio/AudioContext.cpp:
1933         (WebCore::AudioContext::create):
1934         (WebCore::AudioContext::uninitialize):
1935         * webaudio/AudioContext.h:
1936
1937 2011-07-12  John Bates  <jbates@google.com>
1938
1939         Move call to syncCompositingLayers so that we do not trigger redundant draws.
1940         https://bugs.webkit.org/show_bug.cgi?id=64224
1941
1942         doComposite was triggering two composites every time a canvas was dirtied.
1943         By moving syncCompositingLayers call to layout, the client code can draw without triggering
1944         a redundant frame. Also renamed WebViewImpl::updateLayers to
1945         syncCompositingLayers, because it was confusing. CCLayerTreeHostImplProxy::updateLayers was
1946         no longer needed, because animateAndLayout calls WebViewImpl::layout.
1947
1948         Reviewed by James Robinson.
1949
1950         * platform/graphics/chromium/LayerRendererChromium.cpp:
1951         (WebCore::LayerRendererChromium::updateLayers):
1952         * platform/graphics/chromium/LayerRendererChromium.h:
1953         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1954         (WebCore::CCLayerTreeHost::syncCompositingLayers):
1955         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1956         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
1957         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
1958
1959 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
1960
1961         Isolate HTMLTextFormControlElement into a separate file
1962         https://bugs.webkit.org/show_bug.cgi?id=64381
1963
1964         Reviewed by Dimitri Glazkov.
1965
1966         Extracted HTMLTextFormControlElement.h and HTMLTextFormControlElement.cpp out of
1967         HTMLFormControlElement.h and HTMLFormControlElement.cpp.
1968
1969         Also moved defaultEventHandler from HTMLFormControlElementWithState to HTMLTextFormControlElement
1970         because it was specific to HTMLTextFormControlElement, and replaced all references to
1971         HTMLFormControlElementWithState in HTMLInputElement and HTMLTextAreaElement by ones to
1972         HTMLTextFormControlElement.
1973
1974         * CMakeLists.txt:
1975         * GNUmakefile.list.am:
1976         * WebCore.gypi:
1977         * WebCore.pro:
1978         * WebCore.vcproj/WebCore.vcproj:
1979         * WebCore.xcodeproj/project.pbxproj:
1980         * editing/TextIterator.cpp:
1981         * editing/htmlediting.cpp:
1982         * html/HTMLElementsAllInOne.cpp:
1983         * html/HTMLFormControlElement.cpp:
1984         (WebCore::HTMLFormControlElement::isFocusable):
1985         * html/HTMLFormControlElement.h:
1986         * html/HTMLInputElement.cpp:
1987         (WebCore::HTMLInputElement::isKeyboardFocusable):
1988         (WebCore::HTMLInputElement::isMouseFocusable):
1989         (WebCore::HTMLInputElement::updateFocusAppearance):
1990         (WebCore::HTMLInputElement::canStartSelection):
1991         (WebCore::HTMLInputElement::parseMappedAttribute):
1992         (WebCore::HTMLInputElement::finishParsingChildren):
1993         (WebCore::HTMLInputElement::rendererIsNeeded):
1994         (WebCore::HTMLInputElement::attach):
1995         (WebCore::HTMLInputElement::detach):
1996         (WebCore::HTMLInputElement::copyNonAttributeProperties):
1997         (WebCore::HTMLInputElement::defaultEventHandler):
1998         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
1999         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
2000         (WebCore::HTMLInputElement::addSubresourceAttributeURLs):
2001         (WebCore::HTMLInputElement::recalcWillValidate):
2002         * html/HTMLInputElement.h:
2003         * html/HTMLTextAreaElement.cpp:
2004         (WebCore::HTMLTextAreaElement::defaultEventHandler):
2005         * html/HTMLTextAreaElement.h:
2006         * html/HTMLTextFormControlElement.cpp: Copied from Source/WebCore/html/HTMLFormControlElement.cpp.
2007         (WebCore::HTMLTextFormControlElement::defaultEventHandler):
2008         * html/HTMLTextFormControlElement.h: Copied from Source/WebCore/html/HTMLFormControlElement.h.
2009
2010 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2011
2012         Unreviewed, rolling out r90831.
2013         http://trac.webkit.org/changeset/90831
2014         https://bugs.webkit.org/show_bug.cgi?id=64389
2015
2016         Likely caused fast/canvas/DrawImageSinglePixelStretch.html to
2017         start timing out on the chromium GPU bots (Requested by ojan
2018         on #webkit).
2019
2020         * platform/graphics/skia/ImageBufferSkia.cpp:
2021         (WebCore::getImageData):
2022         (WebCore::putImageData):
2023
2024 2011-07-12  James Robinson  <jamesr@chromium.org>
2025
2026         Reviewed by Kenneth Russell.
2027
2028         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
2029         https://bugs.webkit.org/show_bug.cgi?id=58833
2030
2031         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
2032         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
2033         the drawing responsibilities for tiled layers.
2034
2035         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
2036         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
2037         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
2038         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
2039         way tile eviction works.
2040
2041         * WebCore.gypi:
2042         * platform/graphics/chromium/ContentLayerChromium.cpp:
2043         (WebCore::ContentLayerChromium::ContentLayerChromium):
2044         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2045         (WebCore::ContentLayerChromium::drawsContent):
2046         * platform/graphics/chromium/ContentLayerChromium.h:
2047         (WebCore::ContentLayerChromium::textureUpdater):
2048         * platform/graphics/chromium/ImageLayerChromium.cpp:
2049         (WebCore::ImageLayerChromium::ImageLayerChromium):
2050         (WebCore::ImageLayerChromium::cleanupResources):
2051         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2052         (WebCore::ImageLayerChromium::textureUpdater):
2053         (WebCore::ImageLayerChromium::contentBounds):
2054         (WebCore::ImageLayerChromium::drawsContent):
2055         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
2056         * platform/graphics/chromium/ImageLayerChromium.h:
2057         * platform/graphics/chromium/LayerChromium.cpp:
2058         (WebCore::LayerChromium::pushPropertiesTo):
2059         (WebCore::LayerChromium::ccLayerImpl):
2060         * platform/graphics/chromium/LayerChromium.h:
2061         (WebCore::LayerChromium::contentBounds):
2062         * platform/graphics/chromium/LayerRendererChromium.cpp:
2063         (WebCore::LayerRendererChromium::drawRootLayer):
2064         (WebCore::visibleLayerRect):
2065         (WebCore::paintLayerContentsIfDirty):
2066         (WebCore::LayerRendererChromium::paintLayerContents):
2067         (WebCore::LayerRendererChromium::drawLayer):
2068         * platform/graphics/chromium/LayerTilerChromium.cpp:
2069         (WebCore::LayerTilerChromium::updateRect):
2070         (WebCore::LayerTilerChromium::draw):
2071         (WebCore::LayerTilerChromium::drawTiles):
2072         * platform/graphics/chromium/LayerTilerChromium.h:
2073         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
2074         (WebCore::TiledLayerChromium::TiledLayerChromium):
2075         (WebCore::TiledLayerChromium::~TiledLayerChromium):
2076         (WebCore::TiledLayerChromium::createCCLayerImpl):
2077         (WebCore::TiledLayerChromium::cleanupResources):
2078         (WebCore::TiledLayerChromium::setLayerRenderer):
2079         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
2080         (WebCore::TiledLayerChromium::drawsContent):
2081         (WebCore::TiledLayerChromium::createTilerIfNeeded):
2082         (WebCore::TiledLayerChromium::updateCompositorResources):
2083         (WebCore::TiledLayerChromium::setTilingOption):
2084         (WebCore::TiledLayerChromium::setIsMask):
2085         (WebCore::TiledLayerChromium::tilingTransform):
2086         (WebCore::TiledLayerChromium::pushPropertiesTo):
2087         (WebCore::writeIndent):
2088         (WebCore::TiledLayerChromium::dumpLayerProperties):
2089         * platform/graphics/chromium/TiledLayerChromium.h: Copied from Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h.
2090         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2091         (WebCore::CCLayerImpl::draw):
2092         * platform/graphics/chromium/cc/CCLayerImpl.h:
2093         (WebCore::CCLayerImpl::setDrawsContent):
2094         (WebCore::CCLayerImpl::drawsContent):
2095         (WebCore::CCLayerImpl::contentBounds):
2096         (WebCore::CCLayerImpl::setContentBounds):
2097         (WebCore::CCLayerImpl::doubleSided):
2098         (WebCore::CCLayerImpl::setDoubleSided):
2099         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
2100         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
2101         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
2102         (WebCore::CCTiledLayerImpl::draw):
2103         (WebCore::CCTiledLayerImpl::bindContentsTexture):
2104         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
2105         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
2106         (WebCore::CCTiledLayerImpl::create):
2107         (WebCore::CCTiledLayerImpl::setTilingTransform):
2108         (WebCore::CCTiledLayerImpl::setTiler):
2109
2110 2011-07-12  Arno Renevier  <arno@renevier.net>
2111
2112         [GTK] DOM bindings do not have gir annotations
2113         https://bugs.webkit.org/show_bug.cgi?id=45395
2114
2115         Reviewed by Xan Lopez.
2116
2117         * bindings/scripts/CodeGeneratorGObject.pm: generate introspection annotations.
2118         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: update for new output.
2119         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: ditto.
2120         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: ditto.
2121
2122 2011-07-12  Chris Rogers  <crogers@google.com>
2123
2124         webkitAudioContext does not do proper sanity checking on its arguments.
2125         https://bugs.webkit.org/show_bug.cgi?id=64076
2126
2127         Reviewed by Kenneth Russell.
2128
2129         No new tests since audio API is not yet implemented.
2130
2131         * bindings/js/JSAudioContextCustom.cpp:
2132         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
2133         (WebCore::JSAudioContext::createBuffer):
2134         * bindings/v8/custom/V8AudioContextCustom.cpp:
2135         (WebCore::V8AudioContext::constructorCallback):
2136         (WebCore::V8AudioContext::createBufferCallback):
2137         * platform/audio/HRTFDatabaseLoader.h:
2138         (WebCore::HRTFDatabaseLoader::databaseSampleRate):
2139         * webaudio/AudioContext.cpp:
2140         (WebCore::AudioContext::create):
2141         (WebCore::AudioContext::createOfflineContext):
2142         (WebCore::AudioContext::createBuffer):
2143         * webaudio/AudioContext.h:
2144
2145 2011-07-12  Pratik Solanki  <psolanki@apple.com>
2146
2147         Implement didReceiveDataArray callback for CFNetwork based loader
2148         https://bugs.webkit.org/show_bug.cgi?id=64130
2149
2150         Reviewed by David Kilzer.
2151
2152         Factor out the didReceiveDataArray code from ResourceHandleMac.mm into
2153         a new method ResourceHandle::handleDataArray(). Implement the callback
2154         in the CFNetwork loader code and call handleDataArray() to process
2155         incoming data.
2156
2157         No new tests because the flag is not enabled for any bots.
2158
2159         * platform/network/ResourceHandle.h:
2160         * platform/network/cf/ResourceHandleCFNet.cpp:
2161         (WebCore::didReceiveDataArray):
2162         (WebCore::ResourceHandle::createCFURLConnection):
2163         (WebCore::ResourceHandle::handleDataArray):
2164         * platform/network/mac/ResourceHandleMac.mm:
2165         (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
2166
2167 2011-07-12  Emil A Eklund  <eae@chromium.org>
2168
2169         Switch preferred width/height and columns to to new layout types
2170         https://bugs.webkit.org/show_bug.cgi?id=64329
2171
2172         Reviewed by Eric Seidel.
2173
2174         No new tests, no new functionality.
2175
2176         * rendering/LayoutTypes.h:
2177         (WebCore::ceiledLayoutUnit):
2178         Add ceiledLayoutUnit to go with the floored version.
2179         
2180         * rendering/RenderBlock.cpp:
2181         (WebCore::RenderBlock::adjustRectForColumns):
2182         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2183         (WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns):
2184         Rename rect version of flipForWritingModeIncludingColumns to
2185         adjustStartEdgeForWritingModeIncludingColumns as it adjust the start edge
2186         and does not flip the rect.
2187        
2188         (WebCore::RenderBlock::adjustForColumns):
2189         (WebCore::updatePreferredWidth):
2190         * rendering/RenderBlock.h:
2191         * rendering/RenderBox.cpp:
2192         (WebCore::RenderBox::minPreferredLogicalWidth):
2193         (WebCore::RenderBox::maxPreferredLogicalWidth):
2194         (WebCore::RenderBox::offsetFromContainer):
2195         (WebCore::RenderBox::computePercentageLogicalHeight):
2196         (WebCore::RenderBox::flipForWritingMode):
2197         (WebCore::RenderBox::flipForWritingModeIncludingColumns):
2198         * rendering/RenderBox.h:
2199         * rendering/RenderListBox.cpp:
2200         (WebCore::RenderListBox::itemBoundingBoxRect):
2201         * rendering/RenderListBox.h:
2202         * rendering/RenderObject.h:
2203         (WebCore::RenderObject::minPreferredLogicalWidth):
2204         (WebCore::RenderObject::maxPreferredLogicalWidth):
2205         (WebCore::RenderObject::adjustForColumns):
2206         * rendering/RenderReplaced.cpp:
2207         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2208         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2209         * rendering/TableLayout.h:
2210
2211 2011-07-12  Levi Weintraub  <leviw@chromium.org>
2212
2213         Change roundedIntRect to roundedRect
2214         https://bugs.webkit.org/show_bug.cgi?id=64326
2215
2216         Reviewed by Eric Seidel.
2217
2218         Renaming RoundedIntRect to RoundedRect and moving the underlying type to Layout units from
2219         integer-based versions.
2220
2221         No new tests, no new functionality
2222
2223         * WebCore.gypi:
2224         * WebCore.pro:
2225         * WebCore.vcproj/WebCore.vcproj:
2226         * WebCore.xcodeproj/project.pbxproj:
2227         * platform/graphics/GraphicsContext.cpp:
2228         (WebCore::GraphicsContext::addRoundedRectClip):
2229         (WebCore::GraphicsContext::clipOutRoundedRect):
2230         (WebCore::GraphicsContext::fillRoundedRect):
2231         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2232         * platform/graphics/GraphicsContext.h:
2233         * platform/graphics/Path.cpp:
2234         (WebCore::Path::addRoundedRect):
2235         * platform/graphics/Path.h:
2236         * platform/graphics/RoundedIntRect.cpp: Removed.
2237         * platform/graphics/RoundedIntRect.h: Removed.
2238         * platform/graphics/RoundedRect.cpp: Copied from Source/WebCore/platform/graphics/RoundedIntRect.cpp.
2239         (WebCore::RoundedRect::Radii::isZero):
2240         (WebCore::RoundedRect::Radii::scale):
2241         (WebCore::RoundedRect::Radii::expand):
2242         (WebCore::RoundedRect::inflateWithRadii):
2243         (WebCore::RoundedRect::Radii::includeLogicalEdges):
2244         (WebCore::RoundedRect::Radii::excludeLogicalEdges):
2245         (WebCore::RoundedRect::RoundedRect):
2246         (WebCore::RoundedRect::includeLogicalEdges):
2247         (WebCore::RoundedRect::excludeLogicalEdges):
2248         (WebCore::RoundedRect::isRenderable):
2249         * platform/graphics/RoundedRect.h: Copied from Source/WebCore/platform/graphics/RoundedIntRect.h.
2250         (WebCore::RoundedRect::Radii::Radii):
2251         (WebCore::RoundedRect::Radii::setTopLeft):
2252         (WebCore::RoundedRect::Radii::setTopRight):
2253         (WebCore::RoundedRect::Radii::setBottomLeft):
2254         (WebCore::RoundedRect::Radii::setBottomRight):
2255         (WebCore::RoundedRect::Radii::topLeft):
2256         (WebCore::RoundedRect::Radii::topRight):
2257         (WebCore::RoundedRect::Radii::bottomLeft):
2258         (WebCore::RoundedRect::Radii::bottomRight):
2259         (WebCore::RoundedRect::Radii::expand):
2260         (WebCore::RoundedRect::Radii::shrink):
2261         (WebCore::RoundedRect::rect):
2262         (WebCore::RoundedRect::setRect):
2263         (WebCore::RoundedRect::move):
2264         (WebCore::RoundedRect::inflate):
2265         (WebCore::RoundedRect::expandRadii):
2266         (WebCore::RoundedRect::shrinkRadii):
2267         (WebCore::operator==):
2268         * platform/graphics/ShadowBlur.cpp:
2269         (WebCore::ScratchBuffer::setLastShadowValues):
2270         (WebCore::ScratchBuffer::setLastInsetShadowValues):
2271         (WebCore::ScratchBuffer::matchesLastShadow):
2272         (WebCore::ScratchBuffer::matchesLastInsetShadow):
2273         (WebCore::computeSliceSizesFromRadii):
2274         (WebCore::ShadowBlur::templateSize):
2275         (WebCore::ShadowBlur::drawRectShadow):
2276         (WebCore::ShadowBlur::drawInsetShadow):
2277         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2278         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
2279         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2280         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2281         (WebCore::ShadowBlur::drawLayerPieces):
2282         * platform/graphics/ShadowBlur.h:
2283         * platform/graphics/cg/GraphicsContextCG.cpp:
2284         (WebCore::GraphicsContext::fillRect):
2285         (WebCore::GraphicsContext::fillRoundedRect):
2286         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2287         * rendering/RenderBox.cpp:
2288         (WebCore::RenderBox::paintBoxDecorations):
2289         * rendering/RenderBoxModelObject.cpp:
2290         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
2291         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2292         (WebCore::RenderBoxModelObject::paintOneBorderSide):
2293         (WebCore::RenderBoxModelObject::paintBorderSides):
2294         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
2295         (WebCore::RenderBoxModelObject::paintBorder):
2296         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2297         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2298         (WebCore::RenderBoxModelObject::paintBoxShadow):
2299         * rendering/RenderBoxModelObject.h:
2300         * rendering/RenderThemeMac.mm:
2301         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2302         (WebCore::RenderThemeMac::paintSliderTrack):
2303         * rendering/style/RenderStyle.cpp:
2304         (WebCore::calcRadiiFor):
2305         (WebCore::calcConstraintScaleFor):
2306         (WebCore::RenderStyle::getRoundedBorderFor):
2307         (WebCore::RenderStyle::getRoundedInnerBorderFor):
2308         * rendering/style/RenderStyle.h:
2309
2310 2011-07-12  Mike Reed  <reed@google.com>
2311
2312         [skia] optimize getImageData to avoid a copy when not needed. lockPixels() now does the right thing.
2313         https://bugs.webkit.org/show_bug.cgi?id=64302
2314
2315         Reviewed by Stephen White.
2316
2317         No new tests. Just an optimization for getImageData(), existing <canvas> tests apply
2318
2319         * platform/graphics/skia/ImageBufferSkia.cpp:
2320         (WebCore::getImageData):
2321         (WebCore::putImageData):
2322
2323 2011-07-12  Pavel Feldman  <pfeldman@google.com>
2324
2325         Web Inspector: introduce UserMetrics for collecting stats in Chromium port.
2326         https://bugs.webkit.org/show_bug.cgi?id=64350
2327
2328         Reviewed by Yury Semikhatsky.
2329
2330         Test: inspector/user-metrics.html
2331
2332         * WebCore.gypi:
2333         * WebCore.vcproj/WebCore.vcproj:
2334         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2335         (WebCore::JSInspectorFrontendHost::recordActionTaken):
2336         (WebCore::JSInspectorFrontendHost::recordPanelShown):
2337         (WebCore::JSInspectorFrontendHost::recordSettingChanged):
2338         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2339         (WebCore::histogramEnumeration):
2340         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
2341         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
2342         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
2343         * inspector/InspectorFrontendHost.idl:
2344         * inspector/front-end/AuditsPanel.js:
2345         (WebInspector.AuditsPanel.prototype.initiateAudit):
2346         * inspector/front-end/ConsoleView.js:
2347         * inspector/front-end/DebuggerModel.js:
2348         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2349         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2350         * inspector/front-end/InspectorFrontendHostStub.js:
2351         (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
2352         (.WebInspector.InspectorFrontendHostStub.prototype.recordActionTaken):
2353         (.WebInspector.InspectorFrontendHostStub.prototype.recordPanelShown):
2354         (.WebInspector.InspectorFrontendHostStub.prototype.recordSettingChanged):
2355         * inspector/front-end/ProfilesPanel.js:
2356         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
2357         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2358         * inspector/front-end/TimelinePanel.js:
2359         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
2360         * inspector/front-end/UserMetrics.js: Added.
2361         (WebInspector.UserMetrics.settingChanged):
2362         (WebInspector.UserMetrics):
2363         (WebInspector.UserMetrics.prototype.panelShown):
2364         (WebInspector.UserMetrics._Recorder):
2365         (WebInspector.UserMetrics._Recorder.prototype.record):
2366         * inspector/front-end/WebKit.qrc:
2367         * inspector/front-end/inspector.html:
2368         * inspector/front-end/inspector.js:
2369         (WebInspector._toggleAttach):
2370
2371 2011-07-12  Pratik Solanki  <psolanki@apple.com>
2372
2373         Reviewed by David Kilzer.
2374
2375         Add NSURLResponse wrapper in ResourceResponse when USE(CFNETWORK) is enabled
2376         https://bugs.webkit.org/show_bug.cgi?id=63286
2377
2378         When USE(CFNETWORK) is enabled on Mac, keep an NSURLResponse object along with the
2379         CFURLResponseRef so that WebKit can continue using the NSURLResponse.
2380
2381         No new tests because no change in functionality and option is not enabled on Mac.
2382
2383         * platform/network/cf/ResourceResponse.h:
2384         (WebCore::ResourceResponse::ResourceResponse):
2385         * platform/network/mac/ResourceResponseMac.mm:
2386         (WebCore::ResourceResponse::initNSURLResponse):
2387         (WebCore::ResourceResponse::nsURLResponse):
2388         (WebCore::ResourceResponse::ResourceResponse):
2389
2390 2011-07-12  Pavel Podivilov  <podivilov@chromium.org>
2391
2392         Web Inspector: Cancelling an empty edit fails.
2393         https://bugs.webkit.org/show_bug.cgi?id=64351
2394
2395         Reviewed by Pavel Feldman.
2396
2397         * inspector/front-end/ResourceView.js:
2398         (WebInspector.EditableResourceSourceFrame.prototype.cancelEditing):
2399
2400 2011-07-12  Pavel Podivilov  <podivilov@chromium.org>
2401
2402         Web Inspector: make TextViewerDelegate methods implementations public in SourceFrame.
2403         https://bugs.webkit.org/show_bug.cgi?id=64353
2404
2405         Reviewed by Pavel Feldman.
2406
2407         * inspector/front-end/SourceFrame.js:
2408         (WebInspector.SourceFrame.prototype.beforeTextChanged):
2409         (WebInspector.SourceFrame.prototype.afterTextChanged):
2410         (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
2411         (WebInspector.SourceFrame.prototype.suggestedFileName):
2412         (WebInspector.SourceFrame.prototype.doubleClick):
2413         (WebInspector.SourceFrame.prototype.cancelEditing):
2414         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
2415         (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
2416         (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
2417         (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
2418         (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
2419         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
2420         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
2421         (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
2422
2423 2011-07-12  Andrey Kosyakov  <caseq@chromium.org>
2424
2425         Web Inspector: remove more dead code from the Network panel
2426         https://bugs.webkit.org/show_bug.cgi?id=64291
2427
2428         Reviewed by Pavel Feldman.
2429
2430         * inspector/front-end/NetworkPanel.js:
2431         (WebInspector.NetworkPanel.prototype._toggleGridMode):
2432         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
2433         * inspector/front-end/networkPanel.css:
2434
2435 2011-07-12  Adam Roben  <aroben@apple.com>
2436
2437         Unreviewed, rolling out r90811.
2438         http://trac.webkit.org/changeset/90811
2439         https://bugs.webkit.org/show_bug.cgi?id=61025
2440
2441         Several svg tests failing assertions beneath
2442         SVGSMILElement::findInstanceTime
2443
2444         * svg/animation/SVGSMILElement.cpp:
2445         (WebCore::SVGSMILElement::findInstanceTime):
2446
2447 2011-07-12  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
2448
2449         Reviewed by Nikolas Zimmermann.
2450
2451         Speed up SVGSMILElement::findInstanceTime.
2452         https://bugs.webkit.org/show_bug.cgi?id=61025
2453
2454         Replace the linear search to binary search on ordered list because
2455         the previous searches from the beginning was not efficient.
2456         Out of index error fixed by Renata Hodovan.
2457
2458         No new tests this is only a performance tweak.
2459
2460         * svg/animation/SVGSMILElement.cpp:
2461         (WebCore::extractTimeFromVector):
2462         (WebCore::SVGSMILElement::findInstanceTime):
2463
2464 2011-07-11  Zeng Huiqing  <huiqing.zeng@intel.com>
2465
2466         Optimize HTMLInputElement::updateCheckedRadioButtons
2467         https://bugs.webkit.org/show_bug.cgi?id=62840
2468
2469         Reviewed by Kent Tamura.
2470
2471         No new tests.
2472
2473         * dom/Document.h:
2474         (WebCore::Document::getFormElements):
2475         * html/HTMLInputElement.cpp:
2476         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
2477         (WebCore::HTMLInputElement::setChecked):
2478
2479 2011-07-11  Pratik Solanki  <psolanki@apple.com>
2480
2481         Reviewed by David Kilzer.
2482
2483         Add NSURLRequest wrapper in ResourceRequest when USE(CFNETWORK) is enabled
2484         https://bugs.webkit.org/show_bug.cgi?id=63276
2485
2486         When USE(CFNETWORK) is enabled on Mac, keep an NSURLRequest object along with the
2487         CFURLRequestRef so that WebKit can continue using the NSURLRequest.
2488
2489         No new tests because no change in functionality and option is not enabled on Mac.
2490
2491         * platform/network/cf/ResourceRequest.h:
2492         (WebCore::ResourceRequest::updateNSURLRequest):
2493         (WebCore::ResourceRequest::ResourceRequest):
2494         * platform/network/cf/ResourceRequestCFNet.cpp:
2495         (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
2496         (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
2497         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2498         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
2499         * platform/network/mac/ResourceRequestMac.mm:
2500         (WebCore::ResourceRequest::nsURLRequest):
2501         (WebCore::ResourceRequest::ResourceRequest):
2502         (WebCore::ResourceRequest::updateNSURLRequest):
2503
2504 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
2505
2506         positionForPoint is broken when a block is positioned relatively inside the parent
2507         https://bugs.webkit.org/show_bug.cgi?id=64298
2508
2509         Reviewed by Simon Fraser.
2510
2511         The bug was caused by positionForPointRespectingEditingBoundaries's not taking relativePositionOffset
2512         into account when computing the point in child coordinates. Fixed the bug by adding the offset to
2513         childLocation as needed.
2514
2515         Test: fast/block/positioning/hittest-on-relative-positioned-children.html
2516
2517         * rendering/RenderBlock.cpp:
2518         (WebCore::positionForPointRespectingEditingBoundaries): Fixed the bug; also replaced all instances of
2519         IntPoint by LayoutPoint.
2520
2521 2011-07-11  Dan Bernstein  <mitz@apple.com>
2522
2523         Excessive expansion of justified text when rounding hacks are enabled
2524         https://bugs.webkit.org/show_bug.cgi?id=64331
2525
2526         Reviewed by Anders Carlsson.
2527
2528         Test: platform/mac/fast/text/rounding-hacks-expansion.html
2529
2530         When rounding hacks are enabled, the expansion at each expansion opportunity should be by an
2531         integer. Restored more of the logic that was removed in r78846 in order to ensure this.
2532
2533         * platform/graphics/WidthIterator.cpp:
2534         (WebCore::WidthIterator::advance):
2535         * platform/graphics/mac/ComplexTextController.cpp:
2536         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2537
2538 2011-07-11  Jer Noble  <jer.noble@apple.com>
2539
2540         HTML5 video controller in fullscreen is partly off-screen (at least on youtube) using ClickToFlash
2541         https://bugs.webkit.org/show_bug.cgi?id=64327
2542
2543         Reviewed by Darin Adler.
2544
2545         No new tests; no change in functionality, so covered by existing tests.
2546
2547         Make the rules from fullscreenQuickTime.css !important so they are not overridden
2548         by page authors.
2549
2550         * css/fullscreenQuickTime.css:
2551         (video:-webkit-full-screen::-webkit-media-controls-panel):
2552
2553 2011-07-11  Levi Weintraub  <leviw@chromium.org>
2554
2555         Switch lineTop and lineBottom to new layout types
2556         https://bugs.webkit.org/show_bug.cgi?id=64317
2557
2558         Reviewed by Eric Seidel.
2559
2560         Changing lineTop and lineBottom to LayoutUnits and preparing all uses
2561         of them for the upcoming conversion.
2562
2563         No new tests, no new functionality.
2564
2565         * rendering/EllipsisBox.cpp:
2566         (WebCore::EllipsisBox::nodeAtPoint):
2567         * rendering/EllipsisBox.h:
2568         * rendering/GapRects.h:
2569         (WebCore::GapRects::left):
2570         (WebCore::GapRects::center):
2571         (WebCore::GapRects::right):
2572         (WebCore::GapRects::uniteLeft):
2573         (WebCore::GapRects::uniteCenter):
2574         (WebCore::GapRects::uniteRight):
2575         (WebCore::GapRects::operator LayoutRect):
2576         * rendering/InlineBox.cpp:
2577         (WebCore::InlineBox::nodeAtPoint):
2578         * rendering/InlineBox.h:
2579         * rendering/InlineFlowBox.cpp:
2580         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2581         (WebCore::InlineFlowBox::flipLinesInBlockDirection):
2582         (WebCore::InlineFlowBox::computeOverflow):
2583         (WebCore::InlineFlowBox::setLayoutOverflow):
2584         (WebCore::InlineFlowBox::setVisualOverflow):
2585         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
2586         (WebCore::InlineFlowBox::nodeAtPoint):
2587         * rendering/InlineFlowBox.h:
2588         (WebCore::InlineFlowBox::layoutOverflowRect):
2589         (WebCore::InlineFlowBox::visualOverflowRect):
2590         * rendering/InlineTextBox.cpp:
2591         (WebCore::InlineTextBox::nodeAtPoint):
2592         * rendering/RenderLineBoxList.cpp:
2593         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
2594         * rendering/RenderLineBoxList.h:
2595         * rendering/RenderListItem.cpp:
2596         (WebCore::RenderListItem::positionListMarker):
2597         * rendering/RenderTextControl.h:
2598         * rendering/RenderTextControlMultiLine.cpp:
2599         (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
2600         * rendering/RenderTextControlSingleLine.cpp:
2601         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
2602         * rendering/RenderTextControlSingleLine.h:
2603         * rendering/RootInlineBox.cpp:
2604         (WebCore::RootInlineBox::nodeAtPoint):
2605         * rendering/RootInlineBox.h:
2606         (WebCore::RootInlineBox::lineTop):
2607         (WebCore::RootInlineBox::lineBottom):
2608         (WebCore::RootInlineBox::setLineTopBottomPositions):
2609         (WebCore::RootInlineBox::logicalTopVisualOverflow):
2610         (WebCore::RootInlineBox::logicalBottomVisualOverflow):
2611         (WebCore::RootInlineBox::logicalTopLayoutOverflow):
2612         (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
2613         * rendering/svg/SVGInlineFlowBox.h:
2614         * rendering/svg/SVGInlineTextBox.cpp:
2615         (WebCore::SVGInlineTextBox::nodeAtPoint):
2616         * rendering/svg/SVGInlineTextBox.h:
2617         * rendering/svg/SVGRootInlineBox.h:
2618
2619 2011-07-11  Martin Robinson  <mrobinson@igalia.com>
2620
2621         Reviewed by Daniel Bates.
2622
2623         [GTK] Transition to Mozilla named cursors have incorrect hotspot and rendering
2624         https://bugs.webkit.org/show_bug.cgi?id=62752
2625
2626         Instead of offsetting the cursor blit by the hotspot, just pass the hotspot
2627         arguments to the GdkCursor constructor.
2628
2629         No new tests. This is covered by manual-tests/cursor.html.
2630
2631         * platform/gtk/CursorGtk.cpp:
2632         (WebCore::createNamedCursor):
2633
2634 2011-07-11  Yi Shen  <yi.4.shen@nokia.com>
2635
2636         [Qt] Unreviewed rollout 90779 which may fail the layout-test.
2637
2638         * platform/network/qt/QNetworkReplyHandler.cpp:
2639         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
2640         * platform/network/qt/QNetworkReplyHandler.h:
2641
2642 2011-07-11  Bradley Nelson  <bradnelson@chromium.org>
2643
2644         Reviewed by Darin Fisher.
2645
2646         Split webcore_dom off webcore_remaining to reduce its size for
2647         whole program optimization builds.
2648
2649         https://bugs.webkit.org/show_bug.cgi?id=64299
2650
2651         * WebCore.gyp/WebCore.gyp:
2652
2653 2011-07-11  Yi Shen  <yi.4.shen@nokia.com>
2654
2655         [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
2656         https://bugs.webkit.org/show_bug.cgi?id=62808
2657
2658         Reviewed by Benjamin Poulain.
2659
2660         The assertion in ResourceHandle::setDefersLoading assumes asynchronous
2661         content delivery -- To resume a page, first, its main resource loader
2662         calls setDefersLoading to resume loading the main content; then all the
2663         sub-resource loaders calls setDefersLoading to resume sub-contents.
2664         However, since QNetworkReplyHandler delivers content synchronously,
2665         some new sub-resource loaders get created as soon as the main resource
2666         loader resumed, and all these new sub-resource loaders set their
2667         defersLoading flag to false. Then, the assertion fails for these new
2668         sub-resource loaders when calling setDefersLoading on them. As a fix,
2669         this path makes QNetworkReplyHandler deliver content asynchronously.
2670
2671         Test: loader/load-defer-resume-crash.html
2672
2673         * platform/network/qt/QNetworkReplyHandler.cpp:
2674         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
2675         * platform/network/qt/QNetworkReplyHandler.h:
2676
2677 2011-07-08  Ryosuke Niwa  <rniwa@webkit.org>
2678
2679         Move innerTextElement() from RenderTextControl to HTMLTextFormControlElement
2680         https://bugs.webkit.org/show_bug.cgi?id=64134
2681
2682         Reviewed by Kent Tamura.
2683
2684         Moved innerTextElement from RenderTextControl to HTMLTextFormControlElement. It is implemented by
2685         HTMLInputElement and HTMLTextAreaElement instead of RenderTextControlSingleLine and
2686         RenderTextControlMultiLine.
2687
2688         This refactoring removes the indirection through RenderTextControl and makes the ownership of
2689         shadow DOM for input and textarea elements clear. Accessing the shadow DOM of input and textarea elements
2690         are now less error prone because it no longer depends on the lifetime of the render tree.
2691
2692         * accessibility/AccessibilityRenderObject.cpp:
2693         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Access innerTextElement via
2694         HTMLTextFormControlElement.
2695         * dom/Node.cpp:
2696         (WebCore::traverseTreeAndMark): No longer calls innerTextElement because this was a work-around
2697         needed before making input and textarea elements use the new shadow DOM model.
2698         * editing/TextIterator.cpp:
2699         (WebCore::TextIterator::handleReplacedElement): Access innerTextElement via HTMLTextFormControlElement.
2700         * html/HTMLFormControlElement.cpp:
2701         (WebCore::hasVisibleTextArea): Takes innerTextElement.
2702         (WebCore::HTMLTextFormControlElement::setSelectionRange): Calls innerTextElement().
2703         (WebCore::HTMLTextFormControlElement::selection): Ditto.
2704         (WebCore::HTMLTextFormControlElement::selectionStart): Ditto; no longer uses a temporary local variable
2705         for innerTextElement because innerTextElement() no longer depends on the lifetime of the render tree.
2706         (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
2707         * html/HTMLFormControlElement.h:
2708         * html/HTMLTextAreaElement.cpp:
2709         (WebCore::HTMLTextAreaElement::innerTextElement): Added.
2710         * html/HTMLTextAreaElement.h:
2711         * rendering/RenderTextControl.cpp:
2712         (WebCore::RenderTextControl::textFormControlElement): Made this function a const member.
2713         (WebCore::RenderTextControl::innerTextElement): Added.
2714         * rendering/RenderTextControl.h:
2715         * rendering/RenderTextControlMultiLine.cpp:
2716         * rendering/RenderTextControlMultiLine.h:
2717         * rendering/RenderTextControlSingleLine.cpp:
2718         * rendering/RenderTextControlSingleLine.h:
2719
2720 2011-07-11  Tony Chang  <tony@chromium.org>
2721
2722         rename RenderObject::isFlexibleBox to isDeprecatedFlexibleBox
2723         https://bugs.webkit.org/show_bug.cgi?id=64217
2724
2725         Reviewed by Ojan Vafai.
2726
2727         This is to make way for the new flexbox needing a similar method.
2728         RenderObject also has isFlexingChildren() and isStretchingChildren(),
2729         but we may be able to use those for the new flexbox as well so I
2730         didn't rename them.
2731
2732         No new tests, just refactoring.
2733
2734         * rendering/RenderBlock.cpp:
2735         (WebCore::RenderBlock::removeChild):
2736         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
2737         (WebCore::shouldCheckLines):
2738         * rendering/RenderBox.cpp:
2739         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
2740         (WebCore::RenderBox::computeLogicalWidth):
2741         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
2742         (WebCore::RenderBox::computeLogicalHeight):
2743         * rendering/RenderDeprecatedFlexibleBox.cpp:
2744         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2745         * rendering/RenderDeprecatedFlexibleBox.h:
2746         (WebCore::RenderDeprecatedFlexibleBox::isDeprecatedFlexibleBox):
2747         * rendering/RenderObject.h:
2748         (WebCore::RenderObject::isDeprecatedFlexibleBox):
2749
2750 2011-07-11  Nate Chapin  <japhet@chromium.org>
2751
2752         [Chromium] Ensure we don't crash when an
2753         HTMLSelectElement mouse release event removes
2754         the element from the DOM.
2755         https://bugs.webkit.org/show_bug.cgi?id=64295
2756
2757         Reviewed by Dimitri Glazkov.
2758
2759         Manual test only because the crash requires a
2760         real popup menu, which DRT doesn't provide.
2761
2762         * manual-tests/chromium/popup-menu-crash.html: Added.
2763         * platform/chromium/PopupMenuChromium.cpp:
2764         (WebCore::PopupContainer::handleMouseReleaseEvent):
2765
2766 2011-07-11  Mike Reed  <reed@google.com>
2767
2768         [skia] remove platform helpers for gradients and patterns
2769         https://bugs.webkit.org/show_bug.cgi?id=64281
2770
2771         Reviewed by Stephen White.
2772
2773         No new tests. fixes canvas/philip/tests/2d.gradient.object.update.html
2774
2775         Remove (now empty) platform helpers for fill/stroke gradients/patterns. We now pickup the platformGradient
2776         and platformPattern fresh when they're needed, so we can see any edits that have occurred to them
2777         2d.gradient.object.update.html sets the fillgradient, and then edits the gradient object. This CL allows
2778         us to see that edit.
2779
2780         * platform/graphics/GraphicsContext.cpp:
2781         (WebCore::GraphicsContext::setStrokePattern):
2782         (WebCore::GraphicsContext::setFillPattern):
2783         (WebCore::GraphicsContext::setStrokeGradient):
2784         (WebCore::GraphicsContext::setFillGradient):
2785         * platform/graphics/GraphicsContext.h:
2786         * platform/graphics/skia/GraphicsContextSkia.cpp:
2787         (WebCore::GraphicsContext::platformInit):
2788         * platform/graphics/skia/PlatformContextSkia.cpp:
2789         (WebCore::PlatformContextSkia::State::State):
2790         (WebCore::PlatformContextSkia::State::~State):
2791         (WebCore::PlatformContextSkia::PlatformContextSkia):
2792         (WebCore::PlatformContextSkia::drawRect):
2793         (WebCore::PlatformContextSkia::setupShader):
2794         (WebCore::PlatformContextSkia::setupPaintForFilling):
2795         (WebCore::PlatformContextSkia::setupPaintForStroking):
2796         (WebCore::PlatformContextSkia::setFillColor):
2797         (WebCore::PlatformContextSkia::setStrokeColor):
2798         (WebCore::PlatformContextSkia::canAccelerate):
2799         * platform/graphics/skia/PlatformContextSkia.h:
2800         (WebCore::PlatformContextSkia::setGraphicsContext):
2801
2802 2011-07-11  Young Han Lee  <joybro@company100.net>
2803
2804         Reviewed by Simon Fraser.
2805
2806         Transition LayoutTest using pause API shows wrong result if it tries to pause a transition after its delay time.
2807         https://bugs.webkit.org/show_bug.cgi?id=63859
2808
2809         The existing code to set the m_startTime haven't worked because 
2810         the animation is not the right state to accept the start event. 
2811         This patch just sets the values directly instead of using event.
2812
2813         Test: transitions/delay.html
2814
2815         * page/animation/AnimationBase.cpp:
2816         (WebCore::AnimationBase::freezeAtTime):
2817
2818 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
2819
2820         Move selection related code from RenderTextControl to HTMLTextFormControlElement
2821         https://bugs.webkit.org/show_bug.cgi?id=64133
2822
2823         Reviewed by Dimitri Glazkov.
2824
2825         Moved selectionStart, selectionEnd, hasVisibleTextArea, setSelectionRange, setContainerAndOffsetForRange
2826         and selection from RenderTextControl.cpp to HTMLFormControlElement.cpp.
2827
2828         This refactoring removes RenderTextControl's dependency on FrameSelection.
2829
2830         * accessibility/AccessibilityRenderObject.cpp:
2831         (WebCore::AccessibilityRenderObject::selectedText): Calls HTMLTextFromControl::selectedText.
2832         (WebCore::AccessibilityRenderObject::selectedTextRange): Calls selectionStart and selectionEnd.
2833         (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
2834         * html/HTMLFormControlElement.cpp:
2835         (WebCore::HTMLTextFormControlElement::selectedText): Extracted from AccessibilityRenderObject::selectedText.
2836         (WebCore::hasVisibleTextArea): Added.
2837         (WebCore::HTMLTextFormControlElement::setSelectionRange): Merged with the function of the same name in RenderTextControl.
2838         (WebCore::HTMLTextFormControlElement::selectionStart): Calls computeSelectionStart instead of RenderTextControl::selectionStart.
2839         (WebCore::HTMLTextFormControlElement::computeSelectionStart): Moved from RenderTextControl::selectionStart.
2840         (WebCore::HTMLTextFormControlElement::selectionEnd): Calls computeSelectionEnd instead of RenderText::selectionEnd.
2841         (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Moved from RenderTextControl::selectionStart.
2842         (WebCore::setContainerAndOffsetForRange): Moved from RenderTextControl.cpp.
2843         (WebCore::HTMLTextFormControlElement::selection): Merged with the function of the same name in RenderTextControl.
2844         (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls computeSelectionStart and computeSelectionEnd instead of
2845         RenderTextControl::selectionStart and RenderTextControl::selectionEnd.
2846         (WebCore::HTMLTextFormControlElement::selectionChanged): Calls selectionStart and selectionEnd.
2847         * html/HTMLFormControlElement.h:
2848         * html/HTMLInputElement.cpp:
2849         (WebCore::HTMLInputElement::setValue): Calls setSelectionRange.
2850         * rendering/RenderTextControl.cpp:
2851         (WebCore::RenderTextControl::textFormControlElement): Added.
2852         * rendering/RenderTextControl.h:
2853
2854 2011-07-11  Andreas Kling  <kling@webkit.org>
2855
2856         Reviewed by Oliver Hunt.
2857
2858         Canvas: Use fast, approximate dirty rects for stroke()
2859         https://bugs.webkit.org/show_bug.cgi?id=59764
2860
2861         No new tests, this is an optimization.
2862
2863         * html/canvas/CanvasRenderingContext2D.cpp:
2864         (WebCore::CanvasRenderingContext2D::stroke): Instead of using
2865         Path::strokeBoundingRect() to calculate the exact bounding rect
2866         for a path stroke, get the Path::boundingRect() and inflate it by
2867         miterLimit + lineWidth to get a slightly oversized dirty rect
2868         in a fraction of the time.
2869
2870 2011-07-11  Andrey Kosyakov  <caseq@chromium.org>
2871
2872         Reviewed by Pavel Feldman.
2873
2874         Web Inspector: [refactoring] Remove dependencies of components requiring network resource list from network panel
2875         https://bugs.webkit.org/show_bug.cgi?id=62477
2876
2877         * inspector/front-end/AuditsPanel.js:
2878         * inspector/front-end/ExtensionServer.js:
2879         (WebInspector.ExtensionServer):
2880         (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
2881         (WebInspector.ExtensionServer.prototype._onGetHAR):
2882         (WebInspector.ExtensionServer.prototype.initExtensions):
2883         * inspector/front-end/HAREntry.js:
2884         (WebInspector.HARLog):
2885         (WebInspector.HARLog.prototype.build):
2886         * inspector/front-end/NetworkManager.js:
2887         (WebInspector.NetworkLog):
2888         (WebInspector.NetworkLog.prototype.get resources):
2889         (WebInspector.NetworkLog.prototype._onInspectedURLChanged):
2890         (WebInspector.NetworkLog.prototype._onResourceStarted):
2891         * inspector/front-end/NetworkPanel.js:
2892         (WebInspector.NetworkPanel.prototype._reset):
2893         (WebInspector.NetworkPanel.prototype._copyAll):
2894         (WebInspector.NetworkPanel.prototype._exportAll):
2895         * inspector/front-end/inspector.js:
2896         (WebInspector.reset):
2897
2898 2011-07-11  Pavel Podivilov  <podivilov@chromium.org>
2899
2900         Web Inspector: make SourceFrame a View.
2901         https://bugs.webkit.org/show_bug.cgi?id=64274
2902
2903         Reviewed by Pavel Feldman.
2904
2905         * inspector/front-end/SourceFrame.js:
2906         (WebInspector.SourceFrame):
2907         (WebInspector.SourceFrame.createSearchRegex):
2908         (WebInspector.SourceFrame.prototype.show):
2909         (WebInspector.SourceFrame.prototype.hide):
2910         (WebInspector.SourceFrame.prototype._beforeTextChanged):
2911         (WebInspector.SourceFrame.prototype._afterTextChanged):
2912         (WebInspector.SourceFrame.prototype._initializeTextViewer):
2913         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
2914         (WebInspector.SourceFrame.prototype.performSearch):
2915         (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
2916         (WebInspector.SourceFrame.prototype._suggestedFileName):
2917         (WebInspector.SourceFrame.prototype._doubleClick):
2918         (WebInspector.SourceFrame.prototype._cancelEditing):
2919         (WebInspector.TextViewerDelegateForSourceFrame):
2920         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
2921         (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
2922         (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
2923         (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
2924         (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
2925         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
2926         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
2927         (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
2928         * inspector/front-end/TextViewer.js:
2929         (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
2930
2931 2011-07-11  Noel Gordon  <noel.gordon@gmail.com>
2932
2933         Reviewed by Adam Roben.
2934
2935         Forward focus events to windowless plugins on the windows port.
2936         https://bugs.webkit.org/show_bug.cgi?id=62375
2937
2938         * plugins/win/PluginViewWin.cpp:
2939         (WebCore::PluginView::setFocus): Forward focus events if the plugin is windowless.
2940
2941 2011-07-11  Shinya Kawanaka  <shinyak@google.com>
2942
2943         Added accessibility notification when value is changed.
2944         https://bugs.webkit.org/show_bug.cgi?id=64256
2945
2946         Notifies the value change of range input when accessibility is enabled.
2947
2948         Reviewed by Kent Tamura.
2949
2950         Covered by existing tests.
2951
2952         * html/RangeInputType.cpp:
2953         (WebCore::RangeInputType::handleKeydownEvent):
2954           Added accessibility notification when value is changed.
2955
2956 2011-07-08  Mikhail Naganov  <mnaganov@chromium.org>
2957
2958         Web Inspector: Fix resizing of sidebar pane in Timeline and Profile panels.
2959         https://bugs.webkit.org/show_bug.cgi?id=64161
2960
2961         Reviewed by Pavel Feldman.
2962
2963         * inspector/front-end/ProfilesPanel.js:
2964         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
2965         * inspector/front-end/TimelineOverviewPane.js:
2966         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
2967
2968 2011-07-11  Pavel Feldman  <pfeldman@google.com>
2969
2970         Web Inspector: [REGRESSION r89753-89754] highlight does not respect scroller location.
2971         https://bugs.webkit.org/show_bug.cgi?id=63982
2972
2973         Rolling out 89760, 89756, 89754, 89753 for breaking inspector highlight.
2974
2975         Reviewed by Yury Semikhatsky.
2976
2977         * WebCore.exp.in:
2978         * inspector/DOMNodeHighlighter.cpp:
2979         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
2980         * page/FrameView.cpp:
2981         * page/FrameView.h:
2982         * platform/ScrollView.h:
2983         * platform/Widget.cpp:
2984         * platform/Widget.h:
2985         * rendering/RenderBox.cpp:
2986         (WebCore::RenderBox::mapLocalToContainer):
2987         * rendering/RenderBox.h:
2988         * rendering/RenderInline.cpp:
2989         (WebCore::RenderInline::mapLocalToContainer):
2990         * rendering/RenderInline.h:
2991         * rendering/RenderObject.cpp:
2992         (WebCore::RenderObject::mapLocalToContainer):
2993         (WebCore::RenderObject::localToContainerQuad):
2994         * rendering/RenderObject.h:
2995         (WebCore::RenderObject::localToAbsoluteQuad):
2996         * rendering/RenderView.cpp:
2997         (WebCore::RenderView::mapLocalToContainer):
2998         * rendering/RenderView.h:
2999         * rendering/svg/RenderSVGForeignObject.cpp:
3000         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
3001         * rendering/svg/RenderSVGForeignObject.h:
3002         * rendering/svg/RenderSVGInline.cpp:
3003         (WebCore::RenderSVGInline::mapLocalToContainer):
3004         * rendering/svg/RenderSVGInline.h:
3005         * rendering/svg/RenderSVGModelObject.cpp:
3006         (WebCore::RenderSVGModelObject::mapLocalToContainer):
3007         * rendering/svg/RenderSVGModelObject.h:
3008         * rendering/svg/RenderSVGRoot.cpp:
3009         (WebCore::RenderSVGRoot::mapLocalToContainer):
3010         * rendering/svg/RenderSVGRoot.h:
3011         * rendering/svg/RenderSVGText.cpp:
3012         (WebCore::RenderSVGText::mapLocalToContainer):
3013         * rendering/svg/RenderSVGText.h:
3014         * rendering/svg/SVGRenderSupport.cpp:
3015         (WebCore::SVGRenderSupport::mapLocalToContainer):
3016         * rendering/svg/SVGRenderSupport.h:
3017
3018 2011-07-11  Mustafizur Rahaman  <mustaf.here@gmail.com>
3019
3020         Reviewed by James Robinson.
3021
3022         Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.destination-atop.html
3023         https://bugs.webkit.org/show_bug.cgi?id=48292
3024         
3025         and
3026         
3027         Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.destination-atop.html
3028         https://bugs.webkit.org/show_bug.cgi?id=48302
3029
3030         * html/canvas/CanvasRenderingContext2D.cpp:
3031         (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere): Added CompositeDestinationAtop 
3032         to draw transparency elsewhere for destination-atop
3033
3034 2011-07-08  Mikhail Naganov  <mnaganov@chromium.org>
3035
3036         Web Inspector: [Chromium] Get rid of flickering "Please wait" message in Heap profiler.
3037         https://bugs.webkit.org/show_bug.cgi?id=61175
3038
3039         The message has been replaced with spinner icons appearing instead of profile's
3040         icon. As each profile owns a worker, they run independently, and there can be
3041         multiple spinners at the same time.
3042
3043         Reviewed by Pavel Feldman.
3044
3045         * WebCore.gypi:
3046         * WebCore.vcproj/WebCore.vcproj:
3047         * inspector/front-end/DetailedHeapshotGridNodes.js:
3048         (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
3049         (WebInspector.HeapSnapshotGridNode.prototype._populate):
3050         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
3051         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
3052         * inspector/front-end/DetailedHeapshotView.js:
3053         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
3054         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
3055         (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled):
3056         (WebInspector.DetailedHeapshotView.profileCallback):
3057         (WebInspector.DetailedHeapshotView):
3058         (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
3059         (WebInspector.DetailedHeapshotView.prototype._changeBase):
3060         (WebInspector.DetailedHeapshotView.prototype.processLoadedSnapshot):
3061         (WebInspector.DetailedHeapshotView.prototype._changeView):
3062         * inspector/front-end/HeapSnapshotProxy.js:
3063         (WebInspector.HeapSnapshotWorker):
3064         (WebInspector.HeapSnapshotWorker.prototype.dispose):
3065         (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
3066         (WebInspector.HeapSnapshotWorker.prototype._checkLongRunningCalls):
3067         (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
3068         (WebInspector.HeapSnapshotProxyObject.prototype.get worker):
3069         * inspector/front-end/Images/spinnerActive.gif: Added. Generated using ajaxload.info.
3070         * inspector/front-end/Images/spinnerActiveSelected.gif: Added. Generated using ajaxload.info.
3071         * inspector/front-end/Images/spinnerInactive.gif: Added. Generated using ajaxload.info.
3072         * inspector/front-end/Images/spinnerInactiveSelected.gif: Added. Generated using ajaxload.info.
3073         * inspector/front-end/PleaseWaitMessage.js: Removed.
3074         * inspector/front-end/ProfilesPanel.js:
3075         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
3076         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot.setProfileWait):
3077         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
3078         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
3079         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
3080         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
3081         * inspector/front-end/SidebarTreeElement.js:
3082         (WebInspector.SidebarTreeElement.prototype.set wait):
3083         * inspector/front-end/WebKit.qrc:
3084         * inspector/front-end/heapProfiler.css:
3085         (.heap-snapshot-sidebar-tree-item.wait .icon):
3086         (.heap-snapshot-sidebar-tree-item.wait.selected .icon):
3087         (body.inactive .heap-snapshot-sidebar-tree-item.wait .icon):
3088         (body.inactive .heap-snapshot-sidebar-tree-item.wait.selected .icon):
3089         * inspector/front-end/inspector.html:
3090
3091 2011-07-10  Patrick Gansterer  <paroga@webkit.org>
3092
3093         Generate conditional include statements in CodeGeneratorJS
3094         https://bugs.webkit.org/show_bug.cgi?id=64231
3095
3096         Reviewed by Brent Fulgham.
3097
3098         Suround headers with a correspondig #if ENABLE() line.
3099         This allows us to generate bindings only of required IDL files.
3100
3101         Changing the current preprocessor statements to the Conditional attribute
3102         in a next step helps in getting rid of calls to the preprocessor,
3103         which causes so much pain on a natvie Windows environment. 
3104
3105         * bindings/scripts/CodeGeneratorJS.pm:
3106         (GenerateImplementation):
3107         (WriteData):
3108
3109 2011-07-10  Patrick Gansterer  <paroga@webkit.org>
3110
3111         Remove array size from generated JSC binding tables
3112         https://bugs.webkit.org/show_bug.cgi?id=64229
3113
3114         Reviewed by Brent Fulgham.
3115
3116         Because many items in the array are surrounded with #if(ENABLE_XXX) lines,
3117         the array size isn't fix and correct in all cases.
3118         So let the compiler calculate the correct size itself.
3119
3120         * bindings/scripts/CodeGeneratorJS.pm:
3121         (GenerateHashTable):
3122         * bindings/scripts/test/JS/JSTestInterface.cpp:
3123         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3124         * bindings/scripts/test/JS/JSTestObj.cpp:
3125         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3126
3127 2011-07-10  Kenichi Ishibashi  <bashi@chromium.org>
3128
3129         Let plugins participate in form submission
3130         https://bugs.webkit.org/show_bug.cgi?id=13061
3131
3132         Implements HTMLObjectElement::appendFormData() so that object
3133         elements respond as form associated elements.
3134
3135         Reviewed by Anders Carlsson.
3136
3137         Test: plugins/form-value.html
3138
3139         * html/HTMLObjectElement.cpp:
3140         (WebCore::HTMLObjectElement::appendFormData): Implemented.
3141         * plugins/PluginViewBase.h:
3142         (WebCore::PluginViewBase::getFormValue): Added.
3143
3144 2011-07-10  Anders Carlsson  <andersca@apple.com>
3145
3146         WebKit2 is leaking NSCursors created by leakNamedCursor
3147         https://bugs.webkit.org/show_bug.cgi?id=64241
3148         <rdar://problem/9507151>
3149
3150         Reviewed by Oliver Hunt.
3151
3152         * platform/mac/CursorMac.mm:
3153         (WebCore::createNamedCursor):
3154         Rename this from leakNamedCursor to createNamedCursor and make it return a
3155         RetainPtr<NSCursor> instead of a raw pointer.
3156
3157         (WebCore::Cursor::ensurePlatformCursor):
3158         Don't leak cursors here. We still won't deallocate cursors during shutdown (which leakNamedCursor
3159         was said to prevent) because the cursor singletons are all allocated from the heap and are never destroyed
3160         anyway.
3161
3162 2011-07-10  Yuta Kitamura  <yutak@chromium.org>
3163
3164         WebSocket: Add useHixie76Protocol flag to WebSocketChannel and WebSocketHandshake
3165         https://bugs.webkit.org/show_bug.cgi?id=64244
3166
3167         Reviewed by Kent Tamura.
3168
3169         Get the value of Settings::useHixie76WebSocketProtocol() and save it in
3170         WebSocketChannel and WebSocketHandshake instances. Obtained flag value
3171         is not used for now.
3172
3173         No behavior change, thus no new tests.
3174
3175         * websockets/WebSocketChannel.cpp:
3176         (WebCore::WebSocketChannel::WebSocketChannel):
3177         WebSocketChannel is always created in context of Document (see
3178         ThreadableWebSocketChannel::create()).
3179         Because m_useHixie76Protocol must be passed to WebSocketHandshake
3180         constructor, WebSocketHandshake instance is allocated dynamically
3181         and stored in OwnPtr.
3182         (WebCore::WebSocketChannel::connect):
3183         (WebCore::WebSocketChannel::fail):
3184         (WebCore::WebSocketChannel::disconnect):
3185         (WebCore::WebSocketChannel::didOpen):
3186         (WebCore::WebSocketChannel::didFail):
3187         (WebCore::WebSocketChannel::processBuffer):
3188         * websockets/WebSocketChannel.h:
3189         * websockets/WebSocketHandshake.cpp:
3190         (WebCore::WebSocketHandshake::WebSocketHandshake):
3191         * websockets/WebSocketHandshake.h:
3192
3193 2011-07-10  Tom Hudson  <tomhudson@google.com>
3194
3195         Reviewed by James Robinson.
3196
3197         GraphicsContextSkia::drawConvexPolygon doesn't pay attention to shouldAntialias
3198         https://bugs.webkit.org/show_bug.cgi?id=61369
3199
3200         * platform/graphics/skia/GraphicsContextSkia.cpp:
3201         (WebCore::GraphicsContext::drawConvexPolygon): Pass the
3202         shouldAntialias parameter on to Skia.
3203
3204 2011-07-10  Yuzo Fujishima  <yuzo@google.com>
3205
3206         Fix for Bug 63968 - Add comment to explain Vector usage in FontCache::purgeInactiveFontData
3207         https://bugs.webkit.org/show_bug.cgi?id=63968
3208
3209         Reviewed by Dan Bernstein.
3210
3211         No new tests because this changes comments only.
3212
3213         * platform/graphics/FontCache.cpp:
3214         (WebCore::FontCache::purgeInactiveFontData): Add explanation why SimpleFontData is not deleted in the iteration loop.
3215
3216 2011-07-10  Emil A Eklund  <eae@chromium.org>
3217
3218         Switch updateHitTestResult to to new layout types
3219         https://bugs.webkit.org/show_bug.cgi?id=64209
3220
3221         Reviewed by Eric Seidel.
3222
3223         No new tests, no functionality changes.
3224
3225         * rendering/EllipsisBox.cpp:
3226         (WebCore::EllipsisBox::nodeAtPoint):
3227         * rendering/RenderBlock.cpp:
3228         (WebCore::RenderBlock::hitTestFloats):
3229         (WebCore::RenderBlock::updateHitTestResult):
3230         * rendering/RenderBlock.h:
3231         * rendering/RenderInline.cpp:
3232         (WebCore::RenderInline::updateHitTestResult):
3233         * rendering/RenderInline.h:
3234         * rendering/RenderLineBoxList.cpp:
3235         (WebCore::RenderLineBoxList::hitTest):
3236         * rendering/RenderObject.cpp:
3237         (WebCore::RenderObject::updateHitTestResult):
3238         * rendering/RenderObject.h:
3239         * rendering/RenderView.cpp:
3240         (WebCore::RenderView::updateHitTestResult):
3241         * rendering/RenderView.h:
3242         * rendering/svg/RenderSVGContainer.cpp:
3243         (WebCore::RenderSVGContainer::nodeAtFloatPoint):
3244         * rendering/svg/RenderSVGImage.cpp:
3245         (WebCore::RenderSVGImage::nodeAtFloatPoint):
3246         * rendering/svg/RenderSVGPath.cpp:
3247         (WebCore::RenderSVGPath::nodeAtFloatPoint):
3248         * rendering/svg/RenderSVGRoot.cpp:
3249         (WebCore::RenderSVGRoot::nodeAtPoint):
3250
3251 2011-07-10  Patrick Gansterer  <paroga@webkit.org>
3252
3253         Reviewed by Adam Barth.
3254
3255         Fix member variable order of ContextMenuItem
3256         https://bugs.webkit.org/show_bug.cgi?id=59905
3257
3258         Use the same order at decleration and assignment to silence compiler warning.
3259
3260         * platform/ContextMenuItem.h:
3261
3262 2011-07-10  Dan Bernstein  <mitz@apple.com>
3263
3264         <rdar://problem/9750062> REGRESSION: Button text missing in many iTunes Store pages
3265         https://bugs.webkit.org/show_bug.cgi?id=64236
3266
3267         Reviewed by Maciej Stachowiak.
3268
3269         Test: fast/css/empty-display-none.html
3270
3271         When an :empty selector caused an element to not have a renderer, the check for empty style
3272         change when finishing parsing the elemenet did nothing, because it could not check if the
3273         element’s current style was affected by :empty. The fix is to record the fact that the style
3274         was affected by :empty in ElementRareData in the no-renderer case.
3275
3276         * dom/Element.cpp:
3277         (WebCore::Element::recalcStyle): Clear the m_styleAffectedByEmpty flag.
3278         (WebCore::checkForEmptyStyleChange): If the style is null (meaning there is no renderer), check
3279         Element::styleAffectedByEmpty().
3280         (WebCore::Element::setStyleAffectedByEmpty): Added. Sets the flag in rare data.
3281         (WebCore::Element::styleAffectedByEmpty): Added. Checks for the flag in rare data.
3282         * dom/Element.h:
3283         * dom/ElementRareData.h:
3284         (WebCore::ElementRareData::ElementRareData): Added m_styleAffectedByEmpty and initialized it
3285         to false.
3286         * dom/NodeRenderingContext.cpp:
3287         (WebCore::NodeRendererFactory::createRendererAndStyle): If an element doesn’t need a renderer
3288         and its style is affected by :empty, record this fact in the element by calling setStyleAffectedByEmpty().
3289
3290 2011-07-10  Mark Rowe  <mrowe@apple.com>
3291
3292         Fix the build.
3293
3294         * svg/properties/SVGAttributeToPropertyMap.h: Forward-declare SVGPropertyInfo as a struct
3295         since that's what it is.
3296
3297 2011-07-09  Patrick Gansterer  <paroga@webkit.org>
3298
3299         Unreviewed WinCE build fix for r90680.
3300
3301         Repeat the change done in r90681 for all other SVGAnimated*PropertyTearOff.h files.
3302
3303         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Make create public and remove friendship with SVGAnimatedProperty.
3304         * svg/properties/SVGAnimatedListPropertyTearOff.h: Ditto.
3305         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Ditto.
3306         * svg/properties/SVGAnimatedPropertyTearOff.h: Ditto.
3307         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Ditto.
3308
3309 2011-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>
3310
3311         Add a possibility to retrieve the associated SVGAnimatedProperty object for a certain XML attribute
3312         https://bugs.webkit.org/show_bug.cgi?id=63797
3313
3314         Fix WinCE build. Funny none other platform complained.
3315
3316         * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Make create public, SVGAnimatedProperty needs it - remove friendship with it.
3317
3318 2011-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>
3319
3320         Add a possibility to retrieve the associated SVGAnimatedProperty object for a certain XML attribute
3321         https://bugs.webkit.org/show_bug.cgi?id=63797
3322
3323         Reviewed by Dirk Schulze.
3324
3325         In order to prepare animVal support we need a way to map a given SVG DOM attribute to a SVGAnimatedProperty.
3326         eg. SVGNames::xAttr -> SVGRectElement::xAnimated(), etc. This will be needed to update the animVal of the
3327         SVGAnimatedProperty, if an animation is running. It would required adding a new method to all SVG* classes
3328         that define animated properties. Unfortunately we already have lots of repeated code in methods like
3329         synchronizeProperty / fillAttributeToPropertyTypeMap. Look at SVGRectElement for example:
3330
3331         void SVGRectElement::synchronizeProperty(const QualifiedName& attrName)
3332         {
3333             if (attrName == anyQName()) {
3334                 synchronizeX();
3335                 synchronizeY();
3336                  ...
3337               }
3338
3339             if (attrName == SVGNames::xAttr) {
3340                 synchronizeX();
3341                 return;
3342             }
3343
3344             if (attrName == SVGNames::yAttr) {
3345                 synchronizeY();
3346                 return;
3347             }
3348             ...
3349         }
3350
3351         or
3352
3353         void SVGRectElement::fillAttributeToPropertyTypeMap()
3354         {
3355             AttributeToPropertyTypeMap& attributeToPropertyTypeMap = this->attributeToPropertyTypeMap();
3356         
3357             SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap(attributeToPropertyTypeMap);
3358             attributeToPropertyTypeMap.set(SVGNames::xAttr, AnimatedLength);
3359             attributeToPropertyTypeMap.set(SVGNames::yAttr, AnimatedLength);
3360             ...
3361         }
3362
3363         These lookups are all performed dynamically. Each synchronizeProperty() call does a lot of comparisons.
3364         fillAttributeToPropertyTypeMap() isn't that bad as the result is cached in a static HashMap per-SVGRectElement.
3365         There's no reason to do these things dynamically!
3366
3367         Inspired by JSC, I'm adding a "static const SVGPropertyInfo s_fooPropertyInfo" object for each animated SVG property.
3368         For example, for SVGRectElements SVGAnimatedLength x property we're storing:
3369         - "AnimatedPropertyType type" (AnimatedLength -- note the enum was named AnimatedAttributeType, I renamed it to AnimatedPropertyType for clarity)
3370         - "const QualifiedName& attributeName" (SVGNames::xAttr)
3371         - "const AtomicString& propertyIdentifier" (SVGNames::xAttr.localName() -- only different if N-wrappers map to a single XML DOM attribute, eg. orientAttr)
3372         - "SynchronizeProperty synchronizeProperty" (callback to SVGRectElement::synchronizeX)
3373         - "LookupOrCreateWrapperForAnimatedProperty lookupOrCreateWrapperForAnimatedProperty" (callback to SVGRectElement::xAnimated)
3374
3375         Using this information, we can replace all the various synchronizeProperty/fillAttributeToPropertyMap implementations, with a single one in SVGElement.
3376         All these are auto-generated, using the standard macros used to define/declare SVG animated properties. This required several changes to the macros.
3377         Here's a summary:
3378     
3379         #1) In all headers, wrap DECLARE_ANIMATED_* calls, in BEGIN_DECLARE_ANIMATED_PROPERTIES(ClassName) / END_DECLARE_ANIMATED_PROPERTIES blocks.
3380         
3381             Sample change for SVGRectElement:
3382             -    DECLARE_ANIMATED_LENGTH(X, x)
3383             -    DECLARE_ANIMATED_LENGTH(Y, y)
3384             -    ...
3385
3386             +    BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGRectElement)
3387             +        DECLARE_ANIMATED_LENGTH(X, x)
3388             +        DECLARE_ANIMATED_LENGTH(Y, y)
3389             +         ...
3390             +    END_DECLARE_ANIMATED_PROPERTIES
3391
3392         #2) In all cpp files, add a new section wrapped in BEGIN_REGISTER_ANIMATED_PROPERTIES(ClassName / END_REGISTER_ANIMATED_PROPERTIES blocks:
3393
3394             Sample change for SVGRectElement:
3395             +BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGRectElement)
3396             +    REGISTER_LOCAL_ANIMATED_PROPERTY(x)
3397             +    REGISTER_LOCAL_ANIMATED_PROPERTY(y)
3398             +    ...
3399             +    REGISTER_PARENT_ANIMATED_PROPERTIES(SVGStyledTransformableElement)
3400             +    REGISTER_PARENT_ANIMATED_PROPERTIES(SVGTests)
3401             +END_REGISTER_ANIMATED_PROPERTIES
3402
3403             This is the main piece of the logic that replaces the manual synchronizeProperty/fillAttributeToPropertyMap implementation. It expands to following:
3404
3405             SVGAttributeToPropertyMap& SVGRectElement::attributeToPropertyMap()
3406             {
3407                 DEFINE_STATIC_LOCAL(SVGAttributeToPropertyMap, s_attributeToPropertyMap, ());
3408             }
3409
3410             static void registerAnimatedPropertiesForSVGRectElement()
3411             {
3412                 SVGAttributeToPropertyMap& map = SVGRectElement::attributeToPropertyMap();
3413                 if (!map.isEmpty())
3414                     return;
3415                 map.addProperty(SVGRectElement::xPropertyInfo());
3416                 map.addProperty(SVGRectElement::yPropertyInfo());
3417                 ...
3418                 map.addProperties(SVGStyledTransformableElement::attributeToPropertyMap());
3419                 map.addProperties(SVGTests::attributeToPropertyMap());
3420             }
3421
3422             A single-instance of SVGAttributeToPropertyMap is created for each SVG*Element. The constructor of SVGRectElement is supposed to call
3423             registerAnimatedPropertiesForSVGRectElement(), which collects all properties of SVGRectElement and all its parent classes and stores them
3424             in a Vector<const SVGPropertyInfo*>. This Vector is stored in a HashMap<QualifiedName, Vector<const SVGPropertyInfo*> > where the key
3425             is the attribute name (eg. SVGNames::xAttr -> SVGRectElement::xPropertyInfo). This is only done _once_ per SVGRectElement.
3426
3427             SVGElement contains a "virtual SVGAttributeToPropertyMap& localAttributeToPropertyMap()" method, and SVGRectElement overrides it
3428             and returns SVGRectElement::attributeToPropertyMap() (which is static!) -- this is hidden again in the macros, no need to write any code.
3429
3430             SVGAttributeToPropertyMap provides following API:
3431             - bool synchronizeProperty(SVGElement* contextElement, const QualifiedName& attributeName)
3432             - void synchronizeProperties(SVGElement* contextElement)
3433             
3434                 A generic way to synchronize a SVGAnimatedProperty with its XML DOM attribute. Any SVG DOM change to eg. <rect>s x property will now trigger
3435                 contextElement->localAttributeToPropertyMap().synchronizeProperty(this, SVGNames::xAttr)
3436                 The SVGAttributeToPropertyMap will ask its HashMap for the Vector containing the properties for SVGNames::xAttr (in that case, just one xAnimated()).
3437
3438             - void animatedPropertyTypeForAttribute(const QualifiedName& attributeName, Vector<AnimatedPropertyType>& propertyTypes)
3439
3440                 This method replaces the fillAttributeToPropertyMap implementations everywhere.
3441         
3442             - void animatedPropertiesForAttribute(SVGElement* contextElement, const QualifiedName& attributeName, Vector<RefPtr<SVGAnimatedProperty> >& properties);
3443
3444                 This method is not used yet, but allows us to collect all SVGAnimatedProperties for a QualifiedName -- the initial goal for this patch.
3445
3446         #3) In all cpp files, add a call to "registerAnimatedPropertiesForClassName()" in the constructor. Forgetting this will result in a compile error.
3447
3448         Doesn't affect any tests.
3449
3450         * CMakeLists.txt:
3451         * GNUmakefile.list.am:
3452         * WebCore.gypi:
3453         * WebCore.pro:
3454         * WebCore.vcproj/WebCore.vcproj:
3455         * WebCore.xcodeproj/project.pbxproj:
3456         * bindings/scripts/CodeGeneratorJS.pm:
3457         (NativeToJSValue):
3458         * bindings/scripts/CodeGeneratorObjC.pm:
3459         (GenerateImplementation):
3460         * bindings/scripts/CodeGeneratorV8.pm:
3461         (GenerateNormalAttrGetter):
3462         * svg/SVGAElement.cpp:
3463         (WebCore::SVGAElement::SVGAElement):
3464         * svg/SVGAElement.h:
3465         (WebCore::SVGAElement::synchronizeRequiredFeatures):
3466         (WebCore::SVGAElement::synchronizeRequiredExtensions):
3467         (WebCore::SVGAElement::synchronizeSystemLanguage):
3468         * svg/SVGAltGlyphElement.cpp:
3469         (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
3470         * svg/SVGAltGlyphElement.h:
3471         * svg/SVGAnimateElement.cpp:
3472         (WebCore::SVGAnimateElement::SVGAnimateElement):
3473         (WebCore::SVGAnimateElement::hasValidAttributeType):
3474         (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
3475         (WebCore::SVGAnimateElement::determinePropertyValueTypes):
3476         (WebCore::SVGAnimateElement::calculateAnimatedValue):
3477         (WebCore::SVGAnimateElement::calculateFromAndToValues):
3478         (WebCore::SVGAnimateElement::calculateFromAndByValues):
3479         (WebCore::SVGAnimateElement::resetToBaseValue):
3480         (WebCore::SVGAnimateElement::applyResultsToTarget):
3481         (WebCore::SVGAnimateElement::calculateDistance):
3482         (WebCore::SVGAnimateElement::ensureAnimator):
3483         * svg/SVGAnimateElement.h:
3484         * svg/SVGAnimateTransformElement.cpp:
3485         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
3486         (WebCore::SVGAnimateTransformElement::determineAnimatedPropertyType):
3487         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
3488         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
3489         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
3490         * svg/SVGAnimateTransformElement.h:
3491         * svg/SVGAnimatedAngle.h:
3492         * svg/SVGAnimatedBoolean.h:
3493         * svg/SVGAnimatedEnumeration.h:
3494         * svg/SVGAnimatedInteger.h:
3495         * svg/SVGAnimatedLength.h:
3496         * svg/SVGAnimatedLengthList.h:
3497         * svg/SVGAnimatedNumber.h:
3498         * svg/SVGAnimatedNumberList.h:
3499         * svg/SVGAnimatedPreserveAspectRatio.h:
3500         * svg/SVGAnimatedRect.h:
3501         * svg/SVGAnimatedString.h:
3502         * svg/SVGAnimatedTransformList.h:
3503         * svg/SVGAnimatedType.cpp:
3504         (WebCore::SVGAnimatedType::SVGAnimatedType):
3505         * svg/SVGAnimatedType.h:
3506         (WebCore::SVGAnimatedType::type):
3507         * svg/SVGAnimatedTypeAnimator.h:
3508         (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
3509         * svg/SVGAnimationElement.cpp:
3510         (WebCore::SVGAnimationElement::SVGAnimationElement):
3511         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
3512         * svg/SVGAnimationElement.h:
3513         (WebCore::SVGAnimationElement::synchronizeRequiredFeatures):
3514         (WebCore::SVGAnimationElement::synchronizeRequiredExtensions):
3515         (WebCore::SVGAnimationElement::synchronizeSystemLanguage):
3516         * svg/SVGAnimatorFactory.h:
3517         (WebCore::SVGAnimatorFactory::create):
3518         * svg/SVGCircleElement.cpp:
3519         (WebCore::SVGCircleElement::SVGCircleElement):
3520         * svg/SVGCircleElement.h:
3521         (WebCore::SVGCircleElement::synchronizeRequiredFeatures):
3522         (WebCore::SVGCircleElement::synchronizeRequiredExtensions):
3523         (WebCore::SVGCircleElement::synchronizeSystemLanguage):
3524         * svg/SVGClipPathElement.cpp:
3525         (WebCore::SVGClipPathElement::SVGClipPathElement):
3526         * svg/SVGClipPathElement.h:
3527         (WebCore::SVGClipPathElement::synchronizeRequiredFeatures):
3528         (WebCore::SVGClipPathElement::synchronizeRequiredExtensions):
3529         (WebCore::SVGClipPathElement::synchronizeSystemLanguage):
3530         * svg/SVGComponentTransferFunctionElement.cpp:
3531         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
3532         * svg/SVGComponentTransferFunctionElement.h:
3533         * svg/SVGCursorElement.cpp:
3534         (WebCore::SVGCursorElement::SVGCursorElement):
3535         * svg/SVGCursorElement.h:
3536         (WebCore::SVGCursorElement::synchronizeRequiredFeatures):
3537         (WebCore::SVGCursorElement::synchronizeRequiredExtensions):
3538         (WebCore::SVGCursorElement::synchronizeSystemLanguage):
3539         * svg/SVGDefsElement.cpp:
3540         (WebCore::SVGDefsElement::SVGDefsElement):
3541         * svg/SVGDefsElement.h:
3542         (WebCore::SVGDefsElement::synchronizeRequiredFeatures):
3543         (WebCore::SVGDefsElement::synchronizeRequiredExtensions):
3544         (WebCore::SVGDefsElement::synchronizeSystemLanguage):
3545         * svg/SVGElement.cpp:
3546         (WebCore::SVGElement::animatedPropertyTypeForAttribute):
3547         (WebCore::SVGElement::updateAnimatedSVGAttribute):
3548         (WebCore::SVGElement::localAttributeToPropertyMap):
3549         (WebCore::SVGElement::synchronizeRequiredFeatures):
3550         (WebCore::SVGElement::synchronizeRequiredExtensions):
3551         (WebCore::SVGElement::synchronizeSystemLanguage):
3552         * svg/SVGElement.h:
3553         (WebCore::SVGElement::svgAttributeChanged):
3554         (WebCore::SVGElement::synchronizeRequiredFeatures):
3555         (WebCore::SVGElement::synchronizeRequiredExtensions):
3556         (WebCore::SVGElement::synchronizeSystemLanguage):
3557         * svg/SVGEllipseElement.cpp:
3558         (WebCore::SVGEllipseElement::SVGEllipseElement):
3559         * svg/SVGEllipseElement.h:
3560         (WebCore::SVGEllipseElement::synchronizeRequiredFeatures):
3561         (WebCore::SVGEllipseElement::synchronizeRequiredExtensions):
3562         (WebCore::SVGEllipseElement::synchronizeSystemLanguage):
3563         * svg/SVGFEBlendElement.cpp:
3564         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
3565         * svg/SVGFEBlendElement.h:
3566         * svg/SVGFEColorMatrixElement.cpp:
3567         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
3568         * svg/SVGFEColorMatrixElement.h:
3569         * svg/SVGFEComponentTransferElement.cpp:
3570         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
3571         * svg/SVGFEComponentTransferElement.h:
3572         * svg/SVGFECompositeElement.cpp:
3573         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
3574         * svg/SVGFECompositeElement.h:
3575         * svg/SVGFEConvolveMatrixElement.cpp:
3576         (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
3577         * svg/SVGFEConvolveMatrixElement.h:
3578         * svg/SVGFEDiffuseLightingElement.cpp:
3579         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
3580         * svg/SVGFEDiffuseLightingElement.h:
3581         * svg/SVGFEDisplacementMapElement.cpp:
3582         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
3583         * svg/SVGFEDisplacementMapElement.h:
3584         * svg/SVGFEDropShadowElement.cpp:
3585         (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
3586         * svg/SVGFEDropShadowElement.h:
3587         * svg/SVGFEFloodElement.cpp:
3588         * svg/SVGFEFloodElement.h:
3589         * svg/SVGFEGaussianBlurElement.cpp:
3590         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
3591         * svg/SVGFEGaussianBlurElement.h:
3592         * svg/SVGFEImageElement.cpp:
3593         (WebCore::SVGFEImageElement::SVGFEImageElement):
3594         * svg/SVGFEImageElement.h:
3595         * svg/SVGFELightElement.cpp:
3596         (WebCore::SVGFELightElement::SVGFELightElement):
3597         * svg/SVGFELightElement.h:
3598         * svg/SVGFEMergeElement.cpp:
3599         * svg/SVGFEMergeElement.h:
3600         * svg/SVGFEMergeNodeElement.cpp:
3601         (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
3602         * svg/SVGFEMergeNodeElement.h:
3603         * svg/SVGFEMorphologyElement.cpp:
3604         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
3605         * svg/SVGFEMorphologyElement.h:
3606         * svg/SVGFEOffsetElement.cpp:
3607         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
3608         * svg/SVGFEOffsetElement.h:
3609         * svg/SVGFESpecularLightingElement.cpp:
3610         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
3611         * svg/SVGFESpecularLightingElement.h:
3612         * svg/SVGFETileElement.cpp:
3613         (WebCore::SVGFETileElement::SVGFETileElement):
3614         * svg/SVGFETileElement.h:
3615         * svg/SVGFETurbulenceElement.cpp:
3616         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
3617         * svg/SVGFETurbulenceElement.h:
3618         * svg/SVGFilterElement.cpp:
3619         (WebCore::SVGFilterElement::SVGFilterElement):
3620         * svg/SVGFilterElement.h:
3621         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3622         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
3623         * svg/SVGFilterPrimitiveStandardAttributes.h:
3624         * svg/SVGFitToViewBox.cpp:
3625         * svg/SVGFitToViewBox.h:
3626         * svg/SVGFontElement.cpp:
3627         (WebCore::SVGFontElement::SVGFontElement):
3628         * svg/SVGFontElement.h:
3629         (WebCore::SVGFontElement::rendererIsNeeded):
3630         * svg/SVGForeignObjectElement.cpp:
3631         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3632         * svg/SVGForeignObjectElement.h:
3633         (WebCore::SVGForeignObjectElement::synchronizeRequiredFeatures):
3634         (WebCore::SVGForeignObjectElement::synchronizeRequiredExtensions):
3635         (WebCore::SVGForeignObjectElement::synchronizeSystemLanguage):
3636         * svg/SVGGElement.cpp:
3637         (WebCore::SVGGElement::SVGGElement):
3638         * svg/SVGGElement.h:
3639         (WebCore::SVGGElement::synchronizeRequiredFeatures):
3640         (WebCore::SVGGElement::synchronizeRequiredExtensions):
3641         (WebCore::SVGGElement::synchronizeSystemLanguage):
3642         * svg/SVGGlyphElement.cpp:
3643         * svg/SVGGlyphElement.h:
3644         * svg/SVGGradientElement.cpp:
3645         (WebCore::SVGGradientElement::SVGGradientElement):
3646         (WebCore::SVGGradientElement::svgAttributeChanged):
3647         * svg/SVGGradientElement.h:
3648         * svg/SVGImageElement.cpp:
3649         (WebCore::SVGImageElement::SVGImageElement):
3650         * svg/SVGImageElement.h:
3651         (WebCore::SVGImageElement::synchronizeRequiredFeatures):
3652         (WebCore::SVGImageElement::synchronizeRequiredExtensions):
3653         (WebCore::SVGImageElement::synchronizeSystemLanguage):
3654         * svg/SVGLineElement.cpp:
3655         (WebCore::SVGLineElement::SVGLineElement):
3656         * svg/SVGLineElement.h:
3657         (WebCore::SVGLineElement::synchronizeRequiredFeatures):
3658         (WebCore::SVGLineElement::synchronizeRequiredExtensions):
3659         (WebCore::SVGLineElement::synchronizeSystemLanguage):
3660         * svg/SVGLinearGradientElement.cpp:
3661         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
3662         * svg/SVGLinearGradientElement.h:
3663         * svg/SVGMPathElement.cpp:
3664         (WebCore::SVGMPathElement::SVGMPathElement):
3665         * svg/SVGMPathElement.h:
3666         * svg/SVGMarkerElement.cpp:
3667         (WebCore::SVGMarkerElement::orientTypePropertyInfo):
3668         (WebCore::SVGMarkerElement::SVGMarkerElement):
3669         (WebCore::SVGMarkerElement::setOrientToAuto):
3670         (WebCore::SVGMarkerElement::setOrientToAngle):
3671         (WebCore::SVGMarkerElement::synchronizeOrientType):
3672         (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
3673         (WebCore::SVGMarkerElement::orientTypeAnimated):
3674         * svg/SVGMarkerElement.h:
3675         * svg/SVGMaskElement.cpp:
3676         (WebCore::SVGMaskElement::SVGMaskElement):
3677         * svg/SVGMaskElement.h:
3678         (WebCore::SVGMaskElement::synchronizeRequiredFeatures):
3679         (WebCore::SVGMaskElement::synchronizeRequiredExtensions):
3680         (WebCore::SVGMaskElement::synchronizeSystemLanguage):
3681         * svg/SVGMissingGlyphElement.cpp:
3682         * svg/SVGMissingGlyphElement.h:
3683         * svg/SVGPathElement.cpp:
3684         (WebCore::SVGPathElement::dPropertyInfo):
3685         (WebCore::SVGPathElement::SVGPathElement):
3686         (WebCore::SVGPathElement::svgAttributeChanged):
3687         (WebCore::SVGPathElement::lookupOrCreateDWrapper):
3688         (WebCore::SVGPathElement::synchronizeD):
3689         (WebCore::SVGPathElement::pathSegList):
3690         (WebCore::SVGPathElement::animatedPathSegList):
3691         * svg/SVGPathElement.h:
3692         (WebCore::SVGPathElement::pathByteStream):
3693         (WebCore::SVGPathElement::synchronizeRequiredFeatures):
3694         (WebCore::SVGPathElement::synchronizeRequiredExtensions):
3695         (WebCore::SVGPathElement::synchronizeSystemLanguage):
3696         * svg/SVGPathSegWithContext.h:
3697         (WebCore::SVGPathSegWithContext::animatedProperty):
3698         * svg/SVGPatternElement.cpp:
3699         (WebCore::SVGPatternElement::SVGPatternElement):
3700         * svg/SVGPatternElement.h:
3701         (WebCore::SVGPatternElement::synchronizeRequiredFeatures):
3702         (WebCore::SVGPatternElement::synchronizeRequiredExtensions):
3703         (WebCore::SVGPatternElement::synchronizeSystemLanguage):
3704         * svg/SVGPolyElement.cpp:
3705         (WebCore::SVGPolyElement::pointsPropertyInfo):
3706         (WebCore::SVGPolyElement::SVGPolyElement):
3707         (WebCore::SVGPolyElement::parseMappedAttribute):
3708         (WebCore::SVGPolyElement::synchronizePoints):
3709         (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
3710         (WebCore::SVGPolyElement::points):
3711         (WebCore::SVGPolyElement::animatedPoints):
3712         * svg/SVGPolyElement.h:
3713         (WebCore::SVGPolyElement::synchronizeRequiredFeatures):
3714         (WebCore::SVGPolyElement::synchronizeRequiredExtensions):
3715         (WebCore::SVGPolyElement::synchronizeSystemLanguage):
3716         * svg/SVGRadialGradientElement.cpp:
3717         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
3718         * svg/SVGRadialGradientElement.h:
3719         * svg/SVGRectElement.cpp:
3720         (WebCore::SVGRectElement::SVGRectElement):
3721         * svg/SVGRectElement.h:
3722         (WebCore::SVGRectElement::synchronizeRequiredFeatures):
3723         (WebCore::SVGRectElement::synchronizeRequiredExtensions):
3724         (WebCore::SVGRectElement::synchronizeSystemLanguage):
3725         * svg/SVGSVGElement.cpp:
3726         (WebCore::SVGSVGElement::SVGSVGElement):
3727         * svg/SVGSVGElement.h:
3728         (WebCore::SVGSVGElement::synchronizeRequiredFeatures):
3729         (WebCore::SVGSVGElement::synchronizeRequiredExtensions):
3730         (WebCore::SVGSVGElement::synchronizeSystemLanguage):
3731         * svg/SVGScriptElement.cpp:
3732         (WebCore::SVGScriptElement::SVGScriptElement):
3733         * svg/SVGScriptElement.h:
3734         * svg/SVGStopElement.cpp:
3735         (WebCore::SVGStopElement::SVGStopElement):
3736         * svg/SVGStopElement.h:
3737         * svg/SVGStyledElement.cpp:
3738         (WebCore::SVGStyledElement::SVGStyledElement):
3739         (WebCore::cssPropertyToTypeMap):
3740         (WebCore::SVGStyledElement::animatedPropertyTypeForAttribute):
3741         * svg/SVGStyledElement.h:
3742         * svg/SVGStyledTransformableElement.cpp:
3743         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
3744         * svg/SVGStyledTransformableElement.h:
3745         * svg/SVGSwitchElement.cpp:
3746         (WebCore::SVGSwitchElement::SVGSwitchElement):
3747         * svg/SVGSwitchElement.h:
3748         (WebCore::SVGSwitchElement::synchronizeRequiredFeatures):
3749         (WebCore::SVGSwitchElement::synchronizeRequiredExtensions):
3750         (WebCore::SVGSwitchElement::synchronizeSystemLanguage):
3751         * svg/SVGSymbolElement.cpp:
3752         (WebCore::SVGSymbolElement::SVGSymbolElement):
3753         * svg/SVGSymbolElement.h:
3754         * svg/SVGTRefElement.cpp:
3755         (WebCore::SVGTRefElement::SVGTRefElement):
3756         * svg/SVGTRefElement.h:
3757         * svg/SVGTSpanElement.cpp:
3758         * svg/SVGTSpanElement.h:
3759         * svg/SVGTests.cpp:
3760         (WebCore::SVGTests::requiredFeaturesPropertyInfo):
3761         (WebCore::SVGTests::requiredExtensionsPropertyInfo):
3762         (WebCore::SVGTests::systemLanguagePropertyInfo):
3763         (WebCore::SVGTests::attributeToPropertyMap):
3764         (WebCore::SVGTests::synchronizeRequiredFeatures):
3765         (WebCore::SVGTests::synchronizeRequiredExtensions):
3766         (WebCore::SVGTests::synchronizeSystemLanguage):
3767         * svg/SVGTests.h:
3768         * svg/SVGTextContentElement.cpp:
3769         (WebCore::SVGTextContentElement::textLengthPropertyInfo):
3770         (WebCore::SVGTextContentElement::SVGTextContentElement):
3771         (WebCore::SVGTextContentElement::synchronizeTextLength):
3772         (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
3773         (WebCore::SVGTextContentElement::textLengthAnimated):
3774         * svg/SVGTextContentElement.h:
3775         (WebCore::SVGTextContentElement::synchronizeRequiredFeatures):
3776         (WebCore::SVGTextContentElement::synchronizeRequiredExtensions):
3777         (WebCore::SVGTextContentElement::synchronizeSystemLanguage):
3778         * svg/SVGTextElement.cpp:
3779         (WebCore::SVGTextElement::SVGTextElement):
3780         * svg/SVGTextElement.h:
3781         * svg/SVGTextPathElement.cpp:
3782         (WebCore::SVGTextPathElement::SVGTextPathElement):
3783         * svg/SVGTextPathElement.h:
3784         * svg/SVGTextPositioningElement.cpp:
3785         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
3786         * svg/SVGTextPositioningElement.h:
3787         * svg/SVGTitleElement.cpp:
3788         * svg/SVGTitleElement.h:
3789         (WebCore::SVGTitleElement::rendererIsNeeded):
3790         * svg/SVGUseElement.cpp:
3791         (WebCore::SVGUseElement::SVGUseElement):
3792         * svg/SVGUseElement.h:
3793         (WebCore::SVGUseElement::synchronizeRequiredFeatures):
3794         (WebCore::SVGUseElement::synchronizeRequiredExtensions):
3795         (WebCore::SVGUseElement::synchronizeSystemLanguage):
3796         * svg/SVGViewElement.cpp:
3797         (WebCore::SVGViewElement::SVGViewElement):
3798         * svg/SVGViewElement.h:
3799         * svg/SVGViewSpec.cpp:
3800         (WebCore::SVGViewSpec::SVGViewSpec):
3801         * svg/SVGViewSpec.h:
3802         * svg/properties/SVGAnimatedProperty.h:
3803         (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
3804         (WebCore::SVGAnimatedProperty::lookupWrapper):
3805         * svg/properties/SVGAnimatedPropertyMacros.h:
3806         * svg/properties/SVGAnimatedPropertySynchronizer.h:
3807         * svg/properties/SVGAttributeToPropertyMap.cpp: Added.
3808         (WebCore::SVGAttributeToPropertyMap::addProperties):
3809         (WebCore::SVGAttributeToPropertyMap::addProperty):
3810         (WebCore::SVGAttributeToPropertyMap::animatedPropertiesForAttribute):
3811         (WebCore::SVGAttributeToPropertyMap::animatedPropertyTypeForAttribute):
3812         (WebCore::SVGAttributeToPropertyMap::synchronizeProperties):
3813         (WebCore::SVGAttributeToPropertyMap::synchronizeProperty):
3814         (WebCore::SVGAttributeToPropertyMap::animatedProperty):
3815         * svg/properties/SVGAttributeToPropertyMap.h: Added.
3816         (WebCore::SVGAttributeToPropertyMap::SVGAttributeToPropertyMap):
3817         (WebCore::SVGAttributeToPropertyMap::~SVGAttributeToPropertyMap):
3818         (WebCore::SVGAttributeToPropertyMap::isEmpty):
3819         * svg/properties/SVGPropertyInfo.h: Added.
3820         (WebCore::SVGPropertyInfo::SVGPropertyInfo):
3821
3822 2011-07-09  Patrick Gansterer  <paroga@webkit.org>
3823
3824         Unreviewed build fix after r90676.
3825
3826         * platform/graphics/ImageBuffer.cpp:
3827
3828 2011-07-08  Dirk Schulze  <krit@webkit.org>
3829
3830         Refactoring luminance code in RenderSVGResourceMasker
3831         https://bugs.webkit.org/show_bug.cgi?id=64146
3832
3833         Reviewed by Simon Fraser.
3834
3835         Moved luminance calculcation code to ImageBuffer. The code is doing pixel manipulations and can now get replaced
3836         by platform specific algorithms in the ImmageBuffer*.cpp files.
3837
3838         No change of functionality. No new tests.
3839
3840         * WebCore.xcodeproj/project.pbxproj:
3841         * platform/graphics/ImageBuffer.cpp:
3842         (WebCore::ImageBuffer::transformColorSpace):
3843         (WebCore::ImageBuffer::genericConvertToLuminanceMask):
3844         (WebCore::ImageBuffer::convertToLuminanceMask):
3845         * platform/graphics/ImageBuffer.h:
3846         * rendering/svg/RenderSVGResourceMasker.cpp:
3847         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
3848
3849 2011-07-08  Simon Fraser  <simon.fraser@apple.com>
3850
3851         Clean up RenderWidget::destroy() to share more code
3852         https://bugs.webkit.org/show_bug.cgi?id=64138
3853
3854         Reviewed by James Robinson.
3855
3856         RenderWidget::destroy() copied code from various other
3857         destroy() methods, which made code maintenance in this
3858         area very risky.
3859         
3860         Fix by adding a virtual willBeDestroyed() method, which
3861         replaces most instances of destroy(). Now, only RenderWidget
3862         and RenderObject implement destroy(), and each just calls
3863         willBeDestroyed(). Code duplication is averted.
3864         
3865         No behavior change, so no tests.
3866
3867         * rendering/RenderBlock.cpp:
3868         (WebCore::RenderBlock::willBeDestroyed):
3869         * rendering/RenderBlock.h:
3870         * rendering/RenderBox.cpp:
3871         (WebCore::RenderBox::willBeDestroyed):
3872         * rendering/RenderBox.h:
3873         * rendering/RenderBoxModelObject.cpp:
3874         (WebCore::RenderBoxModelObject::willBeDestroyed):
3875         * rendering/RenderBoxModelObject.h:
3876         * rendering/RenderFullScreen.cpp:
3877         (RenderFullScreenPlaceholder::willBeDestroyed):
3878         (RenderFullScreen::willBeDestroyed):
3879         * rendering/RenderFullScreen.h:
3880         * rendering/RenderInline.cpp:
3881         (WebCore::RenderInline::willBeDestroyed):
3882         * rendering/RenderInline.h:
3883         * rendering/RenderListItem.cpp:
3884         (WebCore::RenderListItem::willBeDestroyed):
3885         * rendering/RenderListItem.h:
3886         * rendering/RenderObject.cpp:
3887         (WebCore::RenderObject::willBeDestroyed):
3888         (WebCore::RenderObject::destroy):
3889         * rendering/RenderObject.h:
3890         * rendering/RenderReplaced.cpp:
3891         (WebCore::RenderReplaced::willBeDestroyed):
3892         * rendering/RenderReplaced.h:
3893         * rendering/RenderTableCell.cpp:
3894         (WebCore::RenderTableCell::willBeDestroyed):
3895         * rendering/RenderTableCell.h:
3896         * rendering/RenderTableRow.cpp:
3897         (WebCore::RenderTableRow::willBeDestroyed):
3898         * rendering/RenderTableRow.h:
3899         * rendering/RenderTableSection.cpp:
3900         (WebCore::RenderTableSection::willBeDestroyed):
3901         * rendering/RenderTableSection.h:
3902         * rendering/RenderText.cpp:
3903         (WebCore::RenderText::willBeDestroyed):
3904         * rendering/RenderText.h:
3905         * rendering/RenderTextFragment.cpp:
3906         (WebCore::RenderTextFragment::willBeDestroyed):
3907         * rendering/RenderTextFragment.h:
3908         * rendering/RenderWidget.cpp:
3909         (WebCore::RenderWidget::willBeDestroyed):
3910         (WebCore::RenderWidget::destroy):
3911         * rendering/RenderWidget.h:
3912         * rendering/svg/RenderSVGBlock.cpp:
3913         (WebCore::RenderSVGBlock::willBeDestroyed):
3914         * rendering/svg/RenderSVGBlock.h:
3915         * rendering/svg/RenderSVGInline.cpp:
3916         (WebCore::RenderSVGInline::willBeDestroyed):
3917         * rendering/svg/RenderSVGInline.h:
3918         * rendering/svg/RenderSVGInlineText.cpp:
3919         (WebCore::RenderSVGInlineText::willBeDestroyed):
3920         * rendering/svg/RenderSVGInlineText.h:
3921         * rendering/svg/RenderSVGModelObject.cpp:
3922         (WebCore::RenderSVGModelObject::willBeDestroyed):
3923         * rendering/svg/RenderSVGModelObject.h:
3924         * rendering/svg/RenderSVGResourceContainer.cpp:
3925         (WebCore::RenderSVGResourceContainer::willBeDestroyed):
3926         * rendering/svg/RenderSVGResourceContainer.h:
3927         * rendering/svg/RenderSVGRoot.cpp:
3928         (WebCore::RenderSVGRoot::willBeDestroyed):
3929         * rendering/svg/RenderSVGRoot.h:
3930         * rendering/svg/SVGResourcesCache.h:
3931
3932 2011-07-08  Adam Barth  <abarth@webkit.org>
3933
3934         Unreviewed, rolling out r90662.
3935         http://trac.webkit.org/changeset/90662
3936         https://bugs.webkit.org/show_bug.cgi?id=64210
3937
3938         Introduced regressions in Chromium browser tests (Requested by
3939         rniwa on #webkit).
3940
3941         * accessibility/AccessibilityRenderObject.cpp:
3942         (WebCore::AccessibilityRenderObject::selectedText):
3943         (WebCore::AccessibilityRenderObject::selectedTextRange):
3944         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
3945         * html/HTMLFormControlElement.cpp:
3946         (WebCore::HTMLTextFormControlElement::setSelectionRange):
3947         (WebCore::HTMLTextFormControlElement::selectionStart):
3948         (WebCore::HTMLTextFormControlElement::selectionEnd):
3949         (WebCore::HTMLTextFormControlElement::selection):
3950         (WebCore::HTMLTextFormControlElement::restoreCachedSelection):
3951         (WebCore::HTMLTextFormControlElement::selectionChanged):
3952         * html/HTMLFormControlElement.h:
3953         * html/HTMLInputElement.cpp:
3954         (WebCore::HTMLInputElement::setValue):
3955         * rendering/RenderTextControl.cpp:
3956         (WebCore::RenderTextControl::selectionStart):
3957         (WebCore::RenderTextControl::selectionEnd):
3958         (WebCore::RenderTextControl::hasVisibleTextArea):
3959         (WebCore::setSelectionRange):
3960         (WebCore::setContainerAndOffsetForRange):
3961         (WebCore::RenderTextControl::selection):
3962         * rendering/RenderTextControl.h:
3963
3964 2011-07-08  Brian Salomon  <bsalomon@google.com>
3965
3966         Make GL context current before updating layer texture using skia-gpu
3967         https://bugs.webkit.org/show_bug.cgi?id=64206
3968
3969         Reviewed by James Robinson.
3970
3971         Covered by existing tests (when accelerated drawing and compositing are on).
3972
3973         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
3974         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
3975
3976 2011-07-08  Tony Chang  <tony@chromium.org>
3977
3978         Refactor override size to be a size rather than just an int
3979         https://bugs.webkit.org/show_bug.cgi?id=64195
3980
3981         Reviewed by David Hyatt.
3982
3983         Also convert to LayoutSize and LayoutUnit.
3984
3985         Covered by existing tests.
3986
3987         * rendering/RenderBox.cpp:
3988         (WebCore::RenderBox::overrideSize): Pass in a LayoutSize.
3989         (WebCore::RenderBox::setOverrideSize):
3990         (WebCore::RenderBox::clearOverrideSize): New method for clearing the
3991             override size (previous we would pass in -1)
3992         (WebCore::RenderBox::overrideWidth):
3993         (WebCore::RenderBox::overrideHeight):
3994         (WebCore::RenderBox::computeLogicalWidth):
3995         (WebCore::RenderBox::computeLogicalHeight):
3996         (WebCore::RenderBox::computePercentageLogicalHeight):
3997         (WebCore::RenderBox::availableLogicalHeightUsing):
3998         * rendering/RenderBox.h:
3999         * rendering/RenderDeprecatedFlexibleBox.cpp:
4000         (WebCore::gatherFlexChildrenInfo):
4001         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
4002         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
4003         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
4004         * rendering/RenderTableCell.cpp:
4005         (WebCore::RenderTableCell::setOverrideSizeFromRowHeight):
4006         * rendering/RenderTableCell.h: Remove setOverrideSize since it was
4007             only called in one place to clear the override size.  Inline this
4008             logic instead.
4009         * rendering/RenderTableSection.cpp:
4010         (WebCore::RenderTableSection::calcRowLogicalHeight):
4011         * rendering/RenderWidget.cpp:
4012         (WebCore::RenderWidget::destroy):
4013
4014 2011-07-08  Emil A Eklund  <eae@chromium.org>
4015
4016         Switch pointInContainer and accumulatedOffset to to new layout types
4017         https://bugs.webkit.org/show_bug.cgi?id=64112
4018
4019         Reviewed by Eric Seidel.
4020
4021         Convert remaining IntPoint versions of the pointInContainer and
4022         accumulatedOffset arguments to the new layout abstraction.
4023
4024         No new tests, no functionality changes.
4025
4026         * rendering/HitTestResult.cpp:
4027         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
4028         * rendering/HitTestResult.h:
4029         * rendering/RenderBlock.cpp:
4030         (WebCore::RenderBlock::isPointInOverflowControl):
4031         * rendering/RenderBlock.h:
4032         * rendering/RenderBox.cpp:
4033         (WebCore::RenderBox::pushContentsClip):
4034         (WebCore::RenderBox::popContentsClip):
4035         * rendering/RenderBox.h:
4036         * rendering/RenderEmbeddedObject.cpp:
4037         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
4038         * rendering/RenderEmbeddedObject.h:
4039         * rendering/RenderLineBoxList.cpp:
4040         (WebCore::RenderLineBoxList::hitTest):
4041         * rendering/RenderLineBoxList.h:
4042         * rendering/RenderListBox.cpp:
4043         (WebCore::RenderListBox::isPointInOverflowControl):
4044         * rendering/RenderListBox.h:
4045         * rendering/RenderObject.cpp:
4046         (WebCore::RenderObject::hitTest):
4047         * rendering/RenderObject.h:
4048         * rendering/RenderTextControl.cpp:
4049         (WebCore::RenderTextControl::hitInnerTextElement):
4050         * rendering/RenderTextControl.h:
4051         * rendering/RenderTextControlSingleLine.cpp:
4052         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
4053
4054 2011-07-07  Ryosuke Niwa  <rniwa@webkit.org>
4055
4056         Move selection related code from RenderTextControl to HTMLTextFormControlElement
4057         https://bugs.webkit.org/show_bug.cgi?id=64133
4058
4059         Reviewed by Dimitri Glazkov.
4060
4061         Moved selectionStart, selectionEnd, hasVisibleTextArea, setSelectionRange, setContainerAndOffsetForRange
4062         and selection from RenderTextControl.cpp to HTMLFormControlElement.cpp.
4063
4064         This refactoring removes RenderTextControl's dependency on FrameSelection.
4065
4066         * accessibility/AccessibilityRenderObject.cpp:
4067         (WebCore::AccessibilityRenderObject::selectedText): Calls HTMLTextFromControl::selectedText.
4068         (WebCore::AccessibilityRenderObject::selectedTextRange): Calls selectionStart and selectionEnd.
4069         (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
4070         * html/HTMLFormControlElement.cpp:
4071         (WebCore::HTMLTextFormControlElement::selectedText): Extracted from AccessibilityRenderObject::selectedText.
4072         (WebCore::hasVisibleTextArea):
4073         (WebCore::HTMLTextFormControlElement::setSelectionRange): Merged with the function of the same name in
4074         RenderTextControl.
4075         (WebCore::HTMLTextFormControlElement::selectionStart): Ditto.
4076         (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
4077         (WebCore::setContainerAndOffsetForRange): Moved from RenderTextControl.cpp
4078         (WebCore::HTMLTextFormControlElement::selection): Merged with the function of the same name in RenderTextControl.
4079         (WebCore::HTMLTextFormControlElement::selectionChanged): Calls selectionStart and selectionEnd.
4080         * html/HTMLFormControlElement.h:
4081         (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Moved from HTMLFormControlElement.cpp now that
4082         all functions are self-contained in HTMLTextFormControlElement.
4083         * html/HTMLInputElement.cpp:
4084         (WebCore::HTMLInputElement::setValue): Calls setSelectionRange.
4085         * rendering/RenderTextControl.cpp:
4086         (WebCore::RenderTextControl::textFormControlElement): Added.
4087         * rendering/RenderTextControl.h:
4088
4089 2011-07-08  Mike Reed  <reed@google.com>
4090
4091         remove (empty) indirection between GraphicsContextPlatformPrivate and PlatformContextSkia
4092         https://bugs.webkit.org/show_bug.cgi?id=64178
4093
4094         Reviewed by Stephen White.
4095
4096         No new tests. no functionality change, other than removing an indirection that is not needed
4097
4098         * platform/graphics/GraphicsContext.h:
4099         * platform/graphics/skia/GraphicsContextPlatformPrivate.h: Removed.
4100         * platform/graphics/skia/GraphicsContextSkia.cpp:
4101         (WebCore::GraphicsContext::platformInit):
4102         (WebCore::GraphicsContext::platformDestroy):
4103         (WebCore::GraphicsContext::platformContext):
4104
4105 2011-07-08  Jeffrey Pfau  <jpfau@apple.com>
4106
4107         Add framework for a new/dummy XMLDocumentParser
4108         https://bugs.webkit.org/show_bug.cgi?id=63955
4109
4110         Reviewed by Adam Barth.
4111
4112         Added a dummy framework NewXMLDocumentParser
4113
4114         * WebCore.xcodeproj/project.pbxproj:
4115         * dom/Document.cpp:
4116         (WebCore::Document::createParser):
4117         * xml/parser/NewXMLDocumentParser.cpp: Added.
4118         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
4119         (WebCore::NewXMLDocumentParser::textPosition):
4120         (WebCore::NewXMLDocumentParser::lineNumber):